1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright (c) 2017 T-Chip Intelligent Techn 3 * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd 4 */ 4 */ 5 5 6 /dts-v1/; 6 /dts-v1/; 7 #include <dt-bindings/input/linux-event-codes. 7 #include <dt-bindings/input/linux-event-codes.h> 8 #include <dt-bindings/pwm/pwm.h> 8 #include <dt-bindings/pwm/pwm.h> 9 #include "rk3399.dtsi" 9 #include "rk3399.dtsi" >> 10 #include "rk3399-opp.dtsi" 10 11 11 / { 12 / { 12 model = "Firefly ROC-RK3399-PC Board"; 13 model = "Firefly ROC-RK3399-PC Board"; 13 compatible = "firefly,roc-rk3399-pc", 14 compatible = "firefly,roc-rk3399-pc", "rockchip,rk3399"; 14 15 15 aliases { << 16 ethernet0 = &gmac; << 17 mmc0 = &sdmmc; << 18 mmc1 = &sdhci; << 19 }; << 20 << 21 chosen { 16 chosen { 22 stdout-path = "serial2:1500000 17 stdout-path = "serial2:1500000n8"; 23 }; 18 }; 24 19 25 backlight: backlight { 20 backlight: backlight { 26 compatible = "pwm-backlight"; 21 compatible = "pwm-backlight"; 27 pwms = <&pwm0 0 25000 0>; 22 pwms = <&pwm0 0 25000 0>; 28 }; 23 }; 29 24 30 clkin_gmac: external-gmac-clock { 25 clkin_gmac: external-gmac-clock { 31 compatible = "fixed-clock"; 26 compatible = "fixed-clock"; 32 clock-frequency = <125000000>; 27 clock-frequency = <125000000>; 33 clock-output-names = "clkin_gm 28 clock-output-names = "clkin_gmac"; 34 #clock-cells = <0>; 29 #clock-cells = <0>; 35 }; 30 }; 36 31 37 adc-keys { 32 adc-keys { 38 compatible = "adc-keys"; 33 compatible = "adc-keys"; 39 io-channels = <&saradc 1>; 34 io-channels = <&saradc 1>; 40 io-channel-names = "buttons"; 35 io-channel-names = "buttons"; 41 keyup-threshold-microvolt = <1 36 keyup-threshold-microvolt = <1500000>; 42 poll-interval = <100>; 37 poll-interval = <100>; 43 38 44 button-recovery { !! 39 recovery { 45 label = "Recovery"; 40 label = "Recovery"; 46 linux,code = <KEY_VEND 41 linux,code = <KEY_VENDOR>; 47 press-threshold-microv 42 press-threshold-microvolt = <18000>; 48 }; 43 }; 49 }; 44 }; 50 45 51 gpio-keys { 46 gpio-keys { 52 compatible = "gpio-keys"; 47 compatible = "gpio-keys"; 53 autorepeat; 48 autorepeat; 54 pinctrl-names = "default"; 49 pinctrl-names = "default"; 55 pinctrl-0 = <&pwr_key_l>; 50 pinctrl-0 = <&pwr_key_l>; 56 51 57 key-power { !! 52 power { 58 debounce-interval = <1 53 debounce-interval = <100>; 59 gpios = <&gpio0 RK_PA5 54 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 60 label = "GPIO Key Powe 55 label = "GPIO Key Power"; 61 linux,code = <KEY_POWE 56 linux,code = <KEY_POWER>; 62 wakeup-source; 57 wakeup-source; 63 }; 58 }; 64 }; 59 }; 65 60 66 ir-receiver { << 67 compatible = "gpio-ir-receiver << 68 gpios = <&gpio0 RK_PA6 GPIO_AC << 69 pinctrl-names = "default"; << 70 pinctrl-0 = <&ir_int>; << 71 }; << 72 << 73 leds { 61 leds { 74 compatible = "gpio-leds"; 62 compatible = "gpio-leds"; 75 pinctrl-names = "default"; 63 pinctrl-names = "default"; 76 pinctrl-0 = <&work_led_pin>, < !! 64 pinctrl-0 = <&work_led_gpio>, <&diy_led_gpio>, <&yellow_led_gpio>; 77 65 78 work_led: led-0 { !! 66 work-led { 79 label = "green:work"; 67 label = "green:work"; 80 gpios = <&gpio2 RK_PD3 68 gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 81 default-state = "on"; 69 default-state = "on"; 82 linux,default-trigger 70 linux,default-trigger = "heartbeat"; 83 }; 71 }; 84 72 85 diy_led: led-1 { !! 73 diy-led { 86 label = "red:diy"; 74 label = "red:diy"; 87 gpios = <&gpio0 RK_PB5 75 gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 88 default-state = "off"; 76 default-state = "off"; 89 linux,default-trigger !! 77 linux,default-trigger = "mmc1"; 90 }; 78 }; 91 79 92 yellow_led: led-2 { !! 80 yellow-led { 93 label = "yellow:yellow 81 label = "yellow:yellow-led"; 94 gpios = <&gpio0 RK_PA2 82 gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 95 default-state = "off"; 83 default-state = "off"; 96 linux,default-trigger !! 84 linux,default-trigger = "mmc0"; 97 }; 85 }; 98 }; 86 }; 99 87 100 sdio_pwrseq: sdio-pwrseq { 88 sdio_pwrseq: sdio-pwrseq { 101 compatible = "mmc-pwrseq-simpl 89 compatible = "mmc-pwrseq-simple"; 102 clocks = <&rk808 1>; 90 clocks = <&rk808 1>; 103 clock-names = "ext_clock"; 91 clock-names = "ext_clock"; 104 pinctrl-names = "default"; 92 pinctrl-names = "default"; 105 pinctrl-0 = <&wifi_enable_h>; 93 pinctrl-0 = <&wifi_enable_h>; 106 94 107 /* 95 /* 108 * On the module itself this i 96 * On the module itself this is one of these (depending 109 * on the actual card populate 97 * on the actual card populated): 110 * - SDIO_RESET_L_WL_REG_ON 98 * - SDIO_RESET_L_WL_REG_ON 111 * - PDN (power down when low) 99 * - PDN (power down when low) 112 */ 100 */ 113 reset-gpios = <&gpio0 RK_PB2 G 101 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 114 }; 102 }; 115 103 116 vcc_vbus_typec0: vcc-vbus-typec0 { 104 vcc_vbus_typec0: vcc-vbus-typec0 { 117 compatible = "regulator-fixed" 105 compatible = "regulator-fixed"; 118 regulator-name = "vcc_vbus_typ 106 regulator-name = "vcc_vbus_typec0"; 119 regulator-always-on; 107 regulator-always-on; 120 regulator-boot-on; 108 regulator-boot-on; 121 regulator-min-microvolt = <500 109 regulator-min-microvolt = <5000000>; 122 regulator-max-microvolt = <500 110 regulator-max-microvolt = <5000000>; 123 }; 111 }; 124 112 125 sys_12v: sys-12v { !! 113 /* >> 114 * should be placed inside mp8859, but not until mp8859 has >> 115 * its own dt-binding. >> 116 */ >> 117 dc_12v: mp8859-dcdc1 { 126 compatible = "regulator-fixed" 118 compatible = "regulator-fixed"; 127 regulator-name = "sys_12v"; !! 119 regulator-name = "dc_12v"; 128 regulator-always-on; 120 regulator-always-on; 129 regulator-boot-on; 121 regulator-boot-on; 130 vin-supply = <&dc_12v>; !! 122 regulator-min-microvolt = <12000000>; >> 123 regulator-max-microvolt = <12000000>; >> 124 vin-supply = <&vcc_vbus_typec0>; 131 }; 125 }; 132 126 133 /* switched by pmic_sleep */ 127 /* switched by pmic_sleep */ 134 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 128 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 135 compatible = "regulator-fixed" 129 compatible = "regulator-fixed"; 136 regulator-name = "vcc1v8_s3"; 130 regulator-name = "vcc1v8_s3"; 137 regulator-always-on; 131 regulator-always-on; 138 regulator-boot-on; 132 regulator-boot-on; 139 regulator-min-microvolt = <180 133 regulator-min-microvolt = <1800000>; 140 regulator-max-microvolt = <180 134 regulator-max-microvolt = <1800000>; 141 vin-supply = <&vcc_1v8>; 135 vin-supply = <&vcc_1v8>; 142 }; 136 }; 143 137 144 vcc3v0_sd: vcc3v0-sd { << 145 compatible = "regulator-fixed" << 146 enable-active-high; << 147 gpio = <&gpio4 RK_PD6 GPIO_ACT << 148 pinctrl-names = "default"; << 149 pinctrl-0 = <&vcc3v0_sd_en>; << 150 regulator-name = "vcc3v0_sd"; << 151 regulator-boot-on; << 152 regulator-min-microvolt = <300 << 153 regulator-max-microvolt = <300 << 154 vin-supply = <&vcc3v3_sys>; << 155 }; << 156 << 157 vcc3v3_sys: vcc3v3-sys { 138 vcc3v3_sys: vcc3v3-sys { 158 compatible = "regulator-fixed" 139 compatible = "regulator-fixed"; 159 regulator-name = "vcc3v3_sys"; 140 regulator-name = "vcc3v3_sys"; 160 regulator-always-on; 141 regulator-always-on; 161 regulator-boot-on; 142 regulator-boot-on; 162 regulator-min-microvolt = <330 143 regulator-min-microvolt = <3300000>; 163 regulator-max-microvolt = <330 144 regulator-max-microvolt = <3300000>; 164 vin-supply = <&sys_12v>; !! 145 vin-supply = <&dc_12v>; 165 }; << 166 << 167 vcca_0v9: vcca-0v9 { << 168 compatible = "regulator-fixed" << 169 regulator-name = "vcca_0v9"; << 170 regulator-always-on; << 171 regulator-boot-on; << 172 regulator-min-microvolt = <900 << 173 regulator-max-microvolt = <900 << 174 vin-supply = <&vcc3v3_sys>; << 175 }; 146 }; 176 147 177 /* Actually 3 regulators (host0, 1, 2) 148 /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */ 178 vcc5v0_host: vcc5v0-host-regulator { 149 vcc5v0_host: vcc5v0-host-regulator { 179 compatible = "regulator-fixed" 150 compatible = "regulator-fixed"; 180 enable-active-high; 151 enable-active-high; 181 gpio = <&gpio1 RK_PA0 GPIO_ACT 152 gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 182 pinctrl-names = "default"; 153 pinctrl-names = "default"; 183 pinctrl-0 = <&vcc5v0_host_en & 154 pinctrl-0 = <&vcc5v0_host_en &hub_rst>; 184 regulator-name = "vcc5v0_host" 155 regulator-name = "vcc5v0_host"; >> 156 regulator-always-on; 185 vin-supply = <&vcc_sys>; 157 vin-supply = <&vcc_sys>; 186 }; 158 }; 187 159 188 vcc_vbus_typec1: vcc-vbus-typec1 { 160 vcc_vbus_typec1: vcc-vbus-typec1 { 189 compatible = "regulator-fixed" 161 compatible = "regulator-fixed"; 190 enable-active-high; 162 enable-active-high; 191 gpio = <&gpio1 RK_PB5 GPIO_ACT 163 gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 192 pinctrl-names = "default"; 164 pinctrl-names = "default"; 193 pinctrl-0 = <&vcc_vbus_typec1_ 165 pinctrl-0 = <&vcc_vbus_typec1_en>; 194 regulator-name = "vcc_vbus_typ 166 regulator-name = "vcc_vbus_typec1"; 195 regulator-always-on; 167 regulator-always-on; 196 vin-supply = <&vcc_sys>; 168 vin-supply = <&vcc_sys>; 197 }; 169 }; 198 170 199 vcc_sys: vcc-sys { 171 vcc_sys: vcc-sys { 200 compatible = "regulator-fixed" 172 compatible = "regulator-fixed"; 201 enable-active-high; 173 enable-active-high; 202 gpio = <&gpio2 RK_PA6 GPIO_ACT 174 gpio = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>; 203 pinctrl-names = "default"; 175 pinctrl-names = "default"; 204 pinctrl-0 = <&vcc_sys_en>; 176 pinctrl-0 = <&vcc_sys_en>; 205 regulator-name = "vcc_sys"; 177 regulator-name = "vcc_sys"; >> 178 regulator-always-on; 206 regulator-boot-on; 179 regulator-boot-on; 207 regulator-min-microvolt = <500 180 regulator-min-microvolt = <5000000>; 208 regulator-max-microvolt = <500 181 regulator-max-microvolt = <5000000>; 209 vin-supply = <&sys_12v>; !! 182 vin-supply = <&dc_12v>; 210 }; 183 }; 211 184 212 vdd_log: vdd-log { 185 vdd_log: vdd-log { 213 compatible = "pwm-regulator"; 186 compatible = "pwm-regulator"; 214 pwms = <&pwm2 0 25000 1>; 187 pwms = <&pwm2 0 25000 1>; 215 regulator-name = "vdd_log"; 188 regulator-name = "vdd_log"; 216 regulator-always-on; 189 regulator-always-on; 217 regulator-boot-on; 190 regulator-boot-on; 218 regulator-min-microvolt = <450 !! 191 regulator-min-microvolt = <800000>; 219 regulator-max-microvolt = <140 192 regulator-max-microvolt = <1400000>; 220 pwm-supply = <&vcc3v3_sys>; !! 193 vin-supply = <&vcc3v3_sys>; 221 }; 194 }; 222 }; 195 }; 223 196 224 &cpu_l0 { 197 &cpu_l0 { 225 cpu-supply = <&vdd_cpu_l>; 198 cpu-supply = <&vdd_cpu_l>; 226 }; 199 }; 227 200 228 &cpu_l1 { 201 &cpu_l1 { 229 cpu-supply = <&vdd_cpu_l>; 202 cpu-supply = <&vdd_cpu_l>; 230 }; 203 }; 231 204 232 &cpu_l2 { 205 &cpu_l2 { 233 cpu-supply = <&vdd_cpu_l>; 206 cpu-supply = <&vdd_cpu_l>; 234 }; 207 }; 235 208 236 &cpu_l3 { 209 &cpu_l3 { 237 cpu-supply = <&vdd_cpu_l>; 210 cpu-supply = <&vdd_cpu_l>; 238 }; 211 }; 239 212 240 &cpu_b0 { 213 &cpu_b0 { 241 cpu-supply = <&vdd_cpu_b>; 214 cpu-supply = <&vdd_cpu_b>; 242 }; 215 }; 243 216 244 &cpu_b1 { 217 &cpu_b1 { 245 cpu-supply = <&vdd_cpu_b>; 218 cpu-supply = <&vdd_cpu_b>; 246 }; 219 }; 247 220 248 &emmc_phy { 221 &emmc_phy { 249 status = "okay"; 222 status = "okay"; 250 }; 223 }; 251 224 252 &gmac { 225 &gmac { 253 assigned-clocks = <&cru SCLK_RMII_SRC> 226 assigned-clocks = <&cru SCLK_RMII_SRC>; 254 assigned-clock-parents = <&clkin_gmac> 227 assigned-clock-parents = <&clkin_gmac>; 255 clock_in_out = "input"; 228 clock_in_out = "input"; 256 phy-supply = <&vcc_lan>; 229 phy-supply = <&vcc_lan>; 257 phy-mode = "rgmii"; 230 phy-mode = "rgmii"; 258 pinctrl-names = "default"; 231 pinctrl-names = "default"; 259 pinctrl-0 = <&rgmii_pins>; 232 pinctrl-0 = <&rgmii_pins>; 260 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ 233 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 261 snps,reset-active-low; 234 snps,reset-active-low; 262 snps,reset-delays-us = <0 10000 50000> 235 snps,reset-delays-us = <0 10000 50000>; 263 tx_delay = <0x28>; 236 tx_delay = <0x28>; 264 rx_delay = <0x11>; 237 rx_delay = <0x11>; 265 status = "okay"; 238 status = "okay"; 266 }; 239 }; 267 240 268 &gpu { << 269 mali-supply = <&vdd_gpu>; << 270 status = "okay"; << 271 }; << 272 << 273 &hdmi { 241 &hdmi { 274 avdd-0v9-supply = <&vcca0v9_hdmi>; << 275 avdd-1v8-supply = <&vcca1v8_hdmi>; << 276 ddc-i2c-bus = <&i2c3>; 242 ddc-i2c-bus = <&i2c3>; 277 pinctrl-names = "default"; 243 pinctrl-names = "default"; 278 pinctrl-0 = <&hdmi_cec>; 244 pinctrl-0 = <&hdmi_cec>; 279 status = "okay"; 245 status = "okay"; 280 }; 246 }; 281 247 282 &hdmi_sound { << 283 status = "okay"; << 284 }; << 285 << 286 &i2c0 { 248 &i2c0 { 287 clock-frequency = <400000>; 249 clock-frequency = <400000>; 288 i2c-scl-rising-time-ns = <168>; 250 i2c-scl-rising-time-ns = <168>; 289 i2c-scl-falling-time-ns = <4>; 251 i2c-scl-falling-time-ns = <4>; 290 status = "okay"; 252 status = "okay"; 291 253 292 rk808: pmic@1b { 254 rk808: pmic@1b { 293 compatible = "rockchip,rk808"; 255 compatible = "rockchip,rk808"; 294 reg = <0x1b>; 256 reg = <0x1b>; 295 interrupt-parent = <&gpio1>; 257 interrupt-parent = <&gpio1>; 296 interrupts = <21 IRQ_TYPE_LEVE 258 interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 297 #clock-cells = <1>; 259 #clock-cells = <1>; 298 clock-output-names = "xin32k", 260 clock-output-names = "xin32k", "rk808-clkout2"; 299 pinctrl-names = "default"; 261 pinctrl-names = "default"; 300 pinctrl-0 = <&pmic_int_l>; 262 pinctrl-0 = <&pmic_int_l>; 301 rockchip,system-power-controll 263 rockchip,system-power-controller; 302 wakeup-source; 264 wakeup-source; 303 265 304 vcc1-supply = <&vcc3v3_sys>; 266 vcc1-supply = <&vcc3v3_sys>; 305 vcc2-supply = <&vcc3v3_sys>; 267 vcc2-supply = <&vcc3v3_sys>; 306 vcc3-supply = <&vcc3v3_sys>; 268 vcc3-supply = <&vcc3v3_sys>; 307 vcc4-supply = <&vcc3v3_sys>; 269 vcc4-supply = <&vcc3v3_sys>; 308 vcc6-supply = <&vcc3v3_sys>; 270 vcc6-supply = <&vcc3v3_sys>; 309 vcc7-supply = <&vcc3v3_sys>; 271 vcc7-supply = <&vcc3v3_sys>; 310 vcc8-supply = <&vcc3v3_sys>; 272 vcc8-supply = <&vcc3v3_sys>; 311 vcc9-supply = <&vcc3v3_sys>; 273 vcc9-supply = <&vcc3v3_sys>; 312 vcc10-supply = <&vcc3v3_sys>; 274 vcc10-supply = <&vcc3v3_sys>; 313 vcc11-supply = <&vcc3v3_sys>; 275 vcc11-supply = <&vcc3v3_sys>; 314 vcc12-supply = <&vcc3v3_sys>; 276 vcc12-supply = <&vcc3v3_sys>; >> 277 vcc13-supply = <&vcc3v3_sys>; >> 278 vcc14-supply = <&vcc3v3_sys>; 315 vddio-supply = <&vcc_3v0>; 279 vddio-supply = <&vcc_3v0>; 316 280 317 regulators { 281 regulators { 318 vdd_center: DCDC_REG1 282 vdd_center: DCDC_REG1 { 319 regulator-name 283 regulator-name = "vdd_center"; 320 regulator-alwa 284 regulator-always-on; 321 regulator-boot 285 regulator-boot-on; 322 regulator-min- 286 regulator-min-microvolt = <750000>; 323 regulator-max- 287 regulator-max-microvolt = <1350000>; 324 regulator-ramp 288 regulator-ramp-delay = <6001>; 325 regulator-stat 289 regulator-state-mem { 326 regula 290 regulator-off-in-suspend; 327 }; 291 }; 328 }; 292 }; 329 293 330 vdd_cpu_l: DCDC_REG2 { 294 vdd_cpu_l: DCDC_REG2 { 331 regulator-name 295 regulator-name = "vdd_cpu_l"; 332 regulator-alwa 296 regulator-always-on; 333 regulator-boot 297 regulator-boot-on; 334 regulator-min- 298 regulator-min-microvolt = <750000>; 335 regulator-max- 299 regulator-max-microvolt = <1350000>; 336 regulator-ramp 300 regulator-ramp-delay = <6001>; 337 regulator-stat 301 regulator-state-mem { 338 regula 302 regulator-off-in-suspend; 339 }; 303 }; 340 }; 304 }; 341 305 342 vcc_ddr: DCDC_REG3 { 306 vcc_ddr: DCDC_REG3 { 343 regulator-name 307 regulator-name = "vcc_ddr"; 344 regulator-alwa 308 regulator-always-on; 345 regulator-boot 309 regulator-boot-on; 346 regulator-stat 310 regulator-state-mem { 347 regula 311 regulator-on-in-suspend; 348 }; 312 }; 349 }; 313 }; 350 314 351 vcc_1v8: DCDC_REG4 { 315 vcc_1v8: DCDC_REG4 { 352 regulator-name 316 regulator-name = "vcc_1v8"; 353 regulator-alwa 317 regulator-always-on; 354 regulator-boot 318 regulator-boot-on; 355 regulator-min- 319 regulator-min-microvolt = <1800000>; 356 regulator-max- 320 regulator-max-microvolt = <1800000>; 357 regulator-stat 321 regulator-state-mem { 358 regula 322 regulator-on-in-suspend; 359 regula 323 regulator-suspend-microvolt = <1800000>; 360 }; 324 }; 361 }; 325 }; 362 326 363 vcca1v8_codec: LDO_REG 327 vcca1v8_codec: LDO_REG1 { 364 regulator-name 328 regulator-name = "vcca1v8_codec"; 365 regulator-alwa 329 regulator-always-on; 366 regulator-boot 330 regulator-boot-on; 367 regulator-min- 331 regulator-min-microvolt = <1800000>; 368 regulator-max- 332 regulator-max-microvolt = <1800000>; 369 regulator-stat 333 regulator-state-mem { 370 regula 334 regulator-off-in-suspend; 371 }; 335 }; 372 }; 336 }; 373 337 374 vcca1v8_hdmi: LDO_REG2 !! 338 vcc1v8_hdmi: LDO_REG2 { 375 regulator-name !! 339 regulator-name = "vcc1v8_hdmi"; 376 regulator-alwa 340 regulator-always-on; 377 regulator-boot 341 regulator-boot-on; 378 regulator-min- 342 regulator-min-microvolt = <1800000>; 379 regulator-max- 343 regulator-max-microvolt = <1800000>; 380 regulator-stat 344 regulator-state-mem { 381 regula 345 regulator-off-in-suspend; 382 }; 346 }; 383 }; 347 }; 384 348 385 vcc1v8_pmu: LDO_REG3 { 349 vcc1v8_pmu: LDO_REG3 { 386 regulator-name 350 regulator-name = "vcc1v8_pmu"; 387 regulator-alwa 351 regulator-always-on; 388 regulator-boot 352 regulator-boot-on; 389 regulator-min- 353 regulator-min-microvolt = <1800000>; 390 regulator-max- 354 regulator-max-microvolt = <1800000>; 391 regulator-stat 355 regulator-state-mem { 392 regula 356 regulator-on-in-suspend; 393 regula 357 regulator-suspend-microvolt = <1800000>; 394 }; 358 }; 395 }; 359 }; 396 360 397 vcc_sdio: LDO_REG4 { 361 vcc_sdio: LDO_REG4 { 398 regulator-name 362 regulator-name = "vcc_sdio"; 399 regulator-alwa 363 regulator-always-on; 400 regulator-boot 364 regulator-boot-on; 401 regulator-min- 365 regulator-min-microvolt = <1800000>; 402 regulator-max- 366 regulator-max-microvolt = <3000000>; 403 regulator-stat 367 regulator-state-mem { 404 regula 368 regulator-on-in-suspend; 405 regula 369 regulator-suspend-microvolt = <3000000>; 406 }; 370 }; 407 }; 371 }; 408 372 409 vcca3v0_codec: LDO_REG 373 vcca3v0_codec: LDO_REG5 { 410 regulator-name 374 regulator-name = "vcca3v0_codec"; 411 regulator-alwa 375 regulator-always-on; 412 regulator-boot 376 regulator-boot-on; 413 regulator-min- 377 regulator-min-microvolt = <3000000>; 414 regulator-max- 378 regulator-max-microvolt = <3000000>; 415 regulator-stat 379 regulator-state-mem { 416 regula 380 regulator-off-in-suspend; 417 }; 381 }; 418 }; 382 }; 419 383 420 vcc_1v5: LDO_REG6 { 384 vcc_1v5: LDO_REG6 { 421 regulator-name 385 regulator-name = "vcc_1v5"; 422 regulator-alwa 386 regulator-always-on; 423 regulator-boot 387 regulator-boot-on; 424 regulator-min- 388 regulator-min-microvolt = <1500000>; 425 regulator-max- 389 regulator-max-microvolt = <1500000>; 426 regulator-stat 390 regulator-state-mem { 427 regula 391 regulator-on-in-suspend; 428 regula 392 regulator-suspend-microvolt = <1500000>; 429 }; 393 }; 430 }; 394 }; 431 395 432 vcca0v9_hdmi: LDO_REG7 396 vcca0v9_hdmi: LDO_REG7 { 433 regulator-name 397 regulator-name = "vcca0v9_hdmi"; 434 regulator-alwa 398 regulator-always-on; 435 regulator-boot 399 regulator-boot-on; 436 regulator-min- 400 regulator-min-microvolt = <900000>; 437 regulator-max- 401 regulator-max-microvolt = <900000>; 438 regulator-stat 402 regulator-state-mem { 439 regula 403 regulator-off-in-suspend; 440 }; 404 }; 441 }; 405 }; 442 406 443 vcc_3v0: LDO_REG8 { 407 vcc_3v0: LDO_REG8 { 444 regulator-name 408 regulator-name = "vcc_3v0"; 445 regulator-alwa 409 regulator-always-on; 446 regulator-boot 410 regulator-boot-on; 447 regulator-min- 411 regulator-min-microvolt = <3000000>; 448 regulator-max- 412 regulator-max-microvolt = <3000000>; 449 regulator-stat 413 regulator-state-mem { 450 regula 414 regulator-on-in-suspend; 451 regula 415 regulator-suspend-microvolt = <3000000>; 452 }; 416 }; 453 }; 417 }; 454 418 455 vcc3v3_s3: vcc_lan: SW 419 vcc3v3_s3: vcc_lan: SWITCH_REG1 { 456 regulator-name 420 regulator-name = "vcc3v3_s3"; 457 regulator-alwa 421 regulator-always-on; 458 regulator-boot 422 regulator-boot-on; 459 regulator-stat 423 regulator-state-mem { 460 regula 424 regulator-off-in-suspend; 461 }; 425 }; 462 }; 426 }; 463 427 464 vcc3v3_s0: SWITCH_REG2 428 vcc3v3_s0: SWITCH_REG2 { 465 regulator-name 429 regulator-name = "vcc3v3_s0"; 466 regulator-alwa 430 regulator-always-on; 467 regulator-boot 431 regulator-boot-on; 468 regulator-stat 432 regulator-state-mem { 469 regula 433 regulator-off-in-suspend; 470 }; 434 }; 471 }; 435 }; 472 }; 436 }; 473 }; 437 }; 474 438 475 vdd_cpu_b: regulator@40 { 439 vdd_cpu_b: regulator@40 { 476 compatible = "silergy,syr827"; 440 compatible = "silergy,syr827"; 477 reg = <0x40>; 441 reg = <0x40>; 478 fcs,suspend-voltage-selector = 442 fcs,suspend-voltage-selector = <1>; 479 pinctrl-names = "default"; 443 pinctrl-names = "default"; 480 pinctrl-0 = <&vsel1_pin>; !! 444 pinctrl-0 = <&vsel1_gpio>; 481 regulator-name = "vdd_cpu_b"; 445 regulator-name = "vdd_cpu_b"; 482 regulator-min-microvolt = <712 446 regulator-min-microvolt = <712500>; 483 regulator-max-microvolt = <150 447 regulator-max-microvolt = <1500000>; 484 regulator-ramp-delay = <1000>; 448 regulator-ramp-delay = <1000>; 485 regulator-always-on; 449 regulator-always-on; 486 regulator-boot-on; 450 regulator-boot-on; 487 vin-supply = <&vcc3v3_sys>; 451 vin-supply = <&vcc3v3_sys>; 488 452 489 regulator-state-mem { 453 regulator-state-mem { 490 regulator-off-in-suspe 454 regulator-off-in-suspend; 491 }; 455 }; 492 }; 456 }; 493 457 494 vdd_gpu: regulator@41 { 458 vdd_gpu: regulator@41 { 495 compatible = "silergy,syr828"; 459 compatible = "silergy,syr828"; 496 reg = <0x41>; 460 reg = <0x41>; 497 fcs,suspend-voltage-selector = 461 fcs,suspend-voltage-selector = <1>; 498 pinctrl-names = "default"; 462 pinctrl-names = "default"; 499 pinctrl-0 = <&vsel2_pin>; !! 463 pinctrl-0 = <&vsel2_gpio>; 500 regulator-name = "vdd_gpu"; 464 regulator-name = "vdd_gpu"; 501 regulator-min-microvolt = <712 465 regulator-min-microvolt = <712500>; 502 regulator-max-microvolt = <150 466 regulator-max-microvolt = <1500000>; 503 regulator-ramp-delay = <1000>; 467 regulator-ramp-delay = <1000>; 504 regulator-always-on; 468 regulator-always-on; 505 regulator-boot-on; 469 regulator-boot-on; 506 vin-supply = <&vcc3v3_sys>; 470 vin-supply = <&vcc3v3_sys>; 507 471 508 regulator-state-mem { 472 regulator-state-mem { 509 regulator-off-in-suspe 473 regulator-off-in-suspend; 510 }; 474 }; 511 }; 475 }; 512 }; 476 }; 513 477 514 &i2c1 { 478 &i2c1 { 515 i2c-scl-rising-time-ns = <300>; 479 i2c-scl-rising-time-ns = <300>; 516 i2c-scl-falling-time-ns = <15>; 480 i2c-scl-falling-time-ns = <15>; 517 status = "okay"; 481 status = "okay"; 518 }; 482 }; 519 483 520 &i2c3 { 484 &i2c3 { 521 i2c-scl-rising-time-ns = <450>; 485 i2c-scl-rising-time-ns = <450>; 522 i2c-scl-falling-time-ns = <15>; 486 i2c-scl-falling-time-ns = <15>; 523 status = "okay"; 487 status = "okay"; 524 }; 488 }; 525 489 526 &i2c4 { 490 &i2c4 { 527 i2c-scl-rising-time-ns = <600>; 491 i2c-scl-rising-time-ns = <600>; 528 i2c-scl-falling-time-ns = <20>; 492 i2c-scl-falling-time-ns = <20>; 529 status = "okay"; 493 status = "okay"; 530 494 531 fusb1: usb-typec@22 { 495 fusb1: usb-typec@22 { 532 compatible = "fcs,fusb302"; 496 compatible = "fcs,fusb302"; 533 reg = <0x22>; 497 reg = <0x22>; 534 interrupt-parent = <&gpio1>; 498 interrupt-parent = <&gpio1>; 535 interrupts = <1 IRQ_TYPE_LEVEL 499 interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 536 pinctrl-names = "default"; 500 pinctrl-names = "default"; 537 pinctrl-0 = <&fusb1_int>; 501 pinctrl-0 = <&fusb1_int>; 538 vbus-supply = <&vcc_vbus_typec 502 vbus-supply = <&vcc_vbus_typec1>; 539 status = "okay"; 503 status = "okay"; 540 }; 504 }; 541 }; 505 }; 542 506 543 &i2c7 { 507 &i2c7 { 544 i2c-scl-rising-time-ns = <600>; 508 i2c-scl-rising-time-ns = <600>; 545 i2c-scl-falling-time-ns = <20>; 509 i2c-scl-falling-time-ns = <20>; 546 status = "okay"; 510 status = "okay"; 547 511 548 fusb0: usb-typec@22 { 512 fusb0: usb-typec@22 { 549 compatible = "fcs,fusb302"; 513 compatible = "fcs,fusb302"; 550 reg = <0x22>; 514 reg = <0x22>; 551 interrupt-parent = <&gpio1>; 515 interrupt-parent = <&gpio1>; 552 interrupts = <2 IRQ_TYPE_LEVEL 516 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 553 pinctrl-names = "default"; 517 pinctrl-names = "default"; 554 pinctrl-0 = <&fusb0_int>; 518 pinctrl-0 = <&fusb0_int>; 555 vbus-supply = <&vcc_vbus_typec 519 vbus-supply = <&vcc_vbus_typec0>; 556 status = "okay"; 520 status = "okay"; 557 }; 521 }; 558 << 559 mp8859: regulator@66 { << 560 compatible = "mps,mp8859"; << 561 reg = <0x66>; << 562 dc_12v: mp8859_dcdc { << 563 regulator-name = "dc_1 << 564 regulator-min-microvol << 565 regulator-max-microvol << 566 regulator-always-on; << 567 regulator-boot-on; << 568 vin-supply = <&vcc_vbu << 569 << 570 regulator-state-mem { << 571 regulator-on-i << 572 regulator-susp << 573 }; << 574 }; << 575 }; << 576 }; 522 }; 577 523 578 &i2s0 { 524 &i2s0 { 579 rockchip,playback-channels = <8>; 525 rockchip,playback-channels = <8>; 580 rockchip,capture-channels = <8>; 526 rockchip,capture-channels = <8>; 581 status = "okay"; 527 status = "okay"; 582 }; 528 }; 583 529 584 &i2s1 { 530 &i2s1 { 585 rockchip,playback-channels = <2>; 531 rockchip,playback-channels = <2>; 586 rockchip,capture-channels = <2>; 532 rockchip,capture-channels = <2>; 587 status = "okay"; 533 status = "okay"; 588 }; 534 }; 589 535 590 &i2s2 { 536 &i2s2 { 591 status = "okay"; 537 status = "okay"; 592 }; 538 }; 593 539 594 &io_domains { 540 &io_domains { 595 audio-supply = <&vcca1v8_codec>; 541 audio-supply = <&vcca1v8_codec>; 596 bt656-supply = <&vcc_3v0>; 542 bt656-supply = <&vcc_3v0>; 597 gpio1830-supply = <&vcc_3v0>; 543 gpio1830-supply = <&vcc_3v0>; 598 sdmmc-supply = <&vcc_sdio>; 544 sdmmc-supply = <&vcc_sdio>; 599 status = "okay"; 545 status = "okay"; 600 }; 546 }; 601 547 602 &pmu_io_domains { 548 &pmu_io_domains { 603 pmu1830-supply = <&vcc_3v0>; 549 pmu1830-supply = <&vcc_3v0>; 604 status = "okay"; 550 status = "okay"; 605 }; 551 }; 606 552 607 &pinctrl { 553 &pinctrl { 608 buttons { 554 buttons { 609 pwr_key_l: pwr-key-l { 555 pwr_key_l: pwr-key-l { 610 rockchip,pins = <0 RK_ 556 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 611 }; 557 }; 612 }; 558 }; 613 559 614 ir { << 615 ir_int: ir-int { << 616 rockchip,pins = <0 RK_ << 617 }; << 618 }; << 619 << 620 lcd-panel { 560 lcd-panel { 621 lcd_panel_reset: lcd-panel-res 561 lcd_panel_reset: lcd-panel-reset { 622 rockchip,pins = <4 RK_ !! 562 rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 623 }; 563 }; 624 }; 564 }; 625 565 626 leds { 566 leds { 627 diy_led_pin: diy-led-pin { !! 567 diy_led_gpio: diy_led-gpio { 628 rockchip,pins = <0 RK_ 568 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 629 }; 569 }; 630 570 631 work_led_pin: work-led-pin { !! 571 work_led_gpio: work_led-gpio { 632 rockchip,pins = <2 RK_ 572 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 633 }; 573 }; 634 574 635 yellow_led_pin: yellow-led-pin !! 575 yellow_led_gpio: yellow_led-gpio { 636 rockchip,pins = <0 RK_ 576 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 637 }; 577 }; 638 }; 578 }; 639 579 640 pmic { 580 pmic { 641 vsel1_pin: vsel1-pin { !! 581 vsel1_gpio: vsel1-gpio { 642 rockchip,pins = <1 RK_ 582 rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 643 }; 583 }; 644 584 645 vsel2_pin: vsel2-pin { !! 585 vsel2_gpio: vsel2-gpio { 646 rockchip,pins = <1 RK_ 586 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 647 }; 587 }; 648 }; 588 }; 649 589 650 sdio-pwrseq { 590 sdio-pwrseq { 651 wifi_enable_h: wifi-enable-h { 591 wifi_enable_h: wifi-enable-h { 652 rockchip,pins = <0 RK_ 592 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 653 }; 593 }; 654 }; 594 }; 655 595 656 sdmmc { << 657 vcc3v0_sd_en: vcc3v0-sd-en { << 658 rockchip,pins = <4 RK_ << 659 }; << 660 }; << 661 << 662 pmic { 596 pmic { 663 pmic_int_l: pmic-int-l { 597 pmic_int_l: pmic-int-l { 664 rockchip,pins = <1 RK_ 598 rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 665 }; 599 }; 666 }; 600 }; 667 601 668 usb2 { 602 usb2 { 669 vcc5v0_host_en: vcc5v0-host-en 603 vcc5v0_host_en: vcc5v0-host-en { 670 rockchip,pins = <1 RK_ 604 rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 671 }; 605 }; 672 606 673 vcc_sys_en: vcc-sys-en { 607 vcc_sys_en: vcc-sys-en { 674 rockchip,pins = <2 RK_ 608 rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 675 }; 609 }; 676 610 677 hub_rst: hub-rst { 611 hub_rst: hub-rst { 678 rockchip,pins = <2 RK_ 612 rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_output_high>; 679 }; 613 }; 680 }; 614 }; 681 615 682 usb-typec { 616 usb-typec { 683 vcc_vbus_typec1_en: vcc-vbus-t 617 vcc_vbus_typec1_en: vcc-vbus-typec1-en { 684 rockchip,pins = <1 RK_ 618 rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 685 }; 619 }; 686 }; 620 }; 687 621 688 fusb30x { 622 fusb30x { 689 fusb0_int: fusb0-int { 623 fusb0_int: fusb0-int { 690 rockchip,pins = <1 RK_ 624 rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 691 }; 625 }; 692 626 693 fusb1_int: fusb1-int { 627 fusb1_int: fusb1-int { 694 rockchip,pins = <1 RK_ 628 rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 695 }; 629 }; 696 }; 630 }; 697 }; 631 }; 698 632 699 &pwm0 { 633 &pwm0 { 700 status = "okay"; 634 status = "okay"; 701 }; 635 }; 702 636 703 &pwm2 { 637 &pwm2 { 704 status = "okay"; 638 status = "okay"; 705 }; 639 }; 706 640 707 &saradc { 641 &saradc { 708 vref-supply = <&vcca1v8_s3>; 642 vref-supply = <&vcca1v8_s3>; 709 status = "okay"; 643 status = "okay"; 710 }; 644 }; 711 645 712 &sdmmc { 646 &sdmmc { 713 bus-width = <4>; 647 bus-width = <4>; >> 648 cap-mmc-highspeed; 714 cap-sd-highspeed; 649 cap-sd-highspeed; 715 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_ 650 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 716 disable-wp; 651 disable-wp; 717 max-frequency = <150000000>; 652 max-frequency = <150000000>; 718 pinctrl-names = "default"; 653 pinctrl-names = "default"; 719 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sd 654 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 720 sd-uhs-sdr104; << 721 vmmc-supply = <&vcc3v0_sd>; << 722 vqmmc-supply = <&vcc_sdio>; << 723 status = "okay"; 655 status = "okay"; 724 }; 656 }; 725 657 726 &sdhci { 658 &sdhci { 727 bus-width = <8>; 659 bus-width = <8>; >> 660 mmc-hs400-1_8v; >> 661 mmc-hs400-enhanced-strobe; 728 non-removable; 662 non-removable; 729 status = "okay"; 663 status = "okay"; 730 }; << 731 << 732 &spi1 { << 733 status = "okay"; << 734 << 735 flash@0 { << 736 compatible = "jedec,spi-nor"; << 737 reg = <0>; << 738 spi-max-frequency = <30000000> << 739 }; << 740 }; 664 }; 741 665 742 &tcphy0 { 666 &tcphy0 { 743 status = "okay"; 667 status = "okay"; 744 }; 668 }; 745 669 746 &tcphy1 { 670 &tcphy1 { 747 status = "okay"; 671 status = "okay"; 748 }; 672 }; 749 673 750 &tsadc { 674 &tsadc { 751 /* tshut mode 0:CRU 1:GPIO */ 675 /* tshut mode 0:CRU 1:GPIO */ 752 rockchip,hw-tshut-mode = <1>; 676 rockchip,hw-tshut-mode = <1>; 753 /* tshut polarity 0:LOW 1:HIGH */ 677 /* tshut polarity 0:LOW 1:HIGH */ 754 rockchip,hw-tshut-polarity = <1>; 678 rockchip,hw-tshut-polarity = <1>; 755 status = "okay"; 679 status = "okay"; 756 }; 680 }; 757 681 758 &u2phy0 { 682 &u2phy0 { 759 status = "okay"; 683 status = "okay"; 760 684 761 u2phy0_otg: otg-port { 685 u2phy0_otg: otg-port { 762 phy-supply = <&vcc_vbus_typec0 686 phy-supply = <&vcc_vbus_typec0>; 763 status = "okay"; 687 status = "okay"; 764 }; 688 }; 765 689 766 u2phy0_host: host-port { 690 u2phy0_host: host-port { 767 phy-supply = <&vcc5v0_host>; 691 phy-supply = <&vcc5v0_host>; 768 status = "okay"; 692 status = "okay"; 769 }; 693 }; 770 }; 694 }; 771 695 772 &u2phy1 { 696 &u2phy1 { 773 status = "okay"; 697 status = "okay"; 774 698 775 u2phy1_otg: otg-port { 699 u2phy1_otg: otg-port { 776 phy-supply = <&vcc_vbus_typec1 700 phy-supply = <&vcc_vbus_typec1>; 777 status = "okay"; 701 status = "okay"; 778 }; 702 }; 779 703 780 u2phy1_host: host-port { 704 u2phy1_host: host-port { 781 phy-supply = <&vcc5v0_host>; 705 phy-supply = <&vcc5v0_host>; 782 status = "okay"; 706 status = "okay"; 783 }; 707 }; 784 }; 708 }; 785 709 786 &uart0 { 710 &uart0 { 787 pinctrl-names = "default"; 711 pinctrl-names = "default"; 788 pinctrl-0 = <&uart0_xfer &uart0_cts>; 712 pinctrl-0 = <&uart0_xfer &uart0_cts>; 789 status = "okay"; 713 status = "okay"; 790 }; 714 }; 791 715 792 &uart2 { 716 &uart2 { 793 status = "okay"; 717 status = "okay"; 794 }; 718 }; 795 719 796 &usb_host0_ehci { 720 &usb_host0_ehci { 797 status = "okay"; 721 status = "okay"; 798 }; 722 }; 799 723 800 &usb_host0_ohci { 724 &usb_host0_ohci { 801 status = "okay"; 725 status = "okay"; 802 }; 726 }; 803 727 804 &usb_host1_ehci { 728 &usb_host1_ehci { 805 status = "okay"; 729 status = "okay"; 806 }; 730 }; 807 731 808 &usb_host1_ohci { 732 &usb_host1_ohci { 809 status = "okay"; 733 status = "okay"; 810 }; 734 }; 811 735 812 &usbdrd3_0 { 736 &usbdrd3_0 { 813 status = "okay"; 737 status = "okay"; 814 }; 738 }; 815 739 816 &usbdrd_dwc3_0 { 740 &usbdrd_dwc3_0 { 817 status = "okay"; 741 status = "okay"; 818 }; 742 }; 819 743 820 &usbdrd3_1 { 744 &usbdrd3_1 { 821 status = "okay"; 745 status = "okay"; 822 }; 746 }; 823 747 824 &usbdrd_dwc3_1 { 748 &usbdrd_dwc3_1 { 825 status = "okay"; 749 status = "okay"; 826 dr_mode = "host"; 750 dr_mode = "host"; 827 }; 751 }; 828 752 829 &vopb { 753 &vopb { 830 status = "okay"; 754 status = "okay"; 831 }; 755 }; 832 756 833 &vopb_mmu { 757 &vopb_mmu { 834 status = "okay"; 758 status = "okay"; 835 }; 759 }; 836 760 837 &vopl { 761 &vopl { 838 status = "okay"; 762 status = "okay"; 839 }; 763 }; 840 764 841 &vopl_mmu { 765 &vopl_mmu { 842 status = "okay"; 766 status = "okay"; 843 }; 767 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.