xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3566-soquartz-cm4.dts (revision d5b0e70f7e04d971691517ce1304d86a1e367e2e)
1*d5b0e70fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*d5b0e70fSEmmanuel Vadot
3*d5b0e70fSEmmanuel Vadot/dts-v1/;
4*d5b0e70fSEmmanuel Vadot
5*d5b0e70fSEmmanuel Vadot#include "rk3566-soquartz.dtsi"
6*d5b0e70fSEmmanuel Vadot
7*d5b0e70fSEmmanuel Vadot/ {
8*d5b0e70fSEmmanuel Vadot	model = "Pine64 RK3566 SoQuartz with CM4-IO Carrier Board";
9*d5b0e70fSEmmanuel Vadot	compatible = "pine64,soquartz-cm4io", "pine64,soquartz", "rockchip,rk3566";
10*d5b0e70fSEmmanuel Vadot
11*d5b0e70fSEmmanuel Vadot	/* labeled +12v in schematic */
12*d5b0e70fSEmmanuel Vadot	vcc12v_dcin: vcc12v-dcin-regulator {
13*d5b0e70fSEmmanuel Vadot		compatible = "regulator-fixed";
14*d5b0e70fSEmmanuel Vadot		regulator-name = "vcc12v_dcin";
15*d5b0e70fSEmmanuel Vadot		regulator-always-on;
16*d5b0e70fSEmmanuel Vadot		regulator-boot-on;
17*d5b0e70fSEmmanuel Vadot		regulator-min-microvolt = <12000000>;
18*d5b0e70fSEmmanuel Vadot		regulator-max-microvolt = <12000000>;
19*d5b0e70fSEmmanuel Vadot	};
20*d5b0e70fSEmmanuel Vadot
21*d5b0e70fSEmmanuel Vadot	/* labeled +5v in schematic */
22*d5b0e70fSEmmanuel Vadot	vcc_5v: vcc-5v-regulator {
23*d5b0e70fSEmmanuel Vadot		compatible = "regulator-fixed";
24*d5b0e70fSEmmanuel Vadot		regulator-name = "vcc_5v";
25*d5b0e70fSEmmanuel Vadot		regulator-always-on;
26*d5b0e70fSEmmanuel Vadot		regulator-boot-on;
27*d5b0e70fSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
28*d5b0e70fSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
29*d5b0e70fSEmmanuel Vadot		vin-supply = <&vcc12v_dcin>;
30*d5b0e70fSEmmanuel Vadot	};
31*d5b0e70fSEmmanuel Vadot};
32*d5b0e70fSEmmanuel Vadot
33*d5b0e70fSEmmanuel Vadot&gmac1 {
34*d5b0e70fSEmmanuel Vadot	status = "okay";
35*d5b0e70fSEmmanuel Vadot};
36*d5b0e70fSEmmanuel Vadot
37*d5b0e70fSEmmanuel Vadot/*
38*d5b0e70fSEmmanuel Vadot * i2c1 is exposed on CM1 / Module1A
39*d5b0e70fSEmmanuel Vadot * pin 80 - SCL0 - i2c1_scl_m0, pullup to vcc3v3_pmu
40*d5b0e70fSEmmanuel Vadot * pin 82 - SDA0 - i2c1_sda_m0, pullup to vcc3v3_pmu
41*d5b0e70fSEmmanuel Vadot */
42*d5b0e70fSEmmanuel Vadot&i2c1 {
43*d5b0e70fSEmmanuel Vadot	status = "okay";
44*d5b0e70fSEmmanuel Vadot
45*d5b0e70fSEmmanuel Vadot	/*
46*d5b0e70fSEmmanuel Vadot	 * the rtc interrupt is tied to PMIC_PWRON,
47*d5b0e70fSEmmanuel Vadot	 * it will force reset the board if triggered.
48*d5b0e70fSEmmanuel Vadot	 */
49*d5b0e70fSEmmanuel Vadot	pcf85063: rtc@51 {
50*d5b0e70fSEmmanuel Vadot		compatible = "nxp,pcf85063";
51*d5b0e70fSEmmanuel Vadot		reg = <0x51>;
52*d5b0e70fSEmmanuel Vadot	};
53*d5b0e70fSEmmanuel Vadot};
54*d5b0e70fSEmmanuel Vadot
55*d5b0e70fSEmmanuel Vadot/*
56*d5b0e70fSEmmanuel Vadot * i2c2 is exposed on CM1 / Module1A - to PI40
57*d5b0e70fSEmmanuel Vadot * pin 56 - GPIO3 - i2c2_scl_m1, pullup to vcc_3v3, shared with i2s1_8ch
58*d5b0e70fSEmmanuel Vadot * pin 58 - GPIO2 - i2c2_sda_m1, pullup to vcc_3v3
59*d5b0e70fSEmmanuel Vadot */
60*d5b0e70fSEmmanuel Vadot&i2c2 {
61*d5b0e70fSEmmanuel Vadot	status = "disabled";
62*d5b0e70fSEmmanuel Vadot};
63*d5b0e70fSEmmanuel Vadot
64*d5b0e70fSEmmanuel Vadot/*
65*d5b0e70fSEmmanuel Vadot * i2c3 is exposed on CM1 / Module1A - to PI40
66*d5b0e70fSEmmanuel Vadot * pin 35 - ID_SC(GPIO28) - i2c3_scl_m0, pullup to vcc_3v3
67*d5b0e70fSEmmanuel Vadot * pin 36 - ID_SD(GPIO27) - i2c3_sda_m0, pullup to vcc_3v3
68*d5b0e70fSEmmanuel Vadot */
69*d5b0e70fSEmmanuel Vadot&i2c3 {
70*d5b0e70fSEmmanuel Vadot	status = "disabled";
71*d5b0e70fSEmmanuel Vadot};
72*d5b0e70fSEmmanuel Vadot
73*d5b0e70fSEmmanuel Vadot/*
74*d5b0e70fSEmmanuel Vadot * i2c4 is exposed on CM2 / Module1B - to PI40
75*d5b0e70fSEmmanuel Vadot * pin 45 - GPIO24 - i2c4_scl_m1
76*d5b0e70fSEmmanuel Vadot * pin 47 - GPIO23 - i2c4_sda_m1
77*d5b0e70fSEmmanuel Vadot */
78*d5b0e70fSEmmanuel Vadot&i2c4 {
79*d5b0e70fSEmmanuel Vadot	status = "disabled";
80*d5b0e70fSEmmanuel Vadot};
81*d5b0e70fSEmmanuel Vadot
82*d5b0e70fSEmmanuel Vadot/*
83*d5b0e70fSEmmanuel Vadot * i2s1_8ch is exposed on CM1 / Module1A - to PI40
84*d5b0e70fSEmmanuel Vadot * pin 24 - GPIO26 - i2s1_sdi1_m1
85*d5b0e70fSEmmanuel Vadot * pin 25 - GPIO21 - i2s1_sdo0_m1
86*d5b0e70fSEmmanuel Vadot * pin 26 - GPIO19 - i2s1_lrck_tx_m1
87*d5b0e70fSEmmanuel Vadot * pin 27 - GPIO20 - i2s1_sdi0_m1
88*d5b0e70fSEmmanuel Vadot * pin 29 - GPIO16 - i2s1_sdi3_m1
89*d5b0e70fSEmmanuel Vadot * pin 30 - GPIO6  - i2s1_sdi2_m1
90*d5b0e70fSEmmanuel Vadot * pin 40 - GPIO9  - i2s1_sdo1_m1, shared with spi3
91*d5b0e70fSEmmanuel Vadot * pin 41 - GPIO25 - i2s1_sdo2_m1
92*d5b0e70fSEmmanuel Vadot * pin 49 - GPIO18 - i2s1_sclk_tx_m1
93*d5b0e70fSEmmanuel Vadot * pin 50 - GPIO17 - i2s1_mclk_m1
94*d5b0e70fSEmmanuel Vadot * pin 56 - GPIO3  - i2s1_sdo3_m1, shared with i2c2
95*d5b0e70fSEmmanuel Vadot */
96*d5b0e70fSEmmanuel Vadot&i2s1_8ch {
97*d5b0e70fSEmmanuel Vadot	status = "disabled";
98*d5b0e70fSEmmanuel Vadot};
99*d5b0e70fSEmmanuel Vadot
100*d5b0e70fSEmmanuel Vadot&led_diy {
101*d5b0e70fSEmmanuel Vadot	status = "okay";
102*d5b0e70fSEmmanuel Vadot};
103*d5b0e70fSEmmanuel Vadot
104*d5b0e70fSEmmanuel Vadot&led_work {
105*d5b0e70fSEmmanuel Vadot	status = "okay";
106*d5b0e70fSEmmanuel Vadot};
107*d5b0e70fSEmmanuel Vadot
108*d5b0e70fSEmmanuel Vadot&rgmii_phy1 {
109*d5b0e70fSEmmanuel Vadot	status = "okay";
110*d5b0e70fSEmmanuel Vadot};
111*d5b0e70fSEmmanuel Vadot
112*d5b0e70fSEmmanuel Vadot/*
113*d5b0e70fSEmmanuel Vadot * saradc is exposed on CM1 / Module1A - to J2
114*d5b0e70fSEmmanuel Vadot * pin 94 - AIN1 - saradc_vin3
115*d5b0e70fSEmmanuel Vadot * pin 96 - AIN0 - saradc_vin2
116*d5b0e70fSEmmanuel Vadot */
117*d5b0e70fSEmmanuel Vadot&saradc {
118*d5b0e70fSEmmanuel Vadot	status = "disabled";
119*d5b0e70fSEmmanuel Vadot};
120*d5b0e70fSEmmanuel Vadot
121*d5b0e70fSEmmanuel Vadot&sdmmc0 {
122*d5b0e70fSEmmanuel Vadot	vmmc-supply = <&sdmmc_pwr>;
123*d5b0e70fSEmmanuel Vadot	status = "okay";
124*d5b0e70fSEmmanuel Vadot};
125*d5b0e70fSEmmanuel Vadot
126*d5b0e70fSEmmanuel Vadot&sdmmc_pwr {
127*d5b0e70fSEmmanuel Vadot	regulator-min-microvolt = <3300000>;
128*d5b0e70fSEmmanuel Vadot	regulator-max-microvolt = <3300000>;
129*d5b0e70fSEmmanuel Vadot	status = "okay";
130*d5b0e70fSEmmanuel Vadot};
131*d5b0e70fSEmmanuel Vadot
132*d5b0e70fSEmmanuel Vadot/*
133*d5b0e70fSEmmanuel Vadot *  spi3 is exposed on CM1 / Module1A - to PI40
134*d5b0e70fSEmmanuel Vadot * pin 37 - GPIO7  - spi3_cs1_m0
135*d5b0e70fSEmmanuel Vadot * pin 38 - GPIO11 - spi3_clk_m0
136*d5b0e70fSEmmanuel Vadot * pin 39 - GPIO8  - spi3_cs0_m0
137*d5b0e70fSEmmanuel Vadot * pin 40 - GPIO9  - spi3_miso_m0, shared with i2s1_8ch
138*d5b0e70fSEmmanuel Vadot * pin 44 - GPIO10 - spi3_mosi_m0
139*d5b0e70fSEmmanuel Vadot */
140*d5b0e70fSEmmanuel Vadot&spi3 {
141*d5b0e70fSEmmanuel Vadot	status = "disabled";
142*d5b0e70fSEmmanuel Vadot};
143*d5b0e70fSEmmanuel Vadot
144*d5b0e70fSEmmanuel Vadot/*
145*d5b0e70fSEmmanuel Vadot * uart2 is exposed on CM1 / Module1A - to PI40
146*d5b0e70fSEmmanuel Vadot * pin 51 - GPIO15 - uart2_rx_m0
147*d5b0e70fSEmmanuel Vadot * pin 55 - GPIO14 - uart2_tx_m0
148*d5b0e70fSEmmanuel Vadot */
149*d5b0e70fSEmmanuel Vadot&uart2 {
150*d5b0e70fSEmmanuel Vadot	status = "okay";
151*d5b0e70fSEmmanuel Vadot};
152*d5b0e70fSEmmanuel Vadot
153*d5b0e70fSEmmanuel Vadot/*
154*d5b0e70fSEmmanuel Vadot * uart7 is exposed on CM1 / Module1A - to PI40
155*d5b0e70fSEmmanuel Vadot * pin 46 - GPIO22 - uart7_tx_m2
156*d5b0e70fSEmmanuel Vadot * pin 47 - GPIO23 - uart7_rx_m2
157*d5b0e70fSEmmanuel Vadot */
158*d5b0e70fSEmmanuel Vadot&uart7 {
159*d5b0e70fSEmmanuel Vadot	status = "okay";
160*d5b0e70fSEmmanuel Vadot};
161*d5b0e70fSEmmanuel Vadot
162*d5b0e70fSEmmanuel Vadot&usb2phy0 {
163*d5b0e70fSEmmanuel Vadot	status = "okay";
164*d5b0e70fSEmmanuel Vadot};
165*d5b0e70fSEmmanuel Vadot
166*d5b0e70fSEmmanuel Vadot&usb2phy0_otg {
167*d5b0e70fSEmmanuel Vadot	phy-supply = <&vcc_5v>;
168*d5b0e70fSEmmanuel Vadot	status = "okay";
169*d5b0e70fSEmmanuel Vadot};
170*d5b0e70fSEmmanuel Vadot
171*d5b0e70fSEmmanuel Vadot&usb_host0_xhci {
172*d5b0e70fSEmmanuel Vadot	status = "okay";
173*d5b0e70fSEmmanuel Vadot};
174*d5b0e70fSEmmanuel Vadot
175*d5b0e70fSEmmanuel Vadot&vbus {
176*d5b0e70fSEmmanuel Vadot	vin-supply = <&vcc_5v>;
177*d5b0e70fSEmmanuel Vadot};
178