WIP FPC-III support
[linux/fpc-iii.git] / arch / arm / boot / dts / rk3288-rock2-square.dts
blobc4d1d142d8c68d9afa5fbfc85f0bfc7d052d9955
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 /dts-v1/;
4 #include <dt-bindings/input/input.h>
5 #include "rk3288-rock2-som.dtsi"
7 / {
8         model = "Radxa Rock 2 Square";
9         compatible = "radxa,rock2-square", "rockchip,rk3288";
11         chosen {
12                 stdout-path = "serial2:115200n8";
13         };
15         adc-keys {
16                 compatible = "adc-keys";
17                 io-channels = <&saradc 1>;
18                 io-channel-names = "buttons";
19                 keyup-threshold-microvolt = <1800000>;
21                 button-recovery {
22                         label = "Recovery";
23                         linux,code = <KEY_VENDOR>;
24                         press-threshold-microvolt = <0>;
25                 };
26         };
28         gpio-keys {
29                 compatible = "gpio-keys";
31                 power {
32                         gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
33                         label = "GPIO Power";
34                         linux,code = <KEY_POWER>;
35                         pinctrl-names = "default";
36                         pinctrl-0 = <&pwr_key>;
37                         wakeup-source;
38                 };
39         };
41         gpio-leds {
42                 compatible = "gpio-leds";
44                 heartbeat_led: led-0 {
45                         gpios = <&gpio7 RK_PB7 GPIO_ACTIVE_LOW>;
46                         label = "rock2:green:state1";
47                         linux,default-trigger = "heartbeat";
48                 };
50                 mmc_led: led-1 {
51                         gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_LOW>;
52                         label = "rock2:blue:state2";
53                         linux,default-trigger = "mmc0";
54                 };
55         };
57         ir: ir-receiver {
58                 compatible = "gpio-ir-receiver";
59                 gpios = <&gpio8 RK_PA1 GPIO_ACTIVE_LOW>;
60                 pinctrl-names = "default";
61                 pinctrl-0 = <&ir_int>;
62         };
64         sound {
65                 compatible = "simple-audio-card";
66                 simple-audio-card,name = "SPDIF";
67                 simple-audio-card,dai-link@1 {  /* S/PDIF - S/PDIF */
68                         cpu { sound-dai = <&spdif>; };
69                         codec { sound-dai = <&spdif_out>; };
70                 };
71         };
73         sata_pwr: sata-prw-regulator {
74                 compatible = "regulator-fixed";
75                 enable-active-high;
76                 gpio = <&gpio0 13 GPIO_ACTIVE_HIGH>;
77                 pinctrl-names = "default";
78                 pinctrl-0 = <&sata_pwr_en>;
79                 /* Always turn on the 5V sata power connector */
80                 regulator-always-on;
81                 regulator-name = "sata_pwr";
82         };
84         spdif_out: spdif-out {
85                 compatible = "linux,spdif-dit";
86                 #sound-dai-cells = <0>;
87         };
89         sound-i2s {
90                 compatible = "rockchip,rk3288-hdmi-analog";
91                 pinctrl-names = "default";
92                 pinctrl-0 = <&phone_ctl>, <&hp_det>;
93                 rockchip,audio-codec = <&es8388>;
94                 rockchip,hp-det-gpios = <&gpio7 7 GPIO_ACTIVE_HIGH>;
95                 rockchip,hp-en-gpios = <&gpio8 0 GPIO_ACTIVE_HIGH>;
96                 rockchip,i2s-controller = <&i2s>;
97                 rockchip,model = "I2S";
98                 rockchip,routing = "Analog", "LOUT2",
99                                    "Analog", "ROUT2";
100         };
102         sdio_pwrseq: sdio-pwrseq {
103                 compatible = "mmc-pwrseq-simple";
104                 clocks = <&hym8563>;
105                 clock-names = "ext_clock";
106                 pinctrl-names = "default";
107                 pinctrl-0 = <&wifi_enable>;
108                 reset-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>;
109         };
111         vcc_usb_host: vcc-host-regulator {
112                 compatible = "regulator-fixed";
113                 enable-active-high;
114                 gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
115                 pinctrl-names = "default";
116                 pinctrl-0 = <&host_vbus_drv>;
117                 regulator-name = "vcc_host";
118         };
120         vcc_sd: sdmmc-regulator {
121                 compatible = "regulator-fixed";
122                 gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
123                 pinctrl-names = "default";
124                 pinctrl-0 = <&sdmmc_pwr>;
125                 regulator-name = "vcc_sd";
126                 regulator-min-microvolt = <3300000>;
127                 regulator-max-microvolt = <3300000>;
128                 vin-supply = <&vcc_io>;
129         };
132 &sdio0 {
133         bus-width = <4>;
134         cap-sd-highspeed;
135         cap-sdio-irq;
136         mmc-pwrseq = <&sdio_pwrseq>;
137         non-removable;
138         pinctrl-names = "default";
139         pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk &sdio0_int>;
140         vmmc-supply = <&vcc_io>;
141         vqmmc-supply = <&vcc_18>;
142         status = "okay";
145 &sdmmc {
146         bus-width = <4>;
147         cap-mmc-highspeed;
148         cap-sd-highspeed;
149         card-detect-delay = <200>;
150         disable-wp;     /* wp not hooked up */
151         pinctrl-names = "default";
152         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
153         vmmc-supply = <&vcc_sd>;
154         vqmmc-supply = <&vccio_sd>;
155         status = "okay";
158 &gmac {
159         status = "okay";
162 &hdmi {
163         ddc-i2c-bus = <&i2c5>;
164         status = "okay";
167 &i2c0 {
168         hym8563: hym8563@51 {
169                 compatible = "haoyu,hym8563";
170                 reg = <0x51>;
171                 #clock-cells = <0>;
172                 clock-frequency = <32768>;
173                 clock-output-names = "xin32k";
174                 interrupt-parent = <&gpio0>;
175                 interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>;
176                 pinctrl-names = "default";
177                 pinctrl-0 = <&pmic_int>;
179         };
182 &i2c2 {
183         status = "okay";
185         es8388: es8388@10 {
186                 compatible = "everest,es8388", "everest,es8328";
187                 reg = <0x10>;
188                 AVDD-supply = <&vccio_codec>;
189                 DVDD-supply = <&vccio_codec>;
190                 HPVDD-supply = <&vccio_codec>;
191                 PVDD-supply = <&vccio_codec>;
192                 clocks = <&cru SCLK_I2S0_OUT>;
193         };
196 &i2c5 {
197         status = "okay";
200 &i2s {
201         status = "okay";
204 &pinctrl {
205         ir {
206                 ir_int: ir-int {
207                         rockchip,pins = <8 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
208                 };
209         };
211         keys {
212                 pwr_key: pwr-key {
213                         rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
214                 };
215         };
217         pmic {
218                 pmic_int: pmic-int {
219                         rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
220                 };
221         };
223         headphone {
224                 hp_det: hp-det {
225                         rockchip,pins = <7 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
226                 };
228                 phone_ctl: phone-ctl {
229                         rockchip,pins = <8 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
230                 };
231         };
233         usb {
234                 host_vbus_drv: host-vbus-drv {
235                         rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
236                 };
237         };
239         sata {
240                 sata_pwr_en: sata-pwr-en {
241                         rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
242                 };
243         };
245         sdmmc {
246                 sdmmc_pwr: sdmmc-pwr {
247                         rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
248                 };
249         };
251         sdio {
252                 wifi_enable: wifi-enable {
253                         rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
254                 };
255         };
258 &saradc {
259         status = "okay";
262 &spdif {
263         status = "okay";
266 &uart2 {
267         status = "okay";
270 &usbphy {
271         status = "okay";
274 &usbphy1 {
275         vbus-supply = <&vcc_usb_host>;
278 &usb_host0_ehci {
279         status = "okay";
282 &usb_host1 {
283         status = "okay";
286 &usb_otg {
287         status = "okay";