xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3308-sakurapi-rk3308b.dts (revision b9a10f876409bf3768178f4aded199e193ddbe33)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2019 Akash Gajjar <akash@openedev.com>
4 * Copyright (c) 2019 Jagan Teki <jagan@openedev.com>
5 * Copyright (C) 2024 TheSnowfield <thesnowfield@sakurapi.org>
6 * Copyright (C) 2025 Hsun Lai <i@chainsx.cn>
7 */
8
9/dts-v1/;
10#include "rk3308.dtsi"
11#include <dt-bindings/leds/common.h>
12
13/ {
14	model = "Sakura Pi RK3308B";
15	compatible = "sakurapi,rk3308-sakurapi-rk3308b", "rockchip,rk3308";
16
17	aliases {
18		mmc0 = &emmc;
19		mmc1 = &sdmmc;
20		mmc2 = &sdio;
21	};
22
23	chosen {
24		stdout-path = "serial2:1500000n8";
25	};
26
27	vcc5v0_sys: regulator-vcc5v0-sys {
28		compatible = "regulator-fixed";
29		regulator-name = "vcc5v0_sys";
30		regulator-always-on;
31		regulator-boot-on;
32		regulator-min-microvolt = <5000000>;
33		regulator-max-microvolt = <5000000>;
34	};
35
36	vdd_core: regulator-vdd-core {
37		compatible = "pwm-regulator";
38		pwms = <&pwm0 0 5000 1>;
39		regulator-name = "vdd_core";
40		regulator-min-microvolt = <827000>;
41		regulator-max-microvolt = <1340000>;
42		regulator-settling-time-up-us = <250>;
43		regulator-always-on;
44		regulator-boot-on;
45		pwm-supply = <&vcc5v0_sys>;
46	};
47
48	vdd_log: regulator-vdd-log {
49		compatible = "regulator-fixed";
50		regulator-name = "vdd_log";
51		regulator-always-on;
52		regulator-boot-on;
53		regulator-min-microvolt = <1050000>;
54		regulator-max-microvolt = <1050000>;
55		vin-supply = <&vcc5v0_sys>;
56	};
57
58	vcc_ddr: regulator-vcc-ddr {
59		compatible = "regulator-fixed";
60		regulator-name = "vcc_ddr";
61		regulator-always-on;
62		regulator-boot-on;
63		regulator-min-microvolt = <1500000>;
64		regulator-max-microvolt = <1500000>;
65		vin-supply = <&vcc5v0_sys>;
66	};
67
68	vcc_1v8: regulator-vcc-1v8 {
69		compatible = "regulator-fixed";
70		regulator-name = "vcc_1v8";
71		regulator-always-on;
72		regulator-boot-on;
73		regulator-min-microvolt = <1800000>;
74		regulator-max-microvolt = <1800000>;
75		vin-supply = <&vcc_io>;
76	};
77
78	vcc_io: regulator-vcc-io {
79		compatible = "regulator-fixed";
80		regulator-name = "vcc_io";
81		regulator-always-on;
82		regulator-boot-on;
83		regulator-min-microvolt = <3300000>;
84		regulator-max-microvolt = <3300000>;
85		vin-supply = <&vcc5v0_sys>;
86	};
87
88	vcc_phy: regulator-vcc-phy-regulator {
89		compatible = "regulator-fixed";
90		regulator-name = "vcc_phy";
91		regulator-always-on;
92		regulator-boot-on;
93	};
94
95	vcc5v0_otg: regulator-vcc5v0-otg {
96		compatible = "regulator-fixed";
97		enable-active-high;
98		gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
99		pinctrl-names = "default";
100		pinctrl-0 = <&otg_vbus_drv>;
101		regulator-name = "vcc5v0_otg";
102		regulator-always-on;
103		vin-supply = <&vcc5v0_sys>;
104	};
105
106	sdio_pwrseq: sdio-pwrseq {
107		compatible = "mmc-pwrseq-simple";
108		pinctrl-0 = <&wifi_enable_h>;
109		pinctrl-names = "default";
110		/*
111		 * On the module itself this is one of these (depending
112		 * on the actual card populated):
113		 * - SDIO_RESET_L_WL_REG_ON
114		 * - PDN (power down when low)
115		 */
116		reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
117	};
118};
119
120&cpu0 {
121	cpu-supply = <&vdd_core>;
122};
123
124&emmc {
125	bus-width = <8>;
126	cap-mmc-highspeed;
127	non-removable;
128	status = "okay";
129};
130
131&i2c1 {
132	status = "okay";
133};
134
135&pinctrl {
136	pinctrl-names = "default";
137	pinctrl-0 = <&rtc_32k>;
138
139	bluetooth {
140		bt_reg_on: bt-reg-on {
141			rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
142		};
143
144		bt_wake_host: bt-wake-host {
145			rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
146		};
147
148		host_wake_bt: host-wake-bt {
149			rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
150		};
151	};
152
153	sdio-pwrseq {
154		wifi_enable_h: wifi-enable-h {
155			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
156		};
157	};
158
159	usb {
160		otg_vbus_drv: otg-vbus-drv {
161			rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
162		};
163	};
164
165	wifi {
166		wifi_host_wake: wifi-host-wake {
167			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
168		};
169	};
170};
171
172&pwm0 {
173	status = "okay";
174	pinctrl-0 = <&pwm0_pin_pull_down>;
175};
176
177&pwm3 {
178	status = "okay";
179};
180
181&saradc {
182	vref-supply = <&vcc_1v8>;
183	status = "okay";
184};
185
186&sdio {
187	#address-cells = <1>;
188	#size-cells = <0>;
189	cap-sd-highspeed;
190	cap-sdio-irq;
191	keep-power-in-suspend;
192	mmc-pwrseq = <&sdio_pwrseq>;
193	non-removable;
194	no-mmc;
195	no-sd;
196	status = "okay";
197
198	brcmf: wifi@1 {
199		compatible = "brcm,bcm43455-fmac", "brcm,bcm4329-fmac";
200		reg = <1>;
201		interrupt-parent = <&gpio0>;
202		interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
203		interrupt-names = "host-wake";
204		pinctrl-names = "default";
205		pinctrl-0 = <&wifi_host_wake>;
206	};
207};
208
209&sdmmc {
210	cap-mmc-highspeed;
211	cap-sd-highspeed;
212	disable-wp;
213	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
214	card-detect-delay = <800>;
215	status = "okay";
216};
217
218&uart2 {
219	pinctrl-names = "default";
220	pinctrl-0 = <&uart2m0_xfer>;
221	status = "okay";
222};
223
224&uart4 {
225	pinctrl-names = "default";
226	uart-has-rtscts;
227	status = "okay";
228
229	bluetooth {
230		compatible = "brcm,bcm4345c5";
231		clocks = <&cru SCLK_RTC32K>;
232		clock-names = "lpo";
233		pinctrl-names = "default";
234		pinctrl-0 = <&host_wake_bt &bt_wake_host &bt_reg_on>;
235		device-wakeup-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
236		host-wakeup-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
237		shutdown-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
238		max-speed = <1500000>;
239	};
240};
241
242&u2phy {
243	status = "okay";
244};
245
246&u2phy_otg {
247	status = "okay";
248};
249
250&u2phy_host {
251	status = "okay";
252};
253
254&usb20_otg {
255	dr_mode = "peripheral";
256	status = "okay";
257};
258
259&usb_host_ehci {
260	status = "okay";
261};
262
263&usb_host_ohci {
264	status = "okay";
265};
266