xref: /linux/arch/arm64/boot/dts/rockchip/rk3566-soquartz-cm4.dts (revision 36d9b3ae708e865cdab95692db5a24c5d975383d)
15859b5a9SPeter Geis// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
25859b5a9SPeter Geis
35859b5a9SPeter Geis/dts-v1/;
45859b5a9SPeter Geis
55859b5a9SPeter Geis#include "rk3566-soquartz.dtsi"
65859b5a9SPeter Geis
75859b5a9SPeter Geis/ {
85859b5a9SPeter Geis	model = "Pine64 RK3566 SoQuartz with CM4-IO Carrier Board";
95859b5a9SPeter Geis	compatible = "pine64,soquartz-cm4io", "pine64,soquartz", "rockchip,rk3566";
105859b5a9SPeter Geis
11*36d9b3aeSDragan Simic	aliases {
12*36d9b3aeSDragan Simic		ethernet0 = &gmac1;
13*36d9b3aeSDragan Simic	};
14*36d9b3aeSDragan Simic
155859b5a9SPeter Geis	/* labeled +12v in schematic */
165859b5a9SPeter Geis	vcc12v_dcin: vcc12v-dcin-regulator {
175859b5a9SPeter Geis		compatible = "regulator-fixed";
185859b5a9SPeter Geis		regulator-name = "vcc12v_dcin";
195859b5a9SPeter Geis		regulator-always-on;
205859b5a9SPeter Geis		regulator-boot-on;
215859b5a9SPeter Geis		regulator-min-microvolt = <12000000>;
225859b5a9SPeter Geis		regulator-max-microvolt = <12000000>;
235859b5a9SPeter Geis	};
245859b5a9SPeter Geis
255859b5a9SPeter Geis	/* labeled +5v in schematic */
265859b5a9SPeter Geis	vcc_5v: vcc-5v-regulator {
275859b5a9SPeter Geis		compatible = "regulator-fixed";
285859b5a9SPeter Geis		regulator-name = "vcc_5v";
295859b5a9SPeter Geis		regulator-always-on;
305859b5a9SPeter Geis		regulator-boot-on;
315859b5a9SPeter Geis		regulator-min-microvolt = <5000000>;
325859b5a9SPeter Geis		regulator-max-microvolt = <5000000>;
335859b5a9SPeter Geis		vin-supply = <&vcc12v_dcin>;
345859b5a9SPeter Geis	};
35cf9ae4a0SNicolas Frattaroli
36cf9ae4a0SNicolas Frattaroli	vcc_sd_pwr: vcc-sd-pwr-regulator {
37cf9ae4a0SNicolas Frattaroli		compatible = "regulator-fixed";
38cf9ae4a0SNicolas Frattaroli		regulator-name = "vcc_sd_pwr";
39cf9ae4a0SNicolas Frattaroli		regulator-always-on;
40cf9ae4a0SNicolas Frattaroli		regulator-boot-on;
41cf9ae4a0SNicolas Frattaroli		regulator-min-microvolt = <3300000>;
42cf9ae4a0SNicolas Frattaroli		regulator-max-microvolt = <3300000>;
43cf9ae4a0SNicolas Frattaroli		vin-supply = <&vcc3v3_sys>;
44cf9ae4a0SNicolas Frattaroli	};
455859b5a9SPeter Geis};
465859b5a9SPeter Geis
473736aa7eSNicolas Frattaroli/* phy for pcie */
483736aa7eSNicolas Frattaroli&combphy2 {
493736aa7eSNicolas Frattaroli	phy-supply = <&vcc3v3_sys>;
503736aa7eSNicolas Frattaroli	status = "okay";
513736aa7eSNicolas Frattaroli};
523736aa7eSNicolas Frattaroli
535859b5a9SPeter Geis&gmac1 {
545859b5a9SPeter Geis	status = "okay";
555859b5a9SPeter Geis};
565859b5a9SPeter Geis
575859b5a9SPeter Geis/*
585859b5a9SPeter Geis * i2c1 is exposed on CM1 / Module1A
595859b5a9SPeter Geis * pin 80 - SCL0 - i2c1_scl_m0, pullup to vcc3v3_pmu
605859b5a9SPeter Geis * pin 82 - SDA0 - i2c1_sda_m0, pullup to vcc3v3_pmu
615859b5a9SPeter Geis */
625859b5a9SPeter Geis&i2c1 {
635859b5a9SPeter Geis	status = "okay";
645859b5a9SPeter Geis
655859b5a9SPeter Geis	/*
665859b5a9SPeter Geis	 * the rtc interrupt is tied to PMIC_PWRON,
675859b5a9SPeter Geis	 * it will force reset the board if triggered.
685859b5a9SPeter Geis	 */
695859b5a9SPeter Geis	pcf85063: rtc@51 {
705859b5a9SPeter Geis		compatible = "nxp,pcf85063";
715859b5a9SPeter Geis		reg = <0x51>;
725859b5a9SPeter Geis	};
735859b5a9SPeter Geis};
745859b5a9SPeter Geis
755859b5a9SPeter Geis/*
765859b5a9SPeter Geis * i2c2 is exposed on CM1 / Module1A - to PI40
775859b5a9SPeter Geis * pin 56 - GPIO3 - i2c2_scl_m1, pullup to vcc_3v3, shared with i2s1_8ch
785859b5a9SPeter Geis * pin 58 - GPIO2 - i2c2_sda_m1, pullup to vcc_3v3
795859b5a9SPeter Geis */
805859b5a9SPeter Geis&i2c2 {
815859b5a9SPeter Geis	status = "disabled";
825859b5a9SPeter Geis};
835859b5a9SPeter Geis
845859b5a9SPeter Geis/*
855859b5a9SPeter Geis * i2c3 is exposed on CM1 / Module1A - to PI40
865859b5a9SPeter Geis * pin 35 - ID_SC(GPIO28) - i2c3_scl_m0, pullup to vcc_3v3
875859b5a9SPeter Geis * pin 36 - ID_SD(GPIO27) - i2c3_sda_m0, pullup to vcc_3v3
885859b5a9SPeter Geis */
895859b5a9SPeter Geis&i2c3 {
905859b5a9SPeter Geis	status = "disabled";
915859b5a9SPeter Geis};
925859b5a9SPeter Geis
935859b5a9SPeter Geis/*
945859b5a9SPeter Geis * i2c4 is exposed on CM2 / Module1B - to PI40
955859b5a9SPeter Geis * pin 45 - GPIO24 - i2c4_scl_m1
965859b5a9SPeter Geis * pin 47 - GPIO23 - i2c4_sda_m1
975859b5a9SPeter Geis */
985859b5a9SPeter Geis&i2c4 {
995859b5a9SPeter Geis	status = "disabled";
1005859b5a9SPeter Geis};
1015859b5a9SPeter Geis
1025859b5a9SPeter Geis/*
1035859b5a9SPeter Geis * i2s1_8ch is exposed on CM1 / Module1A - to PI40
1045859b5a9SPeter Geis * pin 24 - GPIO26 - i2s1_sdi1_m1
1055859b5a9SPeter Geis * pin 25 - GPIO21 - i2s1_sdo0_m1
1065859b5a9SPeter Geis * pin 26 - GPIO19 - i2s1_lrck_tx_m1
1075859b5a9SPeter Geis * pin 27 - GPIO20 - i2s1_sdi0_m1
1085859b5a9SPeter Geis * pin 29 - GPIO16 - i2s1_sdi3_m1
1095859b5a9SPeter Geis * pin 30 - GPIO6  - i2s1_sdi2_m1
1105859b5a9SPeter Geis * pin 40 - GPIO9  - i2s1_sdo1_m1, shared with spi3
1115859b5a9SPeter Geis * pin 41 - GPIO25 - i2s1_sdo2_m1
1125859b5a9SPeter Geis * pin 49 - GPIO18 - i2s1_sclk_tx_m1
1135859b5a9SPeter Geis * pin 50 - GPIO17 - i2s1_mclk_m1
1145859b5a9SPeter Geis * pin 56 - GPIO3  - i2s1_sdo3_m1, shared with i2c2
1155859b5a9SPeter Geis */
1165859b5a9SPeter Geis&i2s1_8ch {
1175859b5a9SPeter Geis	status = "disabled";
1185859b5a9SPeter Geis};
1195859b5a9SPeter Geis
1205859b5a9SPeter Geis&led_diy {
1215859b5a9SPeter Geis	status = "okay";
1225859b5a9SPeter Geis};
1235859b5a9SPeter Geis
1245859b5a9SPeter Geis&led_work {
1255859b5a9SPeter Geis	status = "okay";
1265859b5a9SPeter Geis};
1275859b5a9SPeter Geis
1283736aa7eSNicolas Frattaroli&pcie2x1 {
1293736aa7eSNicolas Frattaroli	vpcie3v3-supply = <&vcc_3v3>;
1303736aa7eSNicolas Frattaroli	status = "okay";
1313736aa7eSNicolas Frattaroli};
1323736aa7eSNicolas Frattaroli
1335859b5a9SPeter Geis&rgmii_phy1 {
1345859b5a9SPeter Geis	status = "okay";
1355859b5a9SPeter Geis};
1365859b5a9SPeter Geis
1375859b5a9SPeter Geis/*
1385859b5a9SPeter Geis * saradc is exposed on CM1 / Module1A - to J2
1395859b5a9SPeter Geis * pin 94 - AIN1 - saradc_vin3
1405859b5a9SPeter Geis * pin 96 - AIN0 - saradc_vin2
1415859b5a9SPeter Geis */
1425859b5a9SPeter Geis&saradc {
1435859b5a9SPeter Geis	status = "disabled";
1445859b5a9SPeter Geis};
1455859b5a9SPeter Geis
1465859b5a9SPeter Geis&sdmmc0 {
147cf9ae4a0SNicolas Frattaroli	vmmc-supply = <&vcc_sd_pwr>;
1485859b5a9SPeter Geis	status = "okay";
1495859b5a9SPeter Geis};
1505859b5a9SPeter Geis
1515859b5a9SPeter Geis/*
1525859b5a9SPeter Geis *  spi3 is exposed on CM1 / Module1A - to PI40
1535859b5a9SPeter Geis * pin 37 - GPIO7  - spi3_cs1_m0
1545859b5a9SPeter Geis * pin 38 - GPIO11 - spi3_clk_m0
1555859b5a9SPeter Geis * pin 39 - GPIO8  - spi3_cs0_m0
1565859b5a9SPeter Geis * pin 40 - GPIO9  - spi3_miso_m0, shared with i2s1_8ch
1575859b5a9SPeter Geis * pin 44 - GPIO10 - spi3_mosi_m0
1585859b5a9SPeter Geis */
1595859b5a9SPeter Geis&spi3 {
1605859b5a9SPeter Geis	status = "disabled";
1615859b5a9SPeter Geis};
1625859b5a9SPeter Geis
1635859b5a9SPeter Geis/*
1645859b5a9SPeter Geis * uart2 is exposed on CM1 / Module1A - to PI40
1655859b5a9SPeter Geis * pin 51 - GPIO15 - uart2_rx_m0
1665859b5a9SPeter Geis * pin 55 - GPIO14 - uart2_tx_m0
1675859b5a9SPeter Geis */
1685859b5a9SPeter Geis&uart2 {
1695859b5a9SPeter Geis	status = "okay";
1705859b5a9SPeter Geis};
1715859b5a9SPeter Geis
1725859b5a9SPeter Geis/*
1735859b5a9SPeter Geis * uart7 is exposed on CM1 / Module1A - to PI40
1745859b5a9SPeter Geis * pin 46 - GPIO22 - uart7_tx_m2
1755859b5a9SPeter Geis * pin 47 - GPIO23 - uart7_rx_m2
1765859b5a9SPeter Geis */
1775859b5a9SPeter Geis&uart7 {
1785859b5a9SPeter Geis	status = "okay";
1795859b5a9SPeter Geis};
1805859b5a9SPeter Geis
1815859b5a9SPeter Geis&usb2phy0 {
1825859b5a9SPeter Geis	status = "okay";
1835859b5a9SPeter Geis};
1845859b5a9SPeter Geis
1855859b5a9SPeter Geis&usb2phy0_otg {
1865859b5a9SPeter Geis	phy-supply = <&vcc_5v>;
1875859b5a9SPeter Geis	status = "okay";
1885859b5a9SPeter Geis};
1895859b5a9SPeter Geis
1905859b5a9SPeter Geis&usb_host0_xhci {
1915859b5a9SPeter Geis	status = "okay";
1925859b5a9SPeter Geis};
1935859b5a9SPeter Geis
1945859b5a9SPeter Geis&vbus {
1955859b5a9SPeter Geis	vin-supply = <&vcc_5v>;
1965859b5a9SPeter Geis};
197