Merge remote-tracking branch 'net/master'
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / rk3288-rock2-square.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3 /dts-v1/;
4 #include <dt-bindings/input/input.h>
5 #include "rk3288-rock2-som.dtsi"
6
7 / {
8         model = "Radxa Rock 2 Square";
9         compatible = "radxa,rock2-square", "rockchip,rk3288";
10
11         chosen {
12                 stdout-path = "serial2:115200n8";
13         };
14
15         adc-keys {
16                 compatible = "adc-keys";
17                 io-channels = <&saradc 1>;
18                 io-channel-names = "buttons";
19                 keyup-threshold-microvolt = <1800000>;
20
21                 button-recovery {
22                         label = "Recovery";
23                         linux,code = <KEY_VENDOR>;
24                         press-threshold-microvolt = <0>;
25                 };
26         };
27
28         gpio-keys {
29                 compatible = "gpio-keys";
30
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         };
40
41         gpio-leds {
42                 compatible = "gpio-leds";
43
44                 heartbeat {
45                         gpios = <&gpio7 RK_PB7 GPIO_ACTIVE_LOW>;
46                         label = "rock2:green:state1";
47                         linux,default-trigger = "heartbeat";
48                 };
49
50                 mmc {
51                         gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_LOW>;
52                         label = "rock2:blue:state2";
53                         linux,default-trigger = "mmc0";
54                 };
55         };
56
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         };
63
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         };
72
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         };
83
84         spdif_out: spdif-out {
85                 compatible = "linux,spdif-dit";
86                 #sound-dai-cells = <0>;
87         };
88
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         };
101
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         };
110
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         };
119
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         };
130 };
131
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";
143 };
144
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";
156 };
157
158 &gmac {
159         status = "ok";
160 };
161
162 &hdmi {
163         ddc-i2c-bus = <&i2c5>;
164         status = "okay";
165 };
166
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>;
178
179         };
180 };
181
182 &i2c2 {
183         status = "okay";
184
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         };
194 };
195
196 &i2c5 {
197         status = "okay";
198 };
199
200 &i2s {
201         status = "okay";
202 };
203
204 &pinctrl {
205         ir {
206                 ir_int: ir-int {
207                         rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_up>;
208                 };
209         };
210
211         keys {
212                 pwr_key: pwr-key {
213                         rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
214                 };
215         };
216
217         pmic {
218                 pmic_int: pmic-int {
219                         rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>;
220                 };
221         };
222
223         headphone {
224                 hp_det: hp-det {
225                         rockchip,pins = <7 7 RK_FUNC_GPIO &pcfg_pull_none>;
226                 };
227
228                 phone_ctl: phone-ctl {
229                         rockchip,pins = <8 0 RK_FUNC_GPIO &pcfg_pull_up>;
230                 };
231         };
232
233         usb {
234                 host_vbus_drv: host-vbus-drv {
235                         rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
236                 };
237         };
238
239         sata {
240                 sata_pwr_en: sata-pwr-en {
241                         rockchip,pins = <0 13 RK_FUNC_GPIO &pcfg_pull_none>;
242                 };
243         };
244
245         sdmmc {
246                 sdmmc_pwr: sdmmc-pwr {
247                         rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
248                 };
249         };
250
251         sdio {
252                 wifi_enable: wifi-enable {
253                         rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>;
254                 };
255         };
256 };
257
258 &saradc {
259         status = "okay";
260 };
261
262 &spdif {
263         status = "okay";
264 };
265
266 &uart2 {
267         status = "okay";
268 };
269
270 &usbphy {
271         status = "okay";
272 };
273
274 &usbphy1 {
275         vbus-supply = <&vcc_usb_host>;
276 };
277
278 &usb_host0_ehci {
279         status = "okay";
280 };
281
282 &usb_host1 {
283         status = "okay";
284 };
285
286 &usb_otg {
287         status = "okay";
288 };