1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 2 3 /dts-v1/; 3 /dts-v1/; 4 4 5 #include "rk3566-soquartz.dtsi" 5 #include "rk3566-soquartz.dtsi" 6 6 7 / { 7 / { 8 model = "Pine64 SOQuartz on Model A ca 8 model = "Pine64 SOQuartz on Model A carrier board"; 9 compatible = "pine64,soquartz-model-a" 9 compatible = "pine64,soquartz-model-a", "pine64,soquartz", "rockchip,rk3566"; 10 10 11 aliases { 11 aliases { 12 ethernet0 = &gmac1; 12 ethernet0 = &gmac1; 13 }; 13 }; 14 14 15 /* labeled DCIN_12V in schematic */ 15 /* labeled DCIN_12V in schematic */ 16 vcc12v_dcin: vcc12v-dcin-regulator { 16 vcc12v_dcin: vcc12v-dcin-regulator { 17 compatible = "regulator-fixed" 17 compatible = "regulator-fixed"; 18 regulator-name = "vcc12v_dcin" 18 regulator-name = "vcc12v_dcin"; 19 regulator-always-on; 19 regulator-always-on; 20 regulator-boot-on; 20 regulator-boot-on; 21 regulator-min-microvolt = <120 21 regulator-min-microvolt = <12000000>; 22 regulator-max-microvolt = <120 22 regulator-max-microvolt = <12000000>; 23 }; 23 }; 24 24 25 vcc5v0_usb: vcc5v0-usb-regulator { 25 vcc5v0_usb: vcc5v0-usb-regulator { 26 compatible = "regulator-fixed" 26 compatible = "regulator-fixed"; 27 regulator-name = "vcc5v0_usb"; 27 regulator-name = "vcc5v0_usb"; 28 regulator-always-on; 28 regulator-always-on; 29 regulator-boot-on; 29 regulator-boot-on; 30 regulator-min-microvolt = <500 30 regulator-min-microvolt = <5000000>; 31 regulator-max-microvolt = <500 31 regulator-max-microvolt = <5000000>; 32 vin-supply = <&vcc12v_dcin>; 32 vin-supply = <&vcc12v_dcin>; 33 }; 33 }; 34 34 35 /* 35 /* 36 * Labelled VCC3V0_SD in schematic to 36 * Labelled VCC3V0_SD in schematic to not conflict with PMIC 37 * regulator, it's 3.3v in actuality 37 * regulator, it's 3.3v in actuality 38 */ 38 */ 39 vcc3v0_sd: vcc3v0-sd-regulator { 39 vcc3v0_sd: vcc3v0-sd-regulator { 40 compatible = "regulator-fixed" 40 compatible = "regulator-fixed"; 41 regulator-name = "vcc3v0_sd"; 41 regulator-name = "vcc3v0_sd"; 42 regulator-always-on; 42 regulator-always-on; 43 regulator-boot-on; 43 regulator-boot-on; 44 regulator-min-microvolt = <330 44 regulator-min-microvolt = <3300000>; 45 regulator-max-microvolt = <330 45 regulator-max-microvolt = <3300000>; 46 vin-supply = <&vcc3v3_sys>; 46 vin-supply = <&vcc3v3_sys>; 47 }; 47 }; 48 48 49 vcc3v3_pcie: vcc3v3-pcie-regulator { 49 vcc3v3_pcie: vcc3v3-pcie-regulator { 50 compatible = "regulator-fixed" 50 compatible = "regulator-fixed"; 51 regulator-name = "vcc3v3_pcie" 51 regulator-name = "vcc3v3_pcie"; 52 regulator-always-on; 52 regulator-always-on; 53 regulator-boot-on; 53 regulator-boot-on; 54 regulator-min-microvolt = <330 54 regulator-min-microvolt = <3300000>; 55 regulator-max-microvolt = <330 55 regulator-max-microvolt = <3300000>; 56 vin-supply = <&vcc12v_dcin>; 56 vin-supply = <&vcc12v_dcin>; 57 }; 57 }; 58 58 59 vcc12v_pcie: vcc12v-pcie-regulator { 59 vcc12v_pcie: vcc12v-pcie-regulator { 60 compatible = "regulator-fixed" 60 compatible = "regulator-fixed"; 61 regulator-name = "vcc12v_pcie" 61 regulator-name = "vcc12v_pcie"; 62 regulator-always-on; 62 regulator-always-on; 63 regulator-boot-on; 63 regulator-boot-on; 64 regulator-min-microvolt = <120 64 regulator-min-microvolt = <12000000>; 65 regulator-max-microvolt = <120 65 regulator-max-microvolt = <12000000>; 66 vin-supply = <&vcc12v_dcin>; 66 vin-supply = <&vcc12v_dcin>; 67 }; 67 }; 68 }; 68 }; 69 69 70 /* phy for pcie */ 70 /* phy for pcie */ 71 &combphy2 { 71 &combphy2 { 72 phy-supply = <&vcc3v3_sys>; 72 phy-supply = <&vcc3v3_sys>; 73 status = "okay"; 73 status = "okay"; 74 }; 74 }; 75 75 76 &gmac1 { 76 &gmac1 { 77 status = "okay"; 77 status = "okay"; 78 }; 78 }; 79 79 80 /* 80 /* 81 * i2c1 is exposed on CM1 / Module1A 81 * i2c1 is exposed on CM1 / Module1A 82 * pin 80 - SCL0 - i2c1_scl_m0, pullup to vcc3 82 * pin 80 - SCL0 - i2c1_scl_m0, pullup to vcc3v3_pmu 83 * pin 82 - SDA0 - i2c1_sda_m0, pullup to vcc3 83 * pin 82 - SDA0 - i2c1_sda_m0, pullup to vcc3v3_pmu 84 */ 84 */ 85 &i2c1 { 85 &i2c1 { 86 status = "okay"; 86 status = "okay"; 87 87 88 /* 88 /* 89 * the rtc interrupt is tied to PMIC_P 89 * the rtc interrupt is tied to PMIC_PWRON, 90 * it will force reset the board if tr 90 * it will force reset the board if triggered. 91 */ 91 */ 92 pcf85063: rtc@51 { 92 pcf85063: rtc@51 { 93 compatible = "nxp,pcf85063"; 93 compatible = "nxp,pcf85063"; 94 reg = <0x51>; 94 reg = <0x51>; 95 }; 95 }; 96 }; 96 }; 97 97 98 /* 98 /* 99 * i2c2 is exposed on CM1 / Module1A - to PI40 99 * i2c2 is exposed on CM1 / Module1A - to PI40 100 * pin 56 - GPIO3 - i2c2_scl_m1, pullup to vcc 100 * pin 56 - GPIO3 - i2c2_scl_m1, pullup to vcc_3v3, shared with i2s1_8ch 101 * pin 58 - GPIO2 - i2c2_sda_m1, pullup to vcc 101 * pin 58 - GPIO2 - i2c2_sda_m1, pullup to vcc_3v3 102 */ 102 */ 103 &i2c2 { 103 &i2c2 { 104 status = "disabled"; 104 status = "disabled"; 105 }; 105 }; 106 106 107 /* 107 /* 108 * i2c3 is exposed on CM1 / Module1A - to PI40 108 * i2c3 is exposed on CM1 / Module1A - to PI40 109 * pin 35 - ID_SC(GPIO28) - i2c3_scl_m0, pullu 109 * pin 35 - ID_SC(GPIO28) - i2c3_scl_m0, pullup to vcc_3v3 110 * pin 36 - ID_SD(GPIO27) - i2c3_sda_m0, pullu 110 * pin 36 - ID_SD(GPIO27) - i2c3_sda_m0, pullup to vcc_3v3 111 */ 111 */ 112 &i2c3 { 112 &i2c3 { 113 status = "disabled"; 113 status = "disabled"; 114 }; 114 }; 115 115 116 /* 116 /* 117 * i2c4 is exposed on CM2 / Module1B - to PI40 117 * i2c4 is exposed on CM2 / Module1B - to PI40 118 * pin 45 - GPIO24 - i2c4_scl_m1 118 * pin 45 - GPIO24 - i2c4_scl_m1 119 * pin 47 - GPIO23 - i2c4_sda_m1 119 * pin 47 - GPIO23 - i2c4_sda_m1 120 */ 120 */ 121 &i2c4 { 121 &i2c4 { 122 status = "disabled"; 122 status = "disabled"; 123 }; 123 }; 124 124 125 /* 125 /* 126 * i2s1_8ch is exposed on CM1 / Module1A - to 126 * i2s1_8ch is exposed on CM1 / Module1A - to PI40 127 * pin 24 - GPIO26 - i2s1_sdi1_m1 127 * pin 24 - GPIO26 - i2s1_sdi1_m1 128 * pin 25 - GPIO21 - i2s1_sdo0_m1 128 * pin 25 - GPIO21 - i2s1_sdo0_m1 129 * pin 26 - GPIO19 - i2s1_lrck_tx_m1 129 * pin 26 - GPIO19 - i2s1_lrck_tx_m1 130 * pin 27 - GPIO20 - i2s1_sdi0_m1 130 * pin 27 - GPIO20 - i2s1_sdi0_m1 131 * pin 29 - GPIO16 - i2s1_sdi3_m1 131 * pin 29 - GPIO16 - i2s1_sdi3_m1 132 * pin 30 - GPIO6 - i2s1_sdi2_m1 132 * pin 30 - GPIO6 - i2s1_sdi2_m1 133 * pin 40 - GPIO9 - i2s1_sdo1_m1, shared with 133 * pin 40 - GPIO9 - i2s1_sdo1_m1, shared with spi3 134 * pin 41 - GPIO25 - i2s1_sdo2_m1 134 * pin 41 - GPIO25 - i2s1_sdo2_m1 135 * pin 49 - GPIO18 - i2s1_sclk_tx_m1 135 * pin 49 - GPIO18 - i2s1_sclk_tx_m1 136 * pin 50 - GPIO17 - i2s1_mclk_m1 136 * pin 50 - GPIO17 - i2s1_mclk_m1 137 * pin 56 - GPIO3 - i2s1_sdo3_m1, shared with 137 * pin 56 - GPIO3 - i2s1_sdo3_m1, shared with i2c2 138 */ 138 */ 139 &i2s1_8ch { 139 &i2s1_8ch { 140 status = "disabled"; 140 status = "disabled"; 141 }; 141 }; 142 142 143 &led_diy { 143 &led_diy { 144 status = "okay"; 144 status = "okay"; 145 }; 145 }; 146 146 147 &led_work { 147 &led_work { 148 status = "okay"; 148 status = "okay"; 149 }; 149 }; 150 150 151 &pcie2x1 { 151 &pcie2x1 { 152 vpcie3v3-supply = <&vcc3v3_pcie>; 152 vpcie3v3-supply = <&vcc3v3_pcie>; 153 status = "okay"; 153 status = "okay"; 154 }; 154 }; 155 155 156 &rgmii_phy1 { 156 &rgmii_phy1 { 157 status = "okay"; 157 status = "okay"; 158 }; 158 }; 159 159 160 &rgmii_phy1 { 160 &rgmii_phy1 { 161 status = "okay"; 161 status = "okay"; 162 }; 162 }; 163 163 164 /* 164 /* 165 * saradc is exposed on CM1 / Module1A - to J2 165 * saradc is exposed on CM1 / Module1A - to J2 166 * pin 94 - AIN1 - saradc_vin3 166 * pin 94 - AIN1 - saradc_vin3 167 * pin 96 - AIN0 - saradc_vin2 167 * pin 96 - AIN0 - saradc_vin2 168 */ 168 */ 169 &saradc { 169 &saradc { 170 status = "disabled"; 170 status = "disabled"; 171 }; 171 }; 172 172 173 /* 173 /* 174 * vmmc-supply is vcc3v3_sd on v1.0 and vcc3v0 174 * vmmc-supply is vcc3v3_sd on v1.0 and vcc3v0_sd on v1.1+ 175 * the soquartz SoM has SDMMC_PWR (CM1 pin 75) 175 * the soquartz SoM has SDMMC_PWR (CM1 pin 75) hardwired to vcc3v3_sys, 176 * so we use vcc3v3_sd here to ensure the regu 176 * so we use vcc3v3_sd here to ensure the regulator is enabled on older boards. 177 */ 177 */ 178 &sdmmc0 { 178 &sdmmc0 { 179 vmmc-supply = <&vcc3v3_sd>; 179 vmmc-supply = <&vcc3v3_sd>; 180 status = "okay"; 180 status = "okay"; 181 }; 181 }; 182 182 183 /* 183 /* 184 * spi3 is exposed on CM1 / Module1A - to PI40 184 * spi3 is exposed on CM1 / Module1A - to PI40 185 * pin 37 - GPIO7 - spi3_cs1_m0 185 * pin 37 - GPIO7 - spi3_cs1_m0 186 * pin 38 - GPIO11 - spi3_clk_m0 186 * pin 38 - GPIO11 - spi3_clk_m0 187 * pin 39 - GPIO8 - spi3_cs0_m0 187 * pin 39 - GPIO8 - spi3_cs0_m0 188 * pin 40 - GPIO9 - spi3_miso_m0, shared with 188 * pin 40 - GPIO9 - spi3_miso_m0, shared with i2s1_8ch 189 * pin 44 - GPIO10 - spi3_mosi_m0 189 * pin 44 - GPIO10 - spi3_mosi_m0 190 */ 190 */ 191 &spi3 { 191 &spi3 { 192 status = "disabled"; 192 status = "disabled"; 193 }; 193 }; 194 194 195 /* 195 /* 196 * uart2 is exposed on CM1 / Module1A - to PI4 196 * uart2 is exposed on CM1 / Module1A - to PI40 197 * pin 51 - GPIO15 - uart2_rx_m0 197 * pin 51 - GPIO15 - uart2_rx_m0 198 * pin 55 - GPIO14 - uart2_tx_m0 198 * pin 55 - GPIO14 - uart2_tx_m0 199 */ 199 */ 200 &uart2 { 200 &uart2 { 201 status = "okay"; 201 status = "okay"; 202 }; 202 }; 203 203 204 /* 204 /* 205 * uart7 is exposed on CM1 / Module1A - to PI4 205 * uart7 is exposed on CM1 / Module1A - to PI40 206 * pin 46 - GPIO22 - uart7_tx_m2 206 * pin 46 - GPIO22 - uart7_tx_m2 207 * pin 47 - GPIO23 - uart7_rx_m2 207 * pin 47 - GPIO23 - uart7_rx_m2 208 */ 208 */ 209 &uart7 { 209 &uart7 { 210 status = "okay"; 210 status = "okay"; 211 }; 211 }; 212 212 213 &usb2phy0 { 213 &usb2phy0 { 214 status = "okay"; 214 status = "okay"; 215 }; 215 }; 216 216 217 &usb2phy0_otg { 217 &usb2phy0_otg { 218 phy-supply = <&vcc5v0_usb>; 218 phy-supply = <&vcc5v0_usb>; 219 status = "okay"; 219 status = "okay"; 220 }; 220 }; 221 221 222 &usb_host0_xhci { 222 &usb_host0_xhci { 223 status = "okay"; 223 status = "okay"; 224 }; 224 }; 225 225 226 &vbus { 226 &vbus { 227 vin-supply = <&vcc5v0_usb>; 227 vin-supply = <&vcc5v0_usb>; 228 }; 228 }; 229 229 230 &vcc3v3_sd { 230 &vcc3v3_sd { 231 regulator-always-on; 231 regulator-always-on; 232 regulator-boot-on; 232 regulator-boot-on; 233 regulator-min-microvolt = <3300000>; 233 regulator-min-microvolt = <3300000>; 234 regulator-max-microvolt = <3300000>; 234 regulator-max-microvolt = <3300000>; 235 status = "okay"; 235 status = "okay"; 236 }; 236 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.