Skip to content

Commit f95d090

Browse files
Heiko Stuebnermmind
authored andcommitted
arm64: dts: rockchip: add Haikou baseboard with RK3588-Q7 SoM
Haikou is a Qseven and μQseven baseboard featuring PCIe, USB3 and a video connector for a MIPI-DSI/CSI adapter. This dts is for usage with the RK3588-Q7 SoM Tiger. Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Link: https://lore.kernel.org/r/20240227164659.705271-5-heiko@sntech.de Signed-off-by: Heiko Stuebner <heiko@sntech.de>
1 parent 6173ef2 commit f95d090

2 files changed

Lines changed: 267 additions & 0 deletions

File tree

arch/arm64/boot/dts/rockchip/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nanopc-t6.dtb
116116
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-plus.dtb
117117
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-quartzpro64.dtb
118118
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb
119+
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou.dtb
119120
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-toybrick-x0.dtb
120121
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-turing-rk1.dtb
121122
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-coolpi-4b.dtb
Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,266 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (c) 2023 Theobroma Systems Design und Consulting GmbH
4+
*/
5+
6+
/dts-v1/;
7+
#include <dt-bindings/input/input.h>
8+
#include "rk3588-tiger.dtsi"
9+
10+
/ {
11+
model = "Theobroma Systems RK3588-Q7 SoM on Haikou devkit";
12+
compatible = "tsd,rk3588-tiger-haikou", "tsd,rk3588-tiger", "rockchip,rk3588";
13+
14+
aliases {
15+
ethernet0 = &gmac0;
16+
mmc1 = &sdmmc;
17+
};
18+
19+
chosen {
20+
stdout-path = "serial2:115200n8";
21+
};
22+
23+
dc_12v: dc-12v-regulator {
24+
compatible = "regulator-fixed";
25+
regulator-name = "dc_12v";
26+
regulator-always-on;
27+
regulator-boot-on;
28+
regulator-min-microvolt = <12000000>;
29+
regulator-max-microvolt = <12000000>;
30+
};
31+
32+
gpio-keys {
33+
compatible = "gpio-keys";
34+
pinctrl-names = "default";
35+
pinctrl-0 = <&haikou_keys_pin>;
36+
37+
button-batlow-n {
38+
label = "BATLOW#";
39+
linux,code = <KEY_BATTERY>;
40+
gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
41+
};
42+
43+
button-slp-btn-n {
44+
label = "SLP_BTN#";
45+
linux,code = <KEY_SLEEP>;
46+
gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
47+
};
48+
49+
button-wake-n {
50+
label = "WAKE#";
51+
linux,code = <KEY_WAKEUP>;
52+
gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
53+
wakeup-source;
54+
};
55+
56+
switch-lid-btn-n {
57+
label = "LID_BTN#";
58+
linux,code = <SW_LID>;
59+
linux,input-type = <EV_SW>;
60+
gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>;
61+
};
62+
};
63+
64+
i2s3-sound {
65+
compatible = "simple-audio-card";
66+
simple-audio-card,format = "i2s";
67+
simple-audio-card,name = "Haikou,I2S-codec";
68+
simple-audio-card,mclk-fs = <512>;
69+
simple-audio-card,frame-master = <&sgtl5000_codec>;
70+
simple-audio-card,bitclock-master = <&sgtl5000_codec>;
71+
72+
sgtl5000_codec: simple-audio-card,codec {
73+
sound-dai = <&sgtl5000>;
74+
};
75+
76+
simple-audio-card,cpu {
77+
sound-dai = <&i2s3_2ch>;
78+
};
79+
};
80+
81+
sgtl5000_clk: sgtl5000-oscillator {
82+
compatible = "fixed-clock";
83+
#clock-cells = <0>;
84+
clock-frequency = <24576000>;
85+
};
86+
87+
vcc3v3_baseboard: vcc3v3-baseboard-regulator {
88+
compatible = "regulator-fixed";
89+
regulator-name = "vcc3v3_baseboard";
90+
regulator-always-on;
91+
regulator-boot-on;
92+
regulator-min-microvolt = <3300000>;
93+
regulator-max-microvolt = <3300000>;
94+
vin-supply = <&dc_12v>;
95+
};
96+
97+
vcc3v3_low_noise: vcc3v3-low-noise-regulator {
98+
compatible = "regulator-fixed";
99+
regulator-name = "vcc3v3_low_noise";
100+
regulator-boot-on;
101+
regulator-min-microvolt = <3300000>;
102+
regulator-max-microvolt = <3300000>;
103+
vin-supply = <&vcc5v0_usb>;
104+
};
105+
106+
vcc5v0_baseboard: vcc5v0-baseboard-regulator {
107+
compatible = "regulator-fixed";
108+
regulator-name = "vcc5v0_baseboard";
109+
regulator-always-on;
110+
regulator-boot-on;
111+
regulator-min-microvolt = <5000000>;
112+
regulator-max-microvolt = <5000000>;
113+
vin-supply = <&dc_12v>;
114+
};
115+
116+
vcc5v0_usb: vcc5v0-usb-regulator {
117+
compatible = "regulator-fixed";
118+
regulator-name = "vcc5v0_usb";
119+
regulator-always-on;
120+
regulator-boot-on;
121+
regulator-min-microvolt = <5000000>;
122+
regulator-max-microvolt = <5000000>;
123+
vin-supply = <&dc_12v>;
124+
};
125+
126+
vddd_audio_1v6: vddd-audio-1v6-regulator {
127+
compatible = "regulator-fixed";
128+
regulator-name = "vddd_audio_1v6";
129+
regulator-boot-on;
130+
regulator-min-microvolt = <1600000>;
131+
regulator-max-microvolt = <1600000>;
132+
vin-supply = <&vcc5v0_usb>;
133+
};
134+
};
135+
136+
&combphy2_psu {
137+
status = "okay";
138+
};
139+
140+
&gmac0 {
141+
status = "okay";
142+
};
143+
144+
&i2c1 {
145+
status = "okay";
146+
147+
eeprom@50 {
148+
reg = <0x50>;
149+
compatible = "atmel,24c01";
150+
pagesize = <8>;
151+
size = <128>;
152+
vcc-supply = <&vcc3v3_baseboard>;
153+
};
154+
};
155+
156+
&i2c5 {
157+
clock-frequency = <400000>;
158+
status = "okay";
159+
160+
sgtl5000: codec@a {
161+
compatible = "fsl,sgtl5000";
162+
reg = <0x0a>;
163+
clocks = <&sgtl5000_clk>;
164+
#sound-dai-cells = <0>;
165+
VDDA-supply = <&vcc3v3_low_noise>;
166+
VDDIO-supply = <&vcc3v3_baseboard>;
167+
VDDD-supply = <&vddd_audio_1v6>;
168+
};
169+
};
170+
171+
&i2c8 {
172+
status = "okay";
173+
};
174+
175+
&i2s3_2ch {
176+
status = "okay";
177+
};
178+
179+
&pcie30phy {
180+
status = "okay";
181+
};
182+
183+
&pcie3x4 {
184+
vpcie3v3-supply = <&vcc3v3_baseboard>;
185+
status = "okay";
186+
};
187+
188+
&pinctrl {
189+
haikou {
190+
haikou_keys_pin: haikou-keys-pin {
191+
rockchip,pins =
192+
/* BATLOW# */
193+
<3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
194+
/* SLP_BTN# */
195+
<4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
196+
/* WAKE# */
197+
<3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>,
198+
/* LID_BTN */
199+
<3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
200+
};
201+
};
202+
};
203+
204+
&sdmmc {
205+
/* while the same pin, sdmmc_det does not detect card changes */
206+
cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
207+
disable-wp;
208+
pinctrl-0 = <&sdmmc_bus4 &sdmmc_cmd &sdmmc_clk>;
209+
sd-uhs-sdr12;
210+
sd-uhs-sdr25;
211+
sd-uhs-sdr50;
212+
sd-uhs-sdr104;
213+
vmmc-supply = <&vcc3v3_baseboard>;
214+
status = "okay";
215+
};
216+
217+
&u2phy2 {
218+
status = "okay";
219+
};
220+
221+
&u2phy2_host {
222+
status = "okay";
223+
};
224+
225+
&u2phy3 {
226+
status = "okay";
227+
};
228+
229+
&u2phy3_host {
230+
status = "okay";
231+
};
232+
233+
&uart2 {
234+
pinctrl-0 = <&uart2m2_xfer>;
235+
status = "okay";
236+
};
237+
238+
&uart5 {
239+
rts-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
240+
status = "okay";
241+
};
242+
243+
/* host0 on Q7_USB_P2, lower usb3 port */
244+
&usb_host0_ehci {
245+
status = "okay";
246+
};
247+
248+
/* host0 on Q7_USB_P2, lower usb3 port */
249+
&usb_host0_ohci {
250+
status = "okay";
251+
};
252+
253+
/* host1 on Q7_USB_P3, usb2 port */
254+
&usb_host1_ehci {
255+
status = "okay";
256+
};
257+
258+
/* host1 on Q7_USB_P3, usb2 port */
259+
&usb_host1_ohci {
260+
status = "okay";
261+
};
262+
263+
/* host2 on Q7_USB_P2, lower usb3 port */
264+
&usb_host2_xhci {
265+
status = "okay";
266+
};

0 commit comments

Comments
 (0)