blob: d80d6b72682068fc6ad4f51d1a039db915518ba7 [file] [log] [blame]
Heiko Stuebnere2a55862020-06-05 12:06:40 +02001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2017 Theobroma Systems Design und Consulting GmbH
4 */
5
6/dts-v1/;
7#include "rk3399-puma.dtsi"
8
9/ {
10 model = "Theobroma Systems RK3399-Q7 SoM";
11 compatible = "tsd,rk3399-puma-haikou", "rockchip,rk3399";
12
13 chosen {
14 stdout-path = "serial0:115200n8";
15 };
16
17 leds {
18 pinctrl-0 = <&led_pin_module>, <&led_sd_haikou>;
19
20 sd-card-led {
21 label = "sd_card_led";
22 gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
23 linux,default-trigger = "mmc0";
24 };
25 };
26
27 i2s0-sound {
28 compatible = "simple-audio-card";
29 simple-audio-card,format = "i2s";
30 simple-audio-card,name = "Haikou,I2S-codec";
31 simple-audio-card,mclk-fs = <512>;
32
33 simple-audio-card,codec {
34 clocks = <&sgtl5000_clk>;
35 sound-dai = <&sgtl5000>;
36 };
37
38 simple-audio-card,cpu {
39 bitclock-master;
40 frame-master;
41 sound-dai = <&i2s0>;
42 };
43 };
44
45 sgtl5000_clk: sgtl5000-oscillator {
46 compatible = "fixed-clock";
47 #clock-cells = <0>;
48 clock-frequency = <24576000>;
49 };
50
51 dc_12v: dc-12v {
52 compatible = "regulator-fixed";
53 regulator-name = "dc_12v";
54 regulator-always-on;
55 regulator-boot-on;
56 regulator-min-microvolt = <12000000>;
57 regulator-max-microvolt = <12000000>;
58 };
59
60 vcc3v3_baseboard: vcc3v3-baseboard {
61 compatible = "regulator-fixed";
62 regulator-name = "vcc3v3_baseboard";
63 regulator-always-on;
64 regulator-boot-on;
65 regulator-min-microvolt = <3300000>;
66 regulator-max-microvolt = <3300000>;
67 vin-supply = <&dc_12v>;
68 };
69
70 vcc5v0_baseboard: vcc5v0-baseboard {
71 compatible = "regulator-fixed";
72 regulator-name = "vcc5v0_baseboard";
73 regulator-always-on;
74 regulator-boot-on;
75 regulator-min-microvolt = <5000000>;
76 regulator-max-microvolt = <5000000>;
77 vin-supply = <&dc_12v>;
78 };
79
80 vcc5v0_otg: vcc5v0-otg-regulator {
81 compatible = "regulator-fixed";
82 enable-active-high;
83 gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
84 pinctrl-names = "default";
85 pinctrl-0 = <&otg_vbus_drv>;
86 regulator-name = "vcc5v0_otg";
87 regulator-always-on;
88 };
89
90 vdda_codec: vdda-codec {
91 compatible = "regulator-fixed";
92 regulator-name = "vdda_codec";
93 regulator-boot-on;
94 regulator-min-microvolt = <3300000>;
95 regulator-max-microvolt = <3300000>;
96 vin-supply = <&vcc5v0_baseboard>;
97 };
98
99 vddd_codec: vddd-codec {
100 compatible = "regulator-fixed";
101 regulator-name = "vddd_codec";
102 regulator-boot-on;
103 regulator-min-microvolt = <1600000>;
104 regulator-max-microvolt = <1600000>;
105 vin-supply = <&vcc5v0_baseboard>;
106 };
107};
108
109&hdmi {
110 ddc-i2c-bus = <&i2c3>;
111 status = "okay";
112};
113
114&i2c1 {
115 status = "okay";
116 clock-frequency = <400000>;
117};
118
119&i2c2 {
120 status = "okay";
121 clock-frequency = <400000>;
122};
123
124&i2c3 {
125 i2c-scl-rising-time-ns = <450>;
126 i2c-scl-falling-time-ns = <15>;
127 status = "okay";
128};
129
130&i2c4 {
131 status = "okay";
132 clock-frequency = <400000>;
133
134 sgtl5000: codec@a {
135 compatible = "fsl,sgtl5000";
136 reg = <0x0a>;
137 clocks = <&sgtl5000_clk>;
138 #sound-dai-cells = <0>;
139 VDDA-supply = <&vdda_codec>;
140 VDDIO-supply = <&vdda_codec>;
141 VDDD-supply = <&vddd_codec>;
142 status = "okay";
143 };
144};
145
146&i2c6 {
147 status = "okay";
148 clock-frequency = <400000>;
149};
150
151&pcie_phy {
152 status = "okay";
153};
154
155&pcie0 {
156 ep-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
157 num-lanes = <4>;
158 pinctrl-names = "default";
159 pinctrl-0 = <&pcie_clkreqn_cpm>;
160 status = "okay";
161};
162
163&pinctrl {
164 pinctrl-names = "default";
165 pinctrl-0 = <&haikou_pin_hog>;
166
167 hog {
168 haikou_pin_hog: haikou-pin-hog {
169 rockchip,pins =
170 /* LID_BTN */
171 <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
172 /* BATLOW# */
173 <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
174 /* SLP_BTN# */
175 <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
176 /* BIOS_DISABLE# */
177 <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
178 };
179 };
180
181 leds {
182 led_sd_haikou: led-sd-gpio {
183 rockchip,pins =
184 <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
185 };
186 };
187
188 usb2 {
189 otg_vbus_drv: otg-vbus-drv {
190 rockchip,pins =
191 <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
192 };
193 };
194};
195
196&pwm0 {
197 status = "okay";
198};
199
200&sdmmc {
201 bus-width = <4>;
202 cap-mmc-highspeed;
203 cap-sd-highspeed;
204 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
205 disable-wp;
206 max-frequency = <150000000>;
207 pinctrl-names = "default";
208 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
209 vmmc-supply = <&vcc3v3_baseboard>;
210 status = "okay";
211};
212
213&spi5 {
214 status = "okay";
215};
216
217&tcphy0 {
218 status = "okay";
219};
220
221&u2phy0 {
222 status = "okay";
223};
224
225&usbdrd3_0 {
226 status = "okay";
227};
228
229&usbdrd_dwc3_0 {
230 dr_mode = "otg";
231 status = "okay";
232};
233
234&u2phy0_host {
235 phy-supply = <&vcc5v0_otg>;
236 status = "okay";
237};
238
239&uart0 {
240 pinctrl-names = "default";
241 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
242 status = "okay";
243};
244
245&uart2 {
246 status = "okay";
247};
248
249&usb_host0_ehci {
250 status = "okay";
251};
252
253&usb_host0_ohci {
254 status = "okay";
255};
256
257&vopb {
258 status = "okay";
259};
260
261&vopb_mmu {
262 status = "okay";
263};
264
265&vopl {
266 status = "okay";
267};
268
269&vopl_mmu {
270 status = "okay";
271};