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