1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2022 Theobroma Systems Design und Consulting GmbH 4 */ 5 6/dts-v1/; 7#include "px30.dtsi" 8#include <dt-bindings/leds/common.h> 9 10/ { 11 aliases { 12 mmc0 = &emmc; 13 mmc1 = &sdio; 14 rtc0 = &rtc_twi; 15 rtc1 = &rk809; 16 }; 17 18 emmc_pwrseq: emmc-pwrseq { 19 compatible = "mmc-pwrseq-emmc"; 20 pinctrl-0 = <&emmc_reset>; 21 pinctrl-names = "default"; 22 reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; 23 }; 24 25 leds { 26 compatible = "gpio-leds"; 27 pinctrl-names = "default"; 28 pinctrl-0 = <&module_led_pin>; 29 status = "okay"; 30 31 module_led: led-0 { 32 gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>; 33 function = LED_FUNCTION_HEARTBEAT; 34 linux,default-trigger = "heartbeat"; 35 color = <LED_COLOR_ID_AMBER>; 36 }; 37 }; 38 39 vcc5v0_sys: vccsys-regulator { 40 compatible = "regulator-fixed"; 41 regulator-name = "vcc5v0_sys"; 42 regulator-always-on; 43 regulator-boot-on; 44 regulator-min-microvolt = <5000000>; 45 regulator-max-microvolt = <5000000>; 46 }; 47}; 48 49&cpu0 { 50 cpu-supply = <&vdd_arm>; 51}; 52 53&cpu1 { 54 cpu-supply = <&vdd_arm>; 55}; 56 57&cpu2 { 58 cpu-supply = <&vdd_arm>; 59}; 60 61&cpu3 { 62 cpu-supply = <&vdd_arm>; 63}; 64 65&emmc { 66 bus-width = <8>; 67 cap-mmc-highspeed; 68 mmc-hs200-1_8v; 69 supports-emmc; 70 mmc-pwrseq = <&emmc_pwrseq>; 71 non-removable; 72 vmmc-supply = <&vcc_3v3>; 73 vqmmc-supply = <&vcc_emmc>; 74 75 status = "okay"; 76}; 77 78/* On-module TI DP83825I PHY but no connector, enable in carrierboard */ 79&gmac { 80 snps,reset-gpio = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; 81 snps,reset-active-low; 82 snps,reset-delays-us = <0 50000 50000>; 83 phy-supply = <&vcc_3v3>; 84 clock_in_out = "output"; 85}; 86 87&gpio2 { 88 /* 89 * The Qseven BIOS_DISABLE signal on the PX30-µQ7 keeps the on-module 90 * eMMC powered-down initially (in fact it keeps the reset signal 91 * asserted). BIOS_DISABLE_OVERRIDE pin allows to re-enable eMMC after 92 * the SPL has been booted from SD Card. 93 */ 94 bios-disable-override-hog { 95 gpios = <RK_PB5 GPIO_ACTIVE_LOW>; 96 output-high; 97 line-name = "bios_disable_override"; 98 gpio-hog; 99 }; 100 101 /* 102 * The BIOS_DISABLE hog is a feedback pin for the actual status of the 103 * signal, ignoring the BIOS_DISABLE_OVERRIDE logic. This usually 104 * represents the state of a switch on the baseboard. 105 */ 106 bios-disable-n-hog { 107 gpios = <RK_PC2 GPIO_ACTIVE_LOW>; 108 line-name = "bios_disable"; 109 input; 110 gpio-hog; 111 }; 112}; 113 114&gpu { 115 status = "okay"; 116}; 117 118&i2c0 { 119 status = "okay"; 120 121 rk809: pmic@20 { 122 compatible = "rockchip,rk809"; 123 reg = <0x20>; 124 interrupt-parent = <&gpio0>; 125 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 126 pinctrl-0 = <&pmic_int>; 127 pinctrl-names = "default"; 128 #clock-cells = <0>; 129 clock-output-names = "xin32k"; 130 rockchip,system-power-controller; 131 wakeup-source; 132 133 vcc1-supply = <&vcc5v0_sys>; 134 vcc2-supply = <&vcc5v0_sys>; 135 vcc3-supply = <&vcc5v0_sys>; 136 vcc4-supply = <&vcc5v0_sys>; 137 vcc5-supply = <&vcc_3v3>; 138 vcc6-supply = <&vcc_3v3>; 139 vcc7-supply = <&vcc_3v3>; 140 vcc9-supply = <&vcc5v0_sys>; 141 142 regulators { 143 vdd_log: DCDC_REG1 { 144 regulator-name = "vdd_log"; 145 regulator-min-microvolt = <950000>; 146 regulator-max-microvolt = <1350000>; 147 regulator-ramp-delay = <6001>; 148 regulator-always-on; 149 regulator-boot-on; 150 151 regulator-state-mem { 152 regulator-on-in-suspend; 153 regulator-suspend-microvolt = <950000>; 154 }; 155 }; 156 157 vdd_arm: DCDC_REG2 { 158 regulator-name = "vdd_arm"; 159 regulator-min-microvolt = <950000>; 160 regulator-max-microvolt = <1350000>; 161 regulator-ramp-delay = <6001>; 162 regulator-always-on; 163 regulator-boot-on; 164 165 regulator-state-mem { 166 regulator-off-in-suspend; 167 regulator-suspend-microvolt = <950000>; 168 }; 169 }; 170 171 vcc_ddr: DCDC_REG3 { 172 regulator-name = "vcc_ddr"; 173 regulator-always-on; 174 regulator-boot-on; 175 176 regulator-state-mem { 177 regulator-on-in-suspend; 178 }; 179 }; 180 181 vcc_3v0_1v8: vcc_emmc: DCDC_REG4 { 182 regulator-name = "vcc_3v0_1v8"; 183 regulator-min-microvolt = <1800000>; 184 regulator-max-microvolt = <3000000>; 185 regulator-always-on; 186 regulator-boot-on; 187 188 regulator-state-mem { 189 regulator-on-in-suspend; 190 regulator-suspend-microvolt = <3000000>; 191 }; 192 }; 193 194 vcc_3v3: DCDC_REG5 { 195 regulator-name = "vcc_3v3"; 196 regulator-min-microvolt = <3300000>; 197 regulator-max-microvolt = <3300000>; 198 regulator-always-on; 199 regulator-boot-on; 200 201 regulator-state-mem { 202 regulator-on-in-suspend; 203 regulator-suspend-microvolt = <3300000>; 204 }; 205 }; 206 207 vcc_1v8: LDO_REG2 { 208 regulator-name = "vcc_1v8"; 209 regulator-min-microvolt = <1800000>; 210 regulator-max-microvolt = <1800000>; 211 regulator-always-on; 212 regulator-boot-on; 213 214 regulator-state-mem { 215 regulator-on-in-suspend; 216 regulator-suspend-microvolt = <1800000>; 217 }; 218 }; 219 220 vcc_1v0: LDO_REG3 { 221 regulator-name = "vcc_1v0"; 222 regulator-min-microvolt = <1000000>; 223 regulator-max-microvolt = <1000000>; 224 regulator-always-on; 225 regulator-boot-on; 226 227 regulator-state-mem { 228 regulator-on-in-suspend; 229 regulator-suspend-microvolt = <1000000>; 230 }; 231 }; 232 233 vccio_sd: LDO_REG5 { 234 regulator-name = "vccio_sd"; 235 regulator-min-microvolt = <1800000>; 236 regulator-max-microvolt = <3300000>; 237 regulator-always-on; 238 regulator-boot-on; 239 240 regulator-state-mem { 241 regulator-on-in-suspend; 242 regulator-suspend-microvolt = <3300000>; 243 }; 244 }; 245 246 vcc_lcd: LDO_REG7 { 247 regulator-always-on; 248 regulator-boot-on; 249 regulator-min-microvolt = <1000000>; 250 regulator-max-microvolt = <1000000>; 251 regulator-name = "vcc_lcd"; 252 253 regulator-state-mem { 254 regulator-off-in-suspend; 255 regulator-suspend-microvolt = <1000000>; 256 }; 257 }; 258 259 vcc_1v8_lcd: LDO_REG8 { 260 regulator-name = "vcc_1v8_lcd"; 261 regulator-min-microvolt = <1800000>; 262 regulator-max-microvolt = <1800000>; 263 regulator-always-on; 264 regulator-boot-on; 265 266 regulator-state-mem { 267 regulator-on-in-suspend; 268 regulator-suspend-microvolt = <1800000>; 269 }; 270 }; 271 272 vcca_1v8: LDO_REG9 { 273 regulator-name = "vcca_1v8"; 274 regulator-min-microvolt = <1800000>; 275 regulator-max-microvolt = <1800000>; 276 regulator-always-on; 277 regulator-boot-on; 278 279 regulator-state-mem { 280 regulator-off-in-suspend; 281 regulator-suspend-microvolt = <1800000>; 282 }; 283 }; 284 }; 285 }; 286}; 287 288&i2c1 { 289 status = "okay"; 290 291 /* SE05x is limited to Fast Mode */ 292 clock-frequency = <400000>; 293 294 fan: fan@18 { 295 compatible = "ti,amc6821"; 296 reg = <0x18>; 297 #cooling-cells = <2>; 298 }; 299 300 rtc_twi: rtc@6f { 301 compatible = "isil,isl1208"; 302 reg = <0x6f>; 303 }; 304}; 305 306&i2c3 { 307 status = "okay"; 308}; 309 310&i2s0_8ch { 311 rockchip,trcm-sync-tx-only; 312 313 pinctrl-0 = <&i2s0_8ch_sclktx &i2s0_8ch_lrcktx 314 &i2s0_8ch_sdo0 &i2s0_8ch_sdi0>; 315}; 316 317&io_domains { 318 vccio1-supply = <&vcc_3v3>; 319 vccio2-supply = <&vccio_sd>; 320 vccio3-supply = <&vcc_3v3>; 321 vccio4-supply = <&vcc_3v3>; 322 vccio5-supply = <&vcc_3v3>; 323 vccio6-supply = <&vcc_emmc>; 324 vccio-oscgpi-supply = <&vcc_3v3>; 325 326 status = "okay"; 327}; 328 329&pinctrl { 330 emmc { 331 emmc_reset: emmc-reset { 332 rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 333 }; 334 }; 335 336 leds { 337 module_led_pin: module-led-pin { 338 rockchip,pins = <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 339 }; 340 }; 341 342 pmic { 343 pmic_int: pmic-int { 344 rockchip,pins = 345 <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 346 }; 347 }; 348}; 349 350&saradc { 351 vref-supply = <&vcc_1v8>; 352 status = "okay"; 353}; 354 355&sdmmc { 356 vqmmc-supply = <&vccio_sd>; 357}; 358 359&tsadc { 360 status = "okay"; 361}; 362 363&u2phy { 364 status = "okay"; 365}; 366 367&u2phy_host { 368 status = "okay"; 369}; 370 371/* Mule UCAN */ 372&usb_host0_ehci { 373 status = "okay"; 374}; 375 376&usb_host0_ohci { 377 status = "okay"; 378}; 379 380&wdt { 381 status = "okay"; 382}; 383