xref: /linux/scripts/dtc/include-prefixes/arm/rockchip/rv1109-relfor-saib.dts (revision c34e9ab9a612ee8b18273398ef75c207b01f516d)
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};
423