Loading...
Note: File does not exist in v6.2.
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2024 Relfor Labs Pvt. Ltd.
4 */
5
6
7/dts-v1/;
8#include "rv1109.dtsi"
9#include <dt-bindings/leds/common.h>
10#include <dt-bindings/input/input.h>
11
12/ {
13 model = "Rockchip RV1109 Relfor Saib Board";
14 compatible = "relfor,saib", "rockchip,rv1109";
15
16 gpio-keys {
17 compatible = "gpio-keys";
18
19 button {
20 gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_HIGH>;
21 linux,code = <KEY_DATA>;
22 label = "GPIO User Switch";
23 linux,input-type = <1>;
24 };
25 };
26
27 ir_receiver: ir-receiver {
28 compatible = "gpio-ir-receiver";
29 gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
30 pinctrl-names = "default";
31 pinctrl-0 = <&ir_rx>;
32 };
33
34 ir_transmitter: ir-transmitter {
35 compatible = "pwm-ir-tx";
36 pwms = <&pwm11 0 10000000 1>;
37 };
38
39 led-controller {
40 compatible = "pwm-leds-multicolor";
41
42 multi-led {
43 color = <LED_COLOR_ID_RGB>;
44 function = LED_FUNCTION_INDICATOR;
45 max-brightness = <65535>;
46
47 led-0 {
48 active-low;
49 color = <LED_COLOR_ID_BLUE>;
50 pwms = <&pwm9 0 50000 0>;
51 };
52
53 led-1 {
54 active-low;
55 color = <LED_COLOR_ID_GREEN>;
56 pwms = <&pwm6 0 50000 0>;
57 };
58
59 led-2 {
60 active-low;
61 color = <LED_COLOR_ID_RED>;
62 pwms = <&pwm10 0 50000 0>;
63 };
64 };
65 };
66
67 pwm-leds {
68 compatible = "pwm-leds";
69
70 led-0 {
71 pwms = <&pwm2 0 50000 0>;
72 max-brightness = <255>;
73 linux,default-trigger = "none";
74 };
75
76 led-1 {
77 pwms = <&pwm8 0 50000 0>;
78 max-brightness = <0>;
79 linux,default-trigger = "none";
80 };
81
82 led-2 {
83 pwms = <&pwm5 0 50000 0>;
84 max-brightness = <255>;
85 linux,default-trigger = "none";
86 };
87 };
88
89 sdio_pwrseq: pwrseq-sdio {
90 compatible = "mmc-pwrseq-simple";
91 clocks = <&rtc0>;
92 clock-names = "ext_clock";
93 pinctrl-names = "default";
94 pinctrl-0 = <&wifi_enable_h>;
95 reset-gpios = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>;
96 };
97
98 vcc_0v8: regulator-vcc-0v8 {
99 compatible = "regulator-fixed";
100 regulator-name = "vcc_0v8";
101 regulator-min-microvolt = <800000>;
102 regulator-max-microvolt = <800000>;
103 regulator-always-on;
104 regulator-boot-on;
105 startup-delay-us = <150>;
106 vin-supply = <&vcc5v0_sys>;
107 };
108
109 vcc_1v2_ddr: regulator-vcc-1v2-ddr {
110 compatible = "regulator-fixed";
111 regulator-name = "vcc_1v2_ddr";
112 regulator-min-microvolt = <1200000>;
113 regulator-max-microvolt = <1200000>;
114 regulator-always-on;
115 regulator-boot-on;
116 startup-delay-us = <75000>;
117 vin-supply = <&vcc5v0_sys>;
118 };
119
120 vcc_1v8: regulator-vcc-1v8 {
121 compatible = "regulator-fixed";
122 regulator-name = "vcc_1v8";
123 regulator-min-microvolt = <1800000>;
124 regulator-max-microvolt = <1800000>;
125 regulator-always-on;
126 regulator-boot-on;
127 startup-delay-us = <51000>;
128 vin-supply = <&vcc5v0_sys>;
129 };
130
131 vcc1v8_ir: regulator-vcc1v8-ir {
132 compatible = "regulator-fixed";
133 regulator-name = "vcc1v8_ir";
134 regulator-min-microvolt = <1800000>;
135 regulator-max-microvolt = <1800000>;
136 regulator-always-on;
137 regulator-boot-on;
138 vin-supply = <&vcc5v0_sys>;
139 };
140
141 vcc_2v5_ddr: regulator-vcc-2v5-ddr {
142 compatible = "regulator-fixed";
143 regulator-name = "vcc_2v5_ddr";
144 regulator-min-microvolt = <2500000>;
145 regulator-max-microvolt = <2500000>;
146 regulator-always-on;
147 regulator-boot-on;
148 vin-supply = <&vcc3v3_sys>;
149 };
150
151 vcc3v3_sys: regulator-vcc3v3-sys {
152 compatible = "regulator-fixed";
153 regulator-name = "vcc3v3_sys";
154 regulator-min-microvolt = <3300000>;
155 regulator-max-microvolt = <3300000>;
156 regulator-always-on;
157 regulator-boot-on;
158 startup-delay-us = <75000>;
159 vin-supply = <&vcc5v0_sys>;
160 };
161
162 vcc5v0_sys: regulator-vcc5v0-sys {
163 compatible = "regulator-fixed";
164 regulator-name = "vcc5v0_sys";
165 regulator-min-microvolt = <5000000>;
166 regulator-max-microvolt = <5000000>;
167 regulator-always-on;
168 regulator-boot-on;
169 };
170
171 vdd_arm: regulator-vdd-arm {
172 compatible = "pwm-regulator";
173 pwms = <&pwm0 0 5000 1>;
174 regulator-name = "vdd_arm";
175 regulator-min-microvolt = <720000>;
176 regulator-max-microvolt = <1000000>;
177 regulator-settling-time-up-us = <18000>;
178 regulator-always-on;
179 regulator-boot-on;
180 pwm-supply = <&vcc3v3_sys>;
181 vin-supply = <&vcc5v0_sys>;
182 };
183
184 vdd_npu_vepu: regulator-vdd-npu-vepu {
185 compatible = "pwm-regulator";
186 pwms = <&pwm1 0 5000 1>;
187 regulator-name = "vdd_npu_vepu";
188 regulator-min-microvolt = <650000>;
189 regulator-max-microvolt = <950000>;
190 regulator-settling-time-up-us = <18000>;
191 regulator-always-on;
192 regulator-boot-on;
193 pwm-supply = <&vcc3v3_sys>;
194 vin-supply = <&vcc5v0_sys>;
195 };
196
197 thermal_sensor1: thermal-sensor1 {
198 compatible = "generic-adc-thermal";
199 #thermal-sensor-cells = <0>;
200 io-channels = <&saradc 1>;
201 io-channel-names = "sensor-channel";
202 temperature-lookup-table = <(-40000) 826
203 85000 609>;
204 };
205
206 thermal_sensor2: thermal-sensor2 {
207 compatible = "generic-adc-thermal";
208 #thermal-sensor-cells = <0>;
209 io-channels = <&saradc 2>;
210 io-channel-names = "sensor-channel";
211 temperature-lookup-table = <(-40000) 826
212 85000 609>;
213 };
214};
215
216&cpu0 {
217 cpu-supply = <&vdd_arm>;
218};
219
220&cpu1 {
221 cpu-supply = <&vdd_arm>;
222};
223
224&emmc {
225 bus-width = <8>;
226 non-removable;
227 pinctrl-0 = <&emmc_bus8 &emmc_cmd &emmc_clk>;
228 pinctrl-names = "default";
229 rockchip,default-sample-phase = <90>;
230 vmmc-supply = <&vcc3v3_sys>;
231 status = "okay";
232};
233
234&i2c3 {
235 pinctrl-0 = <&i2c3m2_xfer>;
236 pinctrl-names = "default";
237 status = "okay";
238
239 rtc0: rtc@52 {
240 compatible = "microcrystal,rv3028";
241 reg = <0x52>;
242 #clock-cells = <0>;
243 interrupt-parent = <&gpio2>;
244 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
245 pinctrl-0 = <&rtc_int>;
246 pinctrl-names = "default";
247 };
248};
249
250&i2s0 {
251 /delete-property/ pinctrl-0;
252 rockchip,trcm-sync-rx-only;
253 pinctrl-0 = <&i2s0m0_sclk_rx>,
254 <&i2s0m0_lrck_rx>,
255 <&i2s0m0_sdi0>;
256 pinctrl-names = "default";
257 status = "okay";
258};
259
260&pinctrl {
261 bluetooth-pins {
262 bt_reset: bt-reset {
263 rockchip,pins =
264 <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
265 };
266 bt_wake_dev: bt-wake-dev {
267 rockchip,pins =
268 <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
269 };
270 bt_wake_host: bt-wake-host {
271 rockchip,pins =
272 <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>;
273 };
274 };
275
276 buttons {
277 switch: switch {
278 rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
279 };
280 };
281
282 ir {
283 ir_rx: ir-rx {
284 rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
285 };
286 };
287
288 pwm {
289 pwm0m0_pins_pull_up: pwm0m0-pins-pull-up {
290 rockchip,pins =
291 /* pwm0_pin_m0 */
292 <0 RK_PB6 3 &pcfg_pull_up>;
293 };
294 pwm1m0_pins_pull_up: pwm1m0-pins-pull-up {
295 rockchip,pins =
296 /* pwm1_pin_m0 */
297 <0 RK_PB7 3 &pcfg_pull_up>;
298 };
299 };
300
301 rtc {
302 rtc_int: rtc-int {
303 rockchip,pins = <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
304 };
305 };
306
307 sdio-pwrseq {
308 wifi_enable_h: wifi-enable-h {
309 rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
310 };
311 };
312};
313
314&pmu_io_domains {
315 pmuio0-supply = <&vcc3v3_sys>;
316 pmuio1-supply = <&vcc3v3_sys>;
317 vccio4-supply = <&vcc3v3_sys>;
318 vccio5-supply = <&vcc3v3_sys>;
319 vccio6-supply = <&vcc3v3_sys>;
320 vccio7-supply = <&vcc3v3_sys>;
321 status = "okay";
322};
323
324&pwm0 {
325 /delete-property/ pinctrl-0;
326 pinctrl-0 = <&pwm0m0_pins_pull_up>;
327 pinctrl-names = "default";
328 status = "okay";
329};
330
331&pwm1 {
332 /delete-property/ pinctrl-0;
333 pinctrl-0 = <&pwm1m0_pins_pull_up>;
334 pinctrl-names = "default";
335 status = "okay";
336};
337
338&pwm2 {
339 /delete-property/ pinctrl-0;
340 pinctrl-0 = <&pwm2m1_pins>;
341 pinctrl-names = "default";
342 status = "okay";
343};
344
345&pwm5 {
346 pinctrl-0 = <&pwm5m0_pins>;
347 pinctrl-names = "default";
348 status = "okay";
349};
350
351&pwm6 {
352 pinctrl-0 = <&pwm6m0_pins>;
353 pinctrl-names = "default";
354 status = "okay";
355};
356
357&pwm8 {
358 pinctrl-0 = <&pwm8m1_pins>;
359 pinctrl-names = "default";
360 status = "okay";
361};
362
363&pwm9 {
364 pinctrl-0 = <&pwm9m1_pins>;
365 pinctrl-names = "default";
366 status = "okay";
367};
368
369&pwm10 {
370 pinctrl-0 = <&pwm10m1_pins>;
371 pinctrl-names = "default";
372 status = "okay";
373};
374
375&pwm11 {
376 /delete-property/ pinctrl-0;
377 pinctrl-0 = <&pwm11m1_pins>;
378 pinctrl-names = "default";
379 status = "okay";
380};
381
382&saradc {
383 vref-supply = <&vcc_1v8>;
384 status = "okay";
385};
386
387&sdio {
388 bus-width = <4>;
389 cap-sd-highspeed;
390 cap-sdio-irq;
391 max-frequency = <100000000>;
392 mmc-pwrseq = <&sdio_pwrseq>;
393 no-mmc;
394 no-sd;
395 non-removable;
396 pinctrl-0 = <&sdmmc1_clk &sdmmc1_cmd &sdmmc1_bus4>;
397 pinctrl-names = "default";
398 sd-uhs-sdr104;
399 vmmc-supply = <&vcc3v3_sys>;
400 status = "okay";
401};
402
403&uart0 {
404 pinctrl-0 = <&uart0_xfer &uart0_ctsn &uart0_rtsn>;
405 pinctrl-names = "default";
406 status = "okay";
407
408 bluetooth {
409 compatible = "realtek,rtl8822cs-bt";
410 device-wake-gpios = <&gpio1 RK_PC5 GPIO_ACTIVE_HIGH>;
411 enable-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
412 host-wake-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
413 pinctrl-0 = <&bt_reset>, <&bt_wake_dev>, <&bt_wake_host>;
414 pinctrl-names = "default";
415 };
416};
417
418&uart2 {
419 pinctrl-0 = <&uart2m1_xfer>;
420 pinctrl-names = "default";
421 status = "okay";
422};