xref: /linux/scripts/dtc/include-prefixes/arm/rockchip/rv1126-alientek-dlrv1126.dts (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1*44045aa7SYanan He// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*44045aa7SYanan He/*
3*44045aa7SYanan He * Copyright (c) 2026 Yanan He <grumpycat921013@gmail.com>
4*44045aa7SYanan He */
5*44045aa7SYanan He
6*44045aa7SYanan He/dts-v1/;
7*44045aa7SYanan He#include <dt-bindings/input/input.h>
8*44045aa7SYanan He#include "rv1126-alientek-clrv1126f.dtsi"
9*44045aa7SYanan He
10*44045aa7SYanan He/ {
11*44045aa7SYanan He	model = "Alientek ATK-DLRV1126";
12*44045aa7SYanan He	compatible = "alientek,dlrv1126", "alientek,clrv1126f", "rockchip,rv1126";
13*44045aa7SYanan He
14*44045aa7SYanan He	aliases {
15*44045aa7SYanan He		ethernet0 = &gmac;
16*44045aa7SYanan He		mmc1 = &sdio;
17*44045aa7SYanan He		mmc2 = &sdmmc;
18*44045aa7SYanan He	};
19*44045aa7SYanan He
20*44045aa7SYanan He	chosen {
21*44045aa7SYanan He		stdout-path = "serial2:1500000n8";
22*44045aa7SYanan He	};
23*44045aa7SYanan He
24*44045aa7SYanan He	adc-keys {
25*44045aa7SYanan He		compatible = "adc-keys";
26*44045aa7SYanan He		io-channels = <&saradc 0>;
27*44045aa7SYanan He		io-channel-names = "buttons";
28*44045aa7SYanan He		keyup-threshold-microvolt = <1800000>;
29*44045aa7SYanan He		poll-interval = <100>;
30*44045aa7SYanan He
31*44045aa7SYanan He		button-esc {
32*44045aa7SYanan He			label = "esc";
33*44045aa7SYanan He			linux,code = <KEY_ESC>;
34*44045aa7SYanan He			press-threshold-microvolt = <0>;
35*44045aa7SYanan He		};
36*44045aa7SYanan He
37*44045aa7SYanan He		button-left {
38*44045aa7SYanan He			label = "left";
39*44045aa7SYanan He			linux,code = <KEY_LEFT>;
40*44045aa7SYanan He			press-threshold-microvolt = <801562>;
41*44045aa7SYanan He		};
42*44045aa7SYanan He
43*44045aa7SYanan He		button-menu {
44*44045aa7SYanan He			label = "menu";
45*44045aa7SYanan He			linux,code = <KEY_MENU>;
46*44045aa7SYanan He			press-threshold-microvolt = <1198828>;
47*44045aa7SYanan He		};
48*44045aa7SYanan He
49*44045aa7SYanan He		button-right {
50*44045aa7SYanan He			label = "right";
51*44045aa7SYanan He			linux,code = <KEY_RIGHT>;
52*44045aa7SYanan He			press-threshold-microvolt = <400781>;
53*44045aa7SYanan He		};
54*44045aa7SYanan He	};
55*44045aa7SYanan He
56*44045aa7SYanan He	leds {
57*44045aa7SYanan He		compatible = "gpio-leds";
58*44045aa7SYanan He
59*44045aa7SYanan He		led-0 {
60*44045aa7SYanan He			label = "sys-led";
61*44045aa7SYanan He			gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
62*44045aa7SYanan He			linux,default-trigger = "heartbeat";
63*44045aa7SYanan He			default-state = "on";
64*44045aa7SYanan He		};
65*44045aa7SYanan He
66*44045aa7SYanan He		led-1 {
67*44045aa7SYanan He			label = "user-led";
68*44045aa7SYanan He			gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>;
69*44045aa7SYanan He			linux,default-trigger = "none";
70*44045aa7SYanan He			default-state = "on";
71*44045aa7SYanan He		};
72*44045aa7SYanan He	};
73*44045aa7SYanan He
74*44045aa7SYanan He	sound {
75*44045aa7SYanan He		compatible = "simple-audio-card";
76*44045aa7SYanan He		simple-audio-card,format = "i2s";
77*44045aa7SYanan He		simple-audio-card,name = "Analog RK809";
78*44045aa7SYanan He		simple-audio-card,mclk-fs = <256>;
79*44045aa7SYanan He		simple-audio-card,widgets =
80*44045aa7SYanan He			"Speaker", "Speaker",
81*44045aa7SYanan He			"Headphone", "Headphones",
82*44045aa7SYanan He			"Microphone", "Mic Jack";
83*44045aa7SYanan He		simple-audio-card,routing =
84*44045aa7SYanan He			"Speaker", "SPKO",
85*44045aa7SYanan He			"Headphones", "HPOL",
86*44045aa7SYanan He			"Headphones", "HPOR",
87*44045aa7SYanan He			"MICL", "Mic Jack";
88*44045aa7SYanan He
89*44045aa7SYanan He		simple-audio-card,cpu {
90*44045aa7SYanan He			sound-dai = <&i2s0>;
91*44045aa7SYanan He		};
92*44045aa7SYanan He
93*44045aa7SYanan He		simple-audio-card,codec {
94*44045aa7SYanan He			sound-dai = <&rk809>;
95*44045aa7SYanan He		};
96*44045aa7SYanan He	};
97*44045aa7SYanan He
98*44045aa7SYanan He	vcc5v0_sys: regulator-vcc5v0-sys {
99*44045aa7SYanan He		compatible = "regulator-fixed";
100*44045aa7SYanan He		regulator-name = "vcc5v0_sys";
101*44045aa7SYanan He		regulator-always-on;
102*44045aa7SYanan He		regulator-boot-on;
103*44045aa7SYanan He		regulator-min-microvolt = <5000000>;
104*44045aa7SYanan He		regulator-max-microvolt = <5000000>;
105*44045aa7SYanan He	};
106*44045aa7SYanan He
107*44045aa7SYanan He	sdio_pwrseq: pwrseq-sdio {
108*44045aa7SYanan He		compatible = "mmc-pwrseq-simple";
109*44045aa7SYanan He		pinctrl-names = "default";
110*44045aa7SYanan He		pinctrl-0 = <&wifi_enable_h>;
111*44045aa7SYanan He		reset-gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
112*44045aa7SYanan He		post-power-on-delay-ms = <200>;
113*44045aa7SYanan He		power-off-delay-us = <20000>;
114*44045aa7SYanan He	};
115*44045aa7SYanan He};
116*44045aa7SYanan He
117*44045aa7SYanan He&gmac {
118*44045aa7SYanan He	assigned-clocks = <&cru CLK_GMAC_SRC>, <&cru CLK_GMAC_TX_RX>,
119*44045aa7SYanan He			  <&cru CLK_GMAC_ETHERNET_OUT>;
120*44045aa7SYanan He	assigned-clock-parents = <&cru CLK_GMAC_SRC_M1>,
121*44045aa7SYanan He				 <&cru RGMII_MODE_CLK>;
122*44045aa7SYanan He	assigned-clock-rates = <125000000>, <0>, <25000000>;
123*44045aa7SYanan He	clock_in_out = "input";
124*44045aa7SYanan He	phy-handle = <&phy>;
125*44045aa7SYanan He	phy-mode = "rgmii-id";
126*44045aa7SYanan He	pinctrl-names = "default";
127*44045aa7SYanan He	pinctrl-0 = <&rgmiim1_miim &rgmiim1_bus2 &rgmiim1_bus4
128*44045aa7SYanan He		     &clk_out_ethernetm1_pins>;
129*44045aa7SYanan He	status = "okay";
130*44045aa7SYanan He};
131*44045aa7SYanan He
132*44045aa7SYanan He&i2c5 {
133*44045aa7SYanan He	status = "okay";
134*44045aa7SYanan He	clock-frequency = <400000>;
135*44045aa7SYanan He
136*44045aa7SYanan He	pcf8563: rtc@51 {
137*44045aa7SYanan He		compatible = "nxp,pcf8563";
138*44045aa7SYanan He		reg = <0x51>;
139*44045aa7SYanan He		#clock-cells = <0>;
140*44045aa7SYanan He		clock-output-names = "xin32k";
141*44045aa7SYanan He		interrupt-parent = <&gpio1>;
142*44045aa7SYanan He		interrupts = <RK_PD0 IRQ_TYPE_LEVEL_LOW>;
143*44045aa7SYanan He	};
144*44045aa7SYanan He};
145*44045aa7SYanan He
146*44045aa7SYanan He&i2s0 {
147*44045aa7SYanan He	pinctrl-names = "default";
148*44045aa7SYanan He	pinctrl-0 = <&i2s0m0_sclk_tx>,
149*44045aa7SYanan He		    <&i2s0m0_mclk>,
150*44045aa7SYanan He		    <&i2s0m0_lrck_tx>,
151*44045aa7SYanan He		    <&i2s0m0_sdo0>,
152*44045aa7SYanan He		    <&i2s0m0_sdo1_sdi3>;
153*44045aa7SYanan He	rockchip,trcm-sync-tx-only;
154*44045aa7SYanan He	rockchip,i2s-rx-route = <3 1 2 0>;
155*44045aa7SYanan He	rockchip,i2s-tx-route = <0 1 2 3>;
156*44045aa7SYanan He	status = "okay";
157*44045aa7SYanan He};
158*44045aa7SYanan He
159*44045aa7SYanan He&mdio {
160*44045aa7SYanan He	phy: ethernet-phy@1 {
161*44045aa7SYanan He		compatible = "ethernet-phy-ieee802.3-c22";
162*44045aa7SYanan He		reg = <0x1>;
163*44045aa7SYanan He		clocks = <&cru CLK_GMAC_ETHERNET_OUT>;
164*44045aa7SYanan He		pinctrl-names = "default";
165*44045aa7SYanan He		pinctrl-0 = <&eth_phy_rst>;
166*44045aa7SYanan He		reset-gpios = <&gpio3 RK_PA0 GPIO_ACTIVE_LOW>;
167*44045aa7SYanan He		reset-assert-us = <20000>;
168*44045aa7SYanan He		reset-deassert-us = <100000>;
169*44045aa7SYanan He	};
170*44045aa7SYanan He};
171*44045aa7SYanan He
172*44045aa7SYanan He&pinctrl {
173*44045aa7SYanan He	bt {
174*44045aa7SYanan He		bt_enable: bt-enable {
175*44045aa7SYanan He			rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
176*44045aa7SYanan He		};
177*44045aa7SYanan He
178*44045aa7SYanan He		bt_wake_dev: bt-wake-dev {
179*44045aa7SYanan He			rockchip,pins = <1 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
180*44045aa7SYanan He		};
181*44045aa7SYanan He
182*44045aa7SYanan He		bt_wake_host: bt-wake-host {
183*44045aa7SYanan He			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
184*44045aa7SYanan He		};
185*44045aa7SYanan He	};
186*44045aa7SYanan He
187*44045aa7SYanan He	ethernet {
188*44045aa7SYanan He		eth_phy_rst: eth-phy-rst {
189*44045aa7SYanan He			rockchip,pins = <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
190*44045aa7SYanan He		};
191*44045aa7SYanan He	};
192*44045aa7SYanan He
193*44045aa7SYanan He	wifi {
194*44045aa7SYanan He		wifi_enable_h: wifi-enable-h {
195*44045aa7SYanan He			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
196*44045aa7SYanan He		};
197*44045aa7SYanan He	};
198*44045aa7SYanan He};
199*44045aa7SYanan He
200*44045aa7SYanan He&sdio {
201*44045aa7SYanan He	bus-width = <4>;
202*44045aa7SYanan He	cap-sdio-irq;
203*44045aa7SYanan He	keep-power-in-suspend;
204*44045aa7SYanan He	max-frequency = <25000000>;
205*44045aa7SYanan He	mmc-pwrseq = <&sdio_pwrseq>;
206*44045aa7SYanan He	non-removable;
207*44045aa7SYanan He	pinctrl-names = "default";
208*44045aa7SYanan He	pinctrl-0 = <&sdmmc1_clk &sdmmc1_cmd &sdmmc1_bus4>;
209*44045aa7SYanan He	rockchip,default-sample-phase = <90>;
210*44045aa7SYanan He	vmmc-supply = <&vcc3v3_sd>;
211*44045aa7SYanan He	vqmmc-supply = <&vcc_1v8>;
212*44045aa7SYanan He	status = "okay";
213*44045aa7SYanan He};
214*44045aa7SYanan He
215*44045aa7SYanan He&sdmmc {
216*44045aa7SYanan He	bus-width = <4>;
217*44045aa7SYanan He	cap-mmc-highspeed;
218*44045aa7SYanan He	cap-sd-highspeed;
219*44045aa7SYanan He	card-detect-delay = <200>;
220*44045aa7SYanan He	pinctrl-names = "default";
221*44045aa7SYanan He	pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_bus4 &sdmmc0_det>;
222*44045aa7SYanan He	rockchip,default-sample-phase = <90>;
223*44045aa7SYanan He	sd-uhs-sdr12;
224*44045aa7SYanan He	sd-uhs-sdr25;
225*44045aa7SYanan He	sd-uhs-sdr104;
226*44045aa7SYanan He	vmmc-supply = <&vcc3v3_sd>;
227*44045aa7SYanan He	vqmmc-supply = <&vccio_sd>;
228*44045aa7SYanan He	status = "okay";
229*44045aa7SYanan He};
230*44045aa7SYanan He
231*44045aa7SYanan He&uart0 {
232*44045aa7SYanan He	pinctrl-names = "default";
233*44045aa7SYanan He	pinctrl-0 = <&uart0_xfer &uart0_ctsn &uart0_rtsn>;
234*44045aa7SYanan He	uart-has-rtscts;
235*44045aa7SYanan He	status = "okay";
236*44045aa7SYanan He
237*44045aa7SYanan He	bluetooth {
238*44045aa7SYanan He		compatible = "brcm,bcm43430a1-bt";
239*44045aa7SYanan He		clocks = <&rk809 1>;
240*44045aa7SYanan He		clock-names = "lpo";
241*44045aa7SYanan He		device-wakeup-gpios = <&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>;
242*44045aa7SYanan He		interrupt-parent = <&gpio0>;
243*44045aa7SYanan He		interrupts = <RK_PA5 IRQ_TYPE_EDGE_RISING>;
244*44045aa7SYanan He		interrupt-names = "host-wakeup";
245*44045aa7SYanan He		max-speed = <115200>;
246*44045aa7SYanan He		pinctrl-names = "default";
247*44045aa7SYanan He		pinctrl-0 = <&bt_enable>, <&bt_wake_dev>, <&bt_wake_host>;
248*44045aa7SYanan He		shutdown-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_HIGH>;
249*44045aa7SYanan He		vbat-supply = <&vcc_3v3>;
250*44045aa7SYanan He		vddio-supply = <&vcc_1v8>;
251*44045aa7SYanan He	};
252*44045aa7SYanan He};
253*44045aa7SYanan He
254*44045aa7SYanan He&uart2 {
255*44045aa7SYanan He	status = "okay";
256*44045aa7SYanan He};
257