Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / amlogic / meson-gxbb-kii-pro.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2019 Mohammad Rasim <mohammad.rasim96@gmail.com>
4  */
5
6 /dts-v1/;
7
8 #include "meson-gxbb-p20x.dtsi"
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/input/input.h>
11 #include <dt-bindings/leds/common.h>
12 #include <dt-bindings/sound/meson-aiu.h>
13
14 / {
15         compatible = "videostrong,kii-pro", "amlogic,meson-gxbb";
16         model = "Videostrong KII Pro";
17
18         spdif_dit: audio-codec-0 {
19                 #sound-dai-cells = <0>;
20                 compatible = "linux,spdif-dit";
21                 status = "okay";
22                 sound-name-prefix = "DIT";
23         };
24
25         leds {
26                 compatible = "gpio-leds";
27                 led {
28                         gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>;
29                         color = <LED_COLOR_ID_RED>;
30                         function = LED_FUNCTION_STATUS;
31                         default-state = "off";
32                 };
33         };
34
35         gpio-keys-polled {
36                 compatible = "gpio-keys-polled";
37                 poll-interval = <20>;
38
39                 button-reset {
40                         label = "reset";
41                         linux,code = <KEY_POWER>;
42                         gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
43                 };
44         };
45
46         sound {
47                 compatible = "amlogic,gx-sound-card";
48                 model = "KII-PRO";
49                 assigned-clocks = <&clkc CLKID_MPLL0>,
50                                   <&clkc CLKID_MPLL1>,
51                                   <&clkc CLKID_MPLL2>;
52                 assigned-clock-parents = <0>, <0>, <0>;
53                 assigned-clock-rates = <294912000>,
54                                        <270950400>,
55                                        <393216000>;
56
57                 dai-link-0 {
58                         sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
59                 };
60
61                 dai-link-1 {
62                         sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
63                 };
64
65                 dai-link-2 {
66                         sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
67                         dai-format = "i2s";
68                         mclk-fs = <256>;
69
70                         codec-0 {
71                                 sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
72                         };
73                 };
74
75                 dai-link-3 {
76                         sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
77
78                         codec-0 {
79                                 sound-dai = <&spdif_dit>;
80                         };
81                 };
82
83                 dai-link-4 {
84                         sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
85
86                         codec-0 {
87                                 sound-dai = <&hdmi_tx>;
88                         };
89                 };
90         };
91 };
92
93 &aiu {
94         status = "okay";
95         pinctrl-0 = <&spdif_out_y_pins>;
96         pinctrl-names = "default";
97 };
98
99 &ethmac {
100         status = "okay";
101         pinctrl-0 = <&eth_rmii_pins>;
102         pinctrl-names = "default";
103
104         phy-handle = <&eth_phy0>;
105         phy-mode = "rmii";
106
107         mdio {
108                 compatible = "snps,dwmac-mdio";
109                 #address-cells = <1>;
110                 #size-cells = <0>;
111
112                 eth_phy0: ethernet-phy@0 {
113                         /* IC Plus IP101GR (0x02430c54) */
114                         reg = <0>;
115                         reset-assert-us = <10000>;
116                         reset-deassert-us = <10000>;
117                         reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
118                 };
119         };
120 };
121
122 &ir {
123         linux,rc-map-name = "rc-videostrong-kii-pro";
124 };
125
126 &uart_A {
127         status = "okay";
128         pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
129         pinctrl-names = "default";
130         uart-has-rtscts;
131
132         bluetooth {
133                 compatible = "brcm,bcm4335a0";
134                 shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
135                 host-wakeup-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>;
136                 max-speed = <2000000>;
137                 clocks = <&wifi32k>;
138                 clock-names = "lpo";
139         };
140 };