xref: /linux/arch/arm64/boot/dts/rockchip/rk3566-soquartz-blade.dts (revision a5c826ecde5222f755e7d8a0c8d795189c5c1228)
1*a5c826ecSAndrew Powers-Holmes// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*a5c826ecSAndrew Powers-Holmes
3*a5c826ecSAndrew Powers-Holmes/dts-v1/;
4*a5c826ecSAndrew Powers-Holmes
5*a5c826ecSAndrew Powers-Holmes#include <dt-bindings/gpio/gpio.h>
6*a5c826ecSAndrew Powers-Holmes#include <dt-bindings/input/input.h>
7*a5c826ecSAndrew Powers-Holmes#include <dt-bindings/leds/common.h>
8*a5c826ecSAndrew Powers-Holmes#include <dt-bindings/pinctrl/rockchip.h>
9*a5c826ecSAndrew Powers-Holmes
10*a5c826ecSAndrew Powers-Holmes#include "rk3566-soquartz.dtsi"
11*a5c826ecSAndrew Powers-Holmes
12*a5c826ecSAndrew Powers-Holmes/ {
13*a5c826ecSAndrew Powers-Holmes	model = "PINE64 RK3566 SOQuartz on Blade carrier board";
14*a5c826ecSAndrew Powers-Holmes	compatible = "pine64,soquartz-blade", "pine64,soquartz", "rockchip,rk3566";
15*a5c826ecSAndrew Powers-Holmes
16*a5c826ecSAndrew Powers-Holmes	/* labeled VCC3V0_SD in schematic to not conflict with PMIC regulator */
17*a5c826ecSAndrew Powers-Holmes	vcc3v0_sd: vcc3v0-sd-regulator {
18*a5c826ecSAndrew Powers-Holmes		compatible = "regulator-fixed";
19*a5c826ecSAndrew Powers-Holmes		regulator-name = "vcc3v0_sd";
20*a5c826ecSAndrew Powers-Holmes		regulator-always-on;
21*a5c826ecSAndrew Powers-Holmes		regulator-boot-on;
22*a5c826ecSAndrew Powers-Holmes		regulator-min-microvolt = <3300000>;
23*a5c826ecSAndrew Powers-Holmes		regulator-max-microvolt = <3300000>;
24*a5c826ecSAndrew Powers-Holmes		vin-supply = <&vcc3v3_sys>;
25*a5c826ecSAndrew Powers-Holmes	};
26*a5c826ecSAndrew Powers-Holmes
27*a5c826ecSAndrew Powers-Holmes	/* labeled VCC_SSD in schematic */
28*a5c826ecSAndrew Powers-Holmes	vcc3v3_pcie_p: vcc3v3-pcie-regulator {
29*a5c826ecSAndrew Powers-Holmes		compatible = "regulator-fixed";
30*a5c826ecSAndrew Powers-Holmes		regulator-name = "vcc3v3_pcie_p";
31*a5c826ecSAndrew Powers-Holmes		regulator-always-on;
32*a5c826ecSAndrew Powers-Holmes		regulator-boot-on;
33*a5c826ecSAndrew Powers-Holmes		regulator-min-microvolt = <3300000>;
34*a5c826ecSAndrew Powers-Holmes		regulator-max-microvolt = <3300000>;
35*a5c826ecSAndrew Powers-Holmes		vin-supply = <&vbus>;
36*a5c826ecSAndrew Powers-Holmes	};
37*a5c826ecSAndrew Powers-Holmes
38*a5c826ecSAndrew Powers-Holmes	vcc5v_dcin: vcc5v-dcin-regulator {
39*a5c826ecSAndrew Powers-Holmes		compatible = "regulator-fixed";
40*a5c826ecSAndrew Powers-Holmes		regulator-name = "vcc5v_dcin";
41*a5c826ecSAndrew Powers-Holmes		regulator-always-on;
42*a5c826ecSAndrew Powers-Holmes		regulator-boot-on;
43*a5c826ecSAndrew Powers-Holmes		regulator-min-microvolt = <5000000>;
44*a5c826ecSAndrew Powers-Holmes		regulator-max-microvolt = <5000000>;
45*a5c826ecSAndrew Powers-Holmes	};
46*a5c826ecSAndrew Powers-Holmes};
47*a5c826ecSAndrew Powers-Holmes
48*a5c826ecSAndrew Powers-Holmes&combphy2 {
49*a5c826ecSAndrew Powers-Holmes	phy-supply = <&vcc3v3_sys>;
50*a5c826ecSAndrew Powers-Holmes	status = "okay";
51*a5c826ecSAndrew Powers-Holmes};
52*a5c826ecSAndrew Powers-Holmes
53*a5c826ecSAndrew Powers-Holmes&gmac1 {
54*a5c826ecSAndrew Powers-Holmes	status = "okay";
55*a5c826ecSAndrew Powers-Holmes};
56*a5c826ecSAndrew Powers-Holmes
57*a5c826ecSAndrew Powers-Holmes/*
58*a5c826ecSAndrew Powers-Holmes * i2c1 is exposed on CM1 / Module1A
59*a5c826ecSAndrew Powers-Holmes * pin 80 - SCL0 - i2c1_scl_m0, pullup to vcc3v3_pmu
60*a5c826ecSAndrew Powers-Holmes * pin 82 - SDA0 - i2c1_sda_m0, pullup to vcc3v3_pmu
61*a5c826ecSAndrew Powers-Holmes */
62*a5c826ecSAndrew Powers-Holmes&i2c1 {
63*a5c826ecSAndrew Powers-Holmes	status = "okay";
64*a5c826ecSAndrew Powers-Holmes
65*a5c826ecSAndrew Powers-Holmes};
66*a5c826ecSAndrew Powers-Holmes
67*a5c826ecSAndrew Powers-Holmes/*
68*a5c826ecSAndrew Powers-Holmes * i2c2 is exposed on CM1 / Module1A - to PI40
69*a5c826ecSAndrew Powers-Holmes * pin 56 - GPIO3 - i2c2_scl_m1, pullup to vcc_3v3, shared with i2s1_8ch
70*a5c826ecSAndrew Powers-Holmes * pin 58 - GPIO2 - i2c2_sda_m1, pullup to vcc_3v3
71*a5c826ecSAndrew Powers-Holmes */
72*a5c826ecSAndrew Powers-Holmes&i2c2 {
73*a5c826ecSAndrew Powers-Holmes	status = "disabled";
74*a5c826ecSAndrew Powers-Holmes};
75*a5c826ecSAndrew Powers-Holmes
76*a5c826ecSAndrew Powers-Holmes/*
77*a5c826ecSAndrew Powers-Holmes * i2c3 is exposed on CM1 / Module1A - to PI40
78*a5c826ecSAndrew Powers-Holmes * pin 35 - ID_SC(GPIO28) - i2c3_scl_m0, pullup to vcc_3v3
79*a5c826ecSAndrew Powers-Holmes * pin 36 - ID_SD(GPIO27) - i2c3_sda_m0, pullup to vcc_3v3
80*a5c826ecSAndrew Powers-Holmes */
81*a5c826ecSAndrew Powers-Holmes&i2c3 {
82*a5c826ecSAndrew Powers-Holmes	status = "disabled";
83*a5c826ecSAndrew Powers-Holmes};
84*a5c826ecSAndrew Powers-Holmes
85*a5c826ecSAndrew Powers-Holmes/*
86*a5c826ecSAndrew Powers-Holmes * i2c4 is exposed on CM2 / Module1B - to PI40
87*a5c826ecSAndrew Powers-Holmes * pin 45 - GPIO24 - i2c4_scl_m1
88*a5c826ecSAndrew Powers-Holmes * pin 47 - GPIO23 - i2c4_sda_m1
89*a5c826ecSAndrew Powers-Holmes */
90*a5c826ecSAndrew Powers-Holmes&i2c4 {
91*a5c826ecSAndrew Powers-Holmes	status = "disabled";
92*a5c826ecSAndrew Powers-Holmes};
93*a5c826ecSAndrew Powers-Holmes
94*a5c826ecSAndrew Powers-Holmes/*
95*a5c826ecSAndrew Powers-Holmes * i2s1_8ch is exposed on CM1 / Module1A - to PI40
96*a5c826ecSAndrew Powers-Holmes * pin 24 - GPIO26 - i2s1_sdi1_m1
97*a5c826ecSAndrew Powers-Holmes * pin 25 - GPIO21 - i2s1_sdo0_m1
98*a5c826ecSAndrew Powers-Holmes * pin 26 - GPIO19 - i2s1_lrck_tx_m1
99*a5c826ecSAndrew Powers-Holmes * pin 27 - GPIO20 - i2s1_sdi0_m1
100*a5c826ecSAndrew Powers-Holmes * pin 29 - GPIO16 - i2s1_sdi3_m1
101*a5c826ecSAndrew Powers-Holmes * pin 30 - GPIO6  - i2s1_sdi2_m1
102*a5c826ecSAndrew Powers-Holmes * pin 40 - GPIO9  - i2s1_sdo1_m1, shared with spi3
103*a5c826ecSAndrew Powers-Holmes * pin 41 - GPIO25 - i2s1_sdo2_m1
104*a5c826ecSAndrew Powers-Holmes * pin 49 - GPIO18 - i2s1_sclk_tx_m1
105*a5c826ecSAndrew Powers-Holmes * pin 50 - GPIO17 - i2s1_mclk_m1
106*a5c826ecSAndrew Powers-Holmes * pin 56 - GPIO3  - i2s1_sdo3_m1, shared with i2c2
107*a5c826ecSAndrew Powers-Holmes */
108*a5c826ecSAndrew Powers-Holmes&i2s1_8ch {
109*a5c826ecSAndrew Powers-Holmes	status = "disabled";
110*a5c826ecSAndrew Powers-Holmes};
111*a5c826ecSAndrew Powers-Holmes
112*a5c826ecSAndrew Powers-Holmes&led_diy {
113*a5c826ecSAndrew Powers-Holmes	color = <LED_COLOR_ID_RED>;
114*a5c826ecSAndrew Powers-Holmes	function = LED_FUNCTION_DISK_ACTIVITY;
115*a5c826ecSAndrew Powers-Holmes	linux,default-trigger = "disk-activity";
116*a5c826ecSAndrew Powers-Holmes	status = "okay";
117*a5c826ecSAndrew Powers-Holmes};
118*a5c826ecSAndrew Powers-Holmes
119*a5c826ecSAndrew Powers-Holmes&led_work {
120*a5c826ecSAndrew Powers-Holmes	color = <LED_COLOR_ID_GREEN>;
121*a5c826ecSAndrew Powers-Holmes	function = LED_FUNCTION_STATUS;
122*a5c826ecSAndrew Powers-Holmes	linux,default-trigger = "heartbeat";
123*a5c826ecSAndrew Powers-Holmes	status = "okay";
124*a5c826ecSAndrew Powers-Holmes};
125*a5c826ecSAndrew Powers-Holmes
126*a5c826ecSAndrew Powers-Holmes&pcie2x1 {
127*a5c826ecSAndrew Powers-Holmes	vpcie3v3-supply = <&vcc3v3_pcie_p>;
128*a5c826ecSAndrew Powers-Holmes	status = "okay";
129*a5c826ecSAndrew Powers-Holmes};
130*a5c826ecSAndrew Powers-Holmes
131*a5c826ecSAndrew Powers-Holmes&rgmii_phy1 {
132*a5c826ecSAndrew Powers-Holmes	status = "okay";
133*a5c826ecSAndrew Powers-Holmes};
134*a5c826ecSAndrew Powers-Holmes
135*a5c826ecSAndrew Powers-Holmes/*
136*a5c826ecSAndrew Powers-Holmes * saradc is exposed on CM1 / Module1A - to J2
137*a5c826ecSAndrew Powers-Holmes * pin 94 - AIN1 - saradc_vin3
138*a5c826ecSAndrew Powers-Holmes * pin 96 - AIN0 - saradc_vin2
139*a5c826ecSAndrew Powers-Holmes */
140*a5c826ecSAndrew Powers-Holmes&saradc {
141*a5c826ecSAndrew Powers-Holmes	status = "disabled";
142*a5c826ecSAndrew Powers-Holmes};
143*a5c826ecSAndrew Powers-Holmes
144*a5c826ecSAndrew Powers-Holmes&sdmmc0 {
145*a5c826ecSAndrew Powers-Holmes	vmmc-supply = <&vcc3v0_sd>;
146*a5c826ecSAndrew Powers-Holmes	status = "okay";
147*a5c826ecSAndrew Powers-Holmes};
148*a5c826ecSAndrew Powers-Holmes
149*a5c826ecSAndrew Powers-Holmes/*
150*a5c826ecSAndrew Powers-Holmes * spi3 is exposed on CM1 / Module1A - to PI40
151*a5c826ecSAndrew Powers-Holmes * pin 37 - GPIO7  - spi3_cs1_m0
152*a5c826ecSAndrew Powers-Holmes * pin 38 - GPIO11 - spi3_clk_m0
153*a5c826ecSAndrew Powers-Holmes * pin 39 - GPIO8  - spi3_cs0_m0
154*a5c826ecSAndrew Powers-Holmes * pin 40 - GPIO9  - spi3_miso_m0, shared with i2s1_8ch
155*a5c826ecSAndrew Powers-Holmes * pin 44 - GPIO10 - spi3_mosi_m0
156*a5c826ecSAndrew Powers-Holmes */
157*a5c826ecSAndrew Powers-Holmes&spi3 {
158*a5c826ecSAndrew Powers-Holmes	status = "disabled";
159*a5c826ecSAndrew Powers-Holmes};
160*a5c826ecSAndrew Powers-Holmes
161*a5c826ecSAndrew Powers-Holmes/*
162*a5c826ecSAndrew Powers-Holmes * uart2 is exposed on CM1 / Module1A - to PI40
163*a5c826ecSAndrew Powers-Holmes * pin 51 - GPIO15 - uart2_rx_m0
164*a5c826ecSAndrew Powers-Holmes * pin 55 - GPIO14 - uart2_tx_m0
165*a5c826ecSAndrew Powers-Holmes */
166*a5c826ecSAndrew Powers-Holmes&uart2 {
167*a5c826ecSAndrew Powers-Holmes	status = "okay";
168*a5c826ecSAndrew Powers-Holmes};
169*a5c826ecSAndrew Powers-Holmes
170*a5c826ecSAndrew Powers-Holmes/*
171*a5c826ecSAndrew Powers-Holmes * uart7 is exposed on CM1 / Module1A - to PI40
172*a5c826ecSAndrew Powers-Holmes * pin 46 - GPIO22 - uart7_tx_m2
173*a5c826ecSAndrew Powers-Holmes * pin 47 - GPIO23 - uart7_rx_m2
174*a5c826ecSAndrew Powers-Holmes */
175*a5c826ecSAndrew Powers-Holmes&uart7 {
176*a5c826ecSAndrew Powers-Holmes	status = "okay";
177*a5c826ecSAndrew Powers-Holmes};
178*a5c826ecSAndrew Powers-Holmes
179*a5c826ecSAndrew Powers-Holmes&usb2phy0 {
180*a5c826ecSAndrew Powers-Holmes	status = "okay";
181*a5c826ecSAndrew Powers-Holmes};
182*a5c826ecSAndrew Powers-Holmes
183*a5c826ecSAndrew Powers-Holmes&usb2phy0_otg {
184*a5c826ecSAndrew Powers-Holmes	phy-supply = <&vbus>;
185*a5c826ecSAndrew Powers-Holmes	status = "okay";
186*a5c826ecSAndrew Powers-Holmes};
187*a5c826ecSAndrew Powers-Holmes
188*a5c826ecSAndrew Powers-Holmes&usb_host0_xhci {
189*a5c826ecSAndrew Powers-Holmes	status = "okay";
190*a5c826ecSAndrew Powers-Holmes};
191*a5c826ecSAndrew Powers-Holmes
192*a5c826ecSAndrew Powers-Holmes&vbus {
193*a5c826ecSAndrew Powers-Holmes	vin-supply = <&vcc5v_dcin>;
194*a5c826ecSAndrew Powers-Holmes};
195