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