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