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