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 <dt-bindings/gpio/gpio.h> 5 #include <dt-bindings/gpio/gpio.h> 6 #include <dt-bindings/input/linux-event-codes. 6 #include <dt-bindings/input/linux-event-codes.h> 7 #include <dt-bindings/leds/common.h> 7 #include <dt-bindings/leds/common.h> 8 #include <dt-bindings/pinctrl/rockchip.h> 8 #include <dt-bindings/pinctrl/rockchip.h> 9 #include <dt-bindings/soc/rockchip,vop2.h> 9 #include <dt-bindings/soc/rockchip,vop2.h> 10 #include "rk3566.dtsi" 10 #include "rk3566.dtsi" 11 11 12 / { 12 / { 13 chassis-type = "handset"; << 14 << 15 chosen: chosen { 13 chosen: chosen { 16 stdout-path = "serial2:1500000 14 stdout-path = "serial2:1500000n8"; 17 }; 15 }; 18 16 19 adc_keys: adc-keys { 17 adc_keys: adc-keys { 20 compatible = "adc-keys"; 18 compatible = "adc-keys"; 21 io-channels = <&saradc 0>; 19 io-channels = <&saradc 0>; 22 io-channel-names = "buttons"; 20 io-channel-names = "buttons"; 23 keyup-threshold-microvolt = <1 21 keyup-threshold-microvolt = <1800000>; 24 poll-interval = <60>; 22 poll-interval = <60>; 25 23 26 /* 24 /* 27 * Button is mapped to F key i 25 * Button is mapped to F key in BSP kernel, but 28 * according to input guidelin 26 * according to input guidelines it should be mode. 29 */ 27 */ 30 button-mode { 28 button-mode { 31 label = "MODE"; 29 label = "MODE"; 32 linux,code = <BTN_MODE 30 linux,code = <BTN_MODE>; 33 press-threshold-microv 31 press-threshold-microvolt = <1750>; 34 }; 32 }; 35 }; 33 }; 36 34 37 gpio_keys_control: gpio-keys-control { 35 gpio_keys_control: gpio-keys-control { 38 compatible = "gpio-keys"; 36 compatible = "gpio-keys"; 39 pinctrl-0 = <&btn_pins_ctrl>; 37 pinctrl-0 = <&btn_pins_ctrl>; 40 pinctrl-names = "default"; 38 pinctrl-names = "default"; 41 39 42 button-b { 40 button-b { 43 gpios = <&gpio3 RK_PC3 41 gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; 44 label = "SOUTH"; 42 label = "SOUTH"; 45 linux,code = <BTN_SOUT 43 linux,code = <BTN_SOUTH>; 46 }; 44 }; 47 45 48 button-down { 46 button-down { 49 gpios = <&gpio3 RK_PA4 47 gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; 50 label = "DPAD-DOWN"; 48 label = "DPAD-DOWN"; 51 linux,code = <BTN_DPAD 49 linux,code = <BTN_DPAD_DOWN>; 52 }; 50 }; 53 51 54 button-l1 { 52 button-l1 { 55 gpios = <&gpio3 RK_PB1 53 gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; 56 label = "TL"; 54 label = "TL"; 57 linux,code = <BTN_TL>; 55 linux,code = <BTN_TL>; 58 }; 56 }; 59 57 60 button-l2 { 58 button-l2 { 61 gpios = <&gpio3 RK_PB2 59 gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; 62 label = "TL2"; 60 label = "TL2"; 63 linux,code = <BTN_TL2> 61 linux,code = <BTN_TL2>; 64 }; 62 }; 65 63 66 button-select { 64 button-select { 67 gpios = <&gpio3 RK_PB6 65 gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; 68 label = "SELECT"; 66 label = "SELECT"; 69 linux,code = <BTN_SELE 67 linux,code = <BTN_SELECT>; 70 }; 68 }; 71 69 72 button-start { 70 button-start { 73 gpios = <&gpio3 RK_PB5 71 gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; 74 label = "START"; 72 label = "START"; 75 linux,code = <BTN_STAR 73 linux,code = <BTN_START>; 76 }; 74 }; 77 75 78 button-up { 76 button-up { 79 gpios = <&gpio3 RK_PA3 77 gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; 80 label = "DPAD-UP"; 78 label = "DPAD-UP"; 81 linux,code = <BTN_DPAD 79 linux,code = <BTN_DPAD_UP>; 82 }; 80 }; 83 81 84 button-x { 82 button-x { 85 gpios = <&gpio3 RK_PC0 83 gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; 86 label = "NORTH"; 84 label = "NORTH"; 87 linux,code = <BTN_NORT 85 linux,code = <BTN_NORTH>; 88 }; 86 }; 89 }; 87 }; 90 88 91 gpio_keys_vol: gpio-keys-vol { 89 gpio_keys_vol: gpio-keys-vol { 92 compatible = "gpio-keys"; 90 compatible = "gpio-keys"; 93 autorepeat; 91 autorepeat; 94 pinctrl-0 = <&btn_pins_vol>; 92 pinctrl-0 = <&btn_pins_vol>; 95 pinctrl-names = "default"; 93 pinctrl-names = "default"; 96 94 97 button-vol-down { 95 button-vol-down { 98 gpios = <&gpio3 RK_PB0 96 gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; 99 label = "VOLUMEDOWN"; 97 label = "VOLUMEDOWN"; 100 linux,code = <KEY_VOLU 98 linux,code = <KEY_VOLUMEDOWN>; 101 }; 99 }; 102 100 103 button-vol-up { 101 button-vol-up { 104 gpios = <&gpio3 RK_PA7 102 gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>; 105 label = "VOLUMEUP"; 103 label = "VOLUMEUP"; 106 linux,code = <KEY_VOLU 104 linux,code = <KEY_VOLUMEUP>; 107 }; 105 }; 108 }; 106 }; 109 107 110 hdmi-con { 108 hdmi-con { 111 compatible = "hdmi-connector"; 109 compatible = "hdmi-connector"; 112 ddc-i2c-bus = <&i2c5>; 110 ddc-i2c-bus = <&i2c5>; 113 type = "c"; 111 type = "c"; 114 112 115 port { 113 port { 116 hdmi_con_in: endpoint 114 hdmi_con_in: endpoint { 117 remote-endpoin 115 remote-endpoint = <&hdmi_out_con>; 118 }; 116 }; 119 }; 117 }; 120 }; 118 }; 121 119 122 leds: pwm-leds { 120 leds: pwm-leds { 123 compatible = "pwm-leds"; 121 compatible = "pwm-leds"; 124 122 125 green_led: led-0 { 123 green_led: led-0 { 126 color = <LED_COLOR_ID_ 124 color = <LED_COLOR_ID_GREEN>; 127 default-state = "on"; 125 default-state = "on"; 128 function = LED_FUNCTIO 126 function = LED_FUNCTION_POWER; 129 max-brightness = <255> 127 max-brightness = <255>; 130 pwms = <&pwm6 0 25000 128 pwms = <&pwm6 0 25000 0>; 131 }; 129 }; 132 130 133 amber_led: led-1 { 131 amber_led: led-1 { 134 color = <LED_COLOR_ID_ 132 color = <LED_COLOR_ID_AMBER>; 135 function = LED_FUNCTIO 133 function = LED_FUNCTION_CHARGING; 136 max-brightness = <255> 134 max-brightness = <255>; 137 pwms = <&pwm7 0 25000 135 pwms = <&pwm7 0 25000 0>; 138 }; 136 }; 139 137 140 red_led: led-2 { 138 red_led: led-2 { 141 color = <LED_COLOR_ID_ 139 color = <LED_COLOR_ID_RED>; 142 default-state = "off"; 140 default-state = "off"; 143 function = LED_FUNCTIO 141 function = LED_FUNCTION_STATUS; 144 max-brightness = <255> 142 max-brightness = <255>; 145 pwms = <&pwm0 0 25000 143 pwms = <&pwm0 0 25000 0>; 146 }; 144 }; 147 }; 145 }; 148 146 149 sdio_pwrseq: sdio-pwrseq { 147 sdio_pwrseq: sdio-pwrseq { 150 compatible = "mmc-pwrseq-simpl 148 compatible = "mmc-pwrseq-simple"; 151 clocks = <&rk817 1>; 149 clocks = <&rk817 1>; 152 clock-names = "ext_clock"; 150 clock-names = "ext_clock"; 153 pinctrl-0 = <&wifi_enable_h>; 151 pinctrl-0 = <&wifi_enable_h>; 154 pinctrl-names = "default"; 152 pinctrl-names = "default"; 155 post-power-on-delay-ms = <200> 153 post-power-on-delay-ms = <200>; 156 reset-gpios = <&gpio4 RK_PA2 G 154 reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_LOW>; 157 }; 155 }; 158 156 159 vcc3v3_lcd0_n: regulator-vcc3v3-lcd0 { 157 vcc3v3_lcd0_n: regulator-vcc3v3-lcd0 { 160 compatible = "regulator-fixed" 158 compatible = "regulator-fixed"; 161 gpio = <&gpio0 RK_PC2 GPIO_ACT 159 gpio = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; 162 enable-active-high; 160 enable-active-high; 163 pinctrl-0 = <&vcc_lcd_h>; 161 pinctrl-0 = <&vcc_lcd_h>; 164 pinctrl-names = "default"; 162 pinctrl-names = "default"; 165 regulator-boot-on; 163 regulator-boot-on; 166 regulator-min-microvolt = <330 164 regulator-min-microvolt = <3300000>; 167 regulator-max-microvolt = <330 165 regulator-max-microvolt = <3300000>; 168 regulator-name = "vcc3v3_lcd0_ 166 regulator-name = "vcc3v3_lcd0_n"; 169 vin-supply = <&vcc_3v3>; 167 vin-supply = <&vcc_3v3>; 170 regulator-state-mem { 168 regulator-state-mem { 171 regulator-off-in-suspe 169 regulator-off-in-suspend; 172 }; 170 }; 173 }; 171 }; 174 172 175 vcc_sys: regulator-vcc-sys { 173 vcc_sys: regulator-vcc-sys { 176 compatible = "regulator-fixed" 174 compatible = "regulator-fixed"; 177 regulator-always-on; 175 regulator-always-on; 178 regulator-boot-on; 176 regulator-boot-on; 179 regulator-min-microvolt = <380 177 regulator-min-microvolt = <3800000>; 180 regulator-max-microvolt = <380 178 regulator-max-microvolt = <3800000>; 181 regulator-name = "vcc_sys"; 179 regulator-name = "vcc_sys"; 182 }; 180 }; 183 181 184 vcc_wifi: regulator-vcc-wifi { 182 vcc_wifi: regulator-vcc-wifi { 185 compatible = "regulator-fixed" 183 compatible = "regulator-fixed"; 186 enable-active-high; 184 enable-active-high; 187 gpio = <&gpio0 RK_PA0 GPIO_ACT 185 gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 188 pinctrl-0 = <&vcc_wifi_h>; 186 pinctrl-0 = <&vcc_wifi_h>; 189 pinctrl-names = "default"; 187 pinctrl-names = "default"; 190 regulator-always-on; 188 regulator-always-on; 191 regulator-boot-on; 189 regulator-boot-on; 192 regulator-min-microvolt = <330 190 regulator-min-microvolt = <3300000>; 193 regulator-max-microvolt = <330 191 regulator-max-microvolt = <3300000>; 194 regulator-name = "vcc_wifi"; 192 regulator-name = "vcc_wifi"; 195 }; 193 }; 196 194 197 vibrator: pwm-vibrator { 195 vibrator: pwm-vibrator { 198 compatible = "pwm-vibrator"; 196 compatible = "pwm-vibrator"; 199 pwm-names = "enable"; 197 pwm-names = "enable"; 200 pwms = <&pwm5 0 1000000000 0>; 198 pwms = <&pwm5 0 1000000000 0>; 201 }; 199 }; 202 }; 200 }; 203 201 204 &combphy1 { 202 &combphy1 { 205 status = "okay"; 203 status = "okay"; 206 }; 204 }; 207 205 208 &cpu0 { 206 &cpu0 { 209 cpu-supply = <&vdd_cpu>; 207 cpu-supply = <&vdd_cpu>; 210 }; 208 }; 211 209 212 &cpu1 { 210 &cpu1 { 213 cpu-supply = <&vdd_cpu>; 211 cpu-supply = <&vdd_cpu>; 214 }; 212 }; 215 213 216 &cpu2 { 214 &cpu2 { 217 cpu-supply = <&vdd_cpu>; 215 cpu-supply = <&vdd_cpu>; 218 }; 216 }; 219 217 220 &cpu3 { 218 &cpu3 { 221 cpu-supply = <&vdd_cpu>; 219 cpu-supply = <&vdd_cpu>; 222 }; 220 }; 223 221 224 &gpu { 222 &gpu { 225 mali-supply = <&vdd_gpu>; 223 mali-supply = <&vdd_gpu>; 226 status = "okay"; 224 status = "okay"; 227 }; 225 }; 228 226 229 &hdmi { 227 &hdmi { 230 ddc-i2c-bus = <&i2c5>; 228 ddc-i2c-bus = <&i2c5>; 231 pinctrl-0 = <&hdmitxm0_cec>; 229 pinctrl-0 = <&hdmitxm0_cec>; 232 pinctrl-names = "default"; 230 pinctrl-names = "default"; 233 status = "okay"; 231 status = "okay"; 234 }; 232 }; 235 233 236 &hdmi_in { 234 &hdmi_in { 237 hdmi_in_vp0: endpoint { 235 hdmi_in_vp0: endpoint { 238 remote-endpoint = <&vp0_out_hd 236 remote-endpoint = <&vp0_out_hdmi>; 239 }; 237 }; 240 }; 238 }; 241 239 242 &hdmi_out { 240 &hdmi_out { 243 hdmi_out_con: endpoint { 241 hdmi_out_con: endpoint { 244 remote-endpoint = <&hdmi_con_i 242 remote-endpoint = <&hdmi_con_in>; 245 }; 243 }; 246 }; 244 }; 247 245 248 &hdmi_sound { 246 &hdmi_sound { 249 status = "okay"; 247 status = "okay"; 250 }; 248 }; 251 249 252 &i2c0 { 250 &i2c0 { 253 status = "okay"; 251 status = "okay"; 254 252 255 rk817: pmic@20 { 253 rk817: pmic@20 { 256 compatible = "rockchip,rk817"; 254 compatible = "rockchip,rk817"; 257 reg = <0x20>; 255 reg = <0x20>; 258 interrupt-parent = <&gpio0>; 256 interrupt-parent = <&gpio0>; 259 interrupts = <RK_PA3 IRQ_TYPE_ 257 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 260 clock-output-names = "rk808-cl 258 clock-output-names = "rk808-clkout1", "rk808-clkout2"; 261 clock-names = "mclk"; 259 clock-names = "mclk"; 262 clocks = <&cru I2S1_MCLKOUT_TX 260 clocks = <&cru I2S1_MCLKOUT_TX>; 263 assigned-clocks = <&cru I2S1_M 261 assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 264 assigned-clock-parents = <&cru 262 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 265 #clock-cells = <1>; 263 #clock-cells = <1>; 266 #sound-dai-cells = <0>; 264 #sound-dai-cells = <0>; 267 pinctrl-names = "default"; 265 pinctrl-names = "default"; 268 pinctrl-0 = <&i2s1m0_mclk>, <& 266 pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>; 269 wakeup-source; 267 wakeup-source; 270 268 271 vcc1-supply = <&vcc_sys>; 269 vcc1-supply = <&vcc_sys>; 272 vcc2-supply = <&vcc_sys>; 270 vcc2-supply = <&vcc_sys>; 273 vcc3-supply = <&vcc_sys>; 271 vcc3-supply = <&vcc_sys>; 274 vcc4-supply = <&vcc_sys>; 272 vcc4-supply = <&vcc_sys>; 275 vcc5-supply = <&vcc_sys>; 273 vcc5-supply = <&vcc_sys>; 276 vcc6-supply = <&vcc_sys>; 274 vcc6-supply = <&vcc_sys>; 277 vcc7-supply = <&vcc_sys>; 275 vcc7-supply = <&vcc_sys>; 278 vcc8-supply = <&vcc_sys>; 276 vcc8-supply = <&vcc_sys>; 279 vcc9-supply = <&dcdc_boost>; 277 vcc9-supply = <&dcdc_boost>; 280 278 281 regulators { 279 regulators { 282 vdd_logic: DCDC_REG1 { 280 vdd_logic: DCDC_REG1 { 283 regulator-alwa 281 regulator-always-on; 284 regulator-boot 282 regulator-boot-on; 285 regulator-min- 283 regulator-min-microvolt = <500000>; 286 regulator-max- 284 regulator-max-microvolt = <1350000>; 287 regulator-ramp 285 regulator-ramp-delay = <6001>; 288 regulator-init 286 regulator-initial-mode = <0x2>; 289 regulator-name 287 regulator-name = "vdd_logic"; 290 regulator-stat 288 regulator-state-mem { 291 regula 289 regulator-off-in-suspend; 292 regula 290 regulator-suspend-microvolt = <900000>; 293 }; 291 }; 294 }; 292 }; 295 293 296 vdd_gpu: DCDC_REG2 { 294 vdd_gpu: DCDC_REG2 { 297 regulator-alwa 295 regulator-always-on; 298 regulator-boot 296 regulator-boot-on; 299 regulator-min- 297 regulator-min-microvolt = <500000>; 300 regulator-max- 298 regulator-max-microvolt = <1350000>; 301 regulator-ramp 299 regulator-ramp-delay = <6001>; 302 regulator-init 300 regulator-initial-mode = <0x2>; 303 regulator-name 301 regulator-name = "vdd_gpu"; 304 regulator-stat 302 regulator-state-mem { 305 regula 303 regulator-off-in-suspend; 306 }; 304 }; 307 }; 305 }; 308 306 309 vcc_ddr: DCDC_REG3 { 307 vcc_ddr: DCDC_REG3 { 310 regulator-alwa 308 regulator-always-on; 311 regulator-boot 309 regulator-boot-on; 312 regulator-init 310 regulator-initial-mode = <0x2>; 313 regulator-name 311 regulator-name = "vcc_ddr"; 314 regulator-stat 312 regulator-state-mem { 315 regula 313 regulator-on-in-suspend; 316 }; 314 }; 317 }; 315 }; 318 316 319 vcc_3v3: DCDC_REG4 { 317 vcc_3v3: DCDC_REG4 { 320 regulator-alwa 318 regulator-always-on; 321 regulator-boot 319 regulator-boot-on; 322 regulator-min- 320 regulator-min-microvolt = <3300000>; 323 regulator-max- 321 regulator-max-microvolt = <3300000>; 324 regulator-init 322 regulator-initial-mode = <0x2>; 325 regulator-name 323 regulator-name = "vcc_3v3"; 326 regulator-stat 324 regulator-state-mem { 327 regula 325 regulator-on-in-suspend; 328 regula 326 regulator-suspend-microvolt = <3300000>; 329 }; 327 }; 330 }; 328 }; 331 329 332 vcca1v8_pmu: LDO_REG1 330 vcca1v8_pmu: LDO_REG1 { 333 regulator-alwa 331 regulator-always-on; 334 regulator-boot 332 regulator-boot-on; 335 regulator-min- 333 regulator-min-microvolt = <1800000>; 336 regulator-max- 334 regulator-max-microvolt = <1800000>; 337 regulator-name 335 regulator-name = "vcca1v8_pmu"; 338 regulator-stat 336 regulator-state-mem { 339 regula 337 regulator-on-in-suspend; 340 regula 338 regulator-suspend-microvolt = <1800000>; 341 }; 339 }; 342 }; 340 }; 343 341 344 vdda_0v9: LDO_REG2 { 342 vdda_0v9: LDO_REG2 { 345 regulator-alwa 343 regulator-always-on; 346 regulator-boot 344 regulator-boot-on; 347 regulator-min- 345 regulator-min-microvolt = <900000>; 348 regulator-max- 346 regulator-max-microvolt = <900000>; 349 regulator-name 347 regulator-name = "vdda_0v9"; 350 regulator-stat 348 regulator-state-mem { 351 regula 349 regulator-off-in-suspend; 352 }; 350 }; 353 }; 351 }; 354 352 355 vdda0v9_pmu: LDO_REG3 353 vdda0v9_pmu: LDO_REG3 { 356 regulator-alwa 354 regulator-always-on; 357 regulator-boot 355 regulator-boot-on; 358 regulator-min- 356 regulator-min-microvolt = <900000>; 359 regulator-max- 357 regulator-max-microvolt = <900000>; 360 regulator-name 358 regulator-name = "vdda0v9_pmu"; 361 regulator-stat 359 regulator-state-mem { 362 regula 360 regulator-on-in-suspend; 363 regula 361 regulator-suspend-microvolt = <900000>; 364 }; 362 }; 365 }; 363 }; 366 364 367 vccio_acodec: LDO_REG4 365 vccio_acodec: LDO_REG4 { 368 regulator-alwa 366 regulator-always-on; 369 regulator-boot 367 regulator-boot-on; 370 regulator-min- 368 regulator-min-microvolt = <3300000>; 371 regulator-max- 369 regulator-max-microvolt = <3300000>; 372 regulator-name 370 regulator-name = "vccio_acodec"; 373 regulator-stat 371 regulator-state-mem { 374 regula 372 regulator-off-in-suspend; 375 }; 373 }; 376 }; 374 }; 377 375 378 vccio_sd: LDO_REG5 { 376 vccio_sd: LDO_REG5 { 379 regulator-alwa 377 regulator-always-on; 380 regulator-boot 378 regulator-boot-on; 381 regulator-min- 379 regulator-min-microvolt = <1800000>; 382 regulator-max- 380 regulator-max-microvolt = <3300000>; 383 regulator-name 381 regulator-name = "vccio_sd"; 384 regulator-stat 382 regulator-state-mem { 385 regula 383 regulator-off-in-suspend; 386 }; 384 }; 387 }; 385 }; 388 386 389 vcc3v3_pmu: LDO_REG6 { 387 vcc3v3_pmu: LDO_REG6 { 390 regulator-alwa 388 regulator-always-on; 391 regulator-boot 389 regulator-boot-on; 392 regulator-min- 390 regulator-min-microvolt = <3300000>; 393 regulator-max- 391 regulator-max-microvolt = <3300000>; 394 regulator-name 392 regulator-name = "vcc3v3_pmu"; 395 regulator-stat 393 regulator-state-mem { 396 regula 394 regulator-on-in-suspend; 397 regula 395 regulator-suspend-microvolt = <3300000>; 398 }; 396 }; 399 }; 397 }; 400 398 401 vcc_1v8: LDO_REG7 { 399 vcc_1v8: LDO_REG7 { 402 regulator-alwa 400 regulator-always-on; 403 regulator-boot 401 regulator-boot-on; 404 regulator-min- 402 regulator-min-microvolt = <1800000>; 405 regulator-max- 403 regulator-max-microvolt = <1800000>; 406 regulator-name 404 regulator-name = "vcc_1v8"; 407 regulator-stat 405 regulator-state-mem { 408 regula 406 regulator-off-in-suspend; 409 }; 407 }; 410 }; 408 }; 411 409 412 vcc1v8_dvp: LDO_REG8 { 410 vcc1v8_dvp: LDO_REG8 { 413 regulator-alwa 411 regulator-always-on; 414 regulator-boot 412 regulator-boot-on; 415 regulator-min- 413 regulator-min-microvolt = <1800000>; 416 regulator-max- 414 regulator-max-microvolt = <3300000>; 417 regulator-name 415 regulator-name = "vcc1v8_dvp"; 418 regulator-stat 416 regulator-state-mem { 419 regula 417 regulator-off-in-suspend; 420 }; 418 }; 421 }; 419 }; 422 420 423 vcc2v8_dvp: LDO_REG9 { 421 vcc2v8_dvp: LDO_REG9 { 424 regulator-alwa 422 regulator-always-on; 425 regulator-boot 423 regulator-boot-on; 426 regulator-min- 424 regulator-min-microvolt = <2800000>; 427 regulator-max- 425 regulator-max-microvolt = <2800000>; 428 regulator-name 426 regulator-name = "vcc2v8_dvp"; 429 regulator-stat 427 regulator-state-mem { 430 regula 428 regulator-off-in-suspend; 431 }; 429 }; 432 }; 430 }; 433 431 434 dcdc_boost: BOOST { 432 dcdc_boost: BOOST { 435 regulator-alwa 433 regulator-always-on; 436 regulator-boot 434 regulator-boot-on; 437 regulator-min- 435 regulator-min-microvolt = <4700000>; 438 regulator-max- 436 regulator-max-microvolt = <5400000>; 439 regulator-name 437 regulator-name = "boost"; 440 regulator-stat 438 regulator-state-mem { 441 regula 439 regulator-off-in-suspend; 442 }; 440 }; 443 }; 441 }; 444 442 445 otg_switch: OTG_SWITCH 443 otg_switch: OTG_SWITCH { 446 regulator-name 444 regulator-name = "otg_switch"; 447 regulator-stat 445 regulator-state-mem { 448 regula 446 regulator-off-in-suspend; 449 }; 447 }; 450 }; 448 }; 451 }; 449 }; 452 }; 450 }; 453 451 454 vdd_cpu: regulator@40 { 452 vdd_cpu: regulator@40 { 455 compatible = "fcs,fan53555"; 453 compatible = "fcs,fan53555"; 456 reg = <0x40>; 454 reg = <0x40>; 457 fcs,suspend-voltage-selector = 455 fcs,suspend-voltage-selector = <1>; 458 regulator-always-on; 456 regulator-always-on; 459 regulator-boot-on; 457 regulator-boot-on; 460 regulator-min-microvolt = <712 458 regulator-min-microvolt = <712500>; 461 regulator-max-microvolt = <139 459 regulator-max-microvolt = <1390000>; 462 regulator-name = "vdd_cpu"; 460 regulator-name = "vdd_cpu"; 463 regulator-ramp-delay = <2300>; 461 regulator-ramp-delay = <2300>; 464 vin-supply = <&vcc_sys>; 462 vin-supply = <&vcc_sys>; 465 regulator-state-mem { 463 regulator-state-mem { 466 regulator-off-in-suspe 464 regulator-off-in-suspend; 467 }; 465 }; 468 }; 466 }; 469 }; 467 }; 470 468 471 &i2c1 { 469 &i2c1 { 472 /* Unknown/unused device at 0x3c */ 470 /* Unknown/unused device at 0x3c */ 473 status = "disabled"; 471 status = "disabled"; 474 }; 472 }; 475 473 476 &i2c5 { 474 &i2c5 { 477 pinctrl-0 = <&i2c5m1_xfer>; 475 pinctrl-0 = <&i2c5m1_xfer>; 478 pinctrl-names = "default"; 476 pinctrl-names = "default"; 479 status = "okay"; 477 status = "okay"; 480 }; 478 }; 481 479 482 &i2s0_8ch { 480 &i2s0_8ch { 483 status = "okay"; 481 status = "okay"; 484 }; 482 }; 485 483 486 &i2s1_8ch { 484 &i2s1_8ch { 487 pinctrl-0 = <&i2s1m0_sclktx 485 pinctrl-0 = <&i2s1m0_sclktx 488 &i2s1m0_lrcktx 486 &i2s1m0_lrcktx 489 &i2s1m0_sdi0 487 &i2s1m0_sdi0 490 &i2s1m0_sdo0>; 488 &i2s1m0_sdo0>; 491 pinctrl-names = "default"; 489 pinctrl-names = "default"; 492 rockchip,trcm-sync-tx-only; 490 rockchip,trcm-sync-tx-only; 493 status = "okay"; 491 status = "okay"; 494 }; 492 }; 495 493 496 &pinctrl { 494 &pinctrl { 497 gpio-btns { 495 gpio-btns { 498 btn_pins_ctrl: btn-pins-ctrl { 496 btn_pins_ctrl: btn-pins-ctrl { 499 rockchip,pins = 497 rockchip,pins = 500 <3 RK_PA1 RK_F 498 <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>, 501 <3 RK_PA2 RK_F 499 <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>, 502 <3 RK_PA3 RK_F 500 <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>, 503 <3 RK_PA4 RK_F 501 <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, 504 <3 RK_PA5 RK_F 502 <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>, 505 <3 RK_PA6 RK_F 503 <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>, 506 <3 RK_PB1 RK_F 504 <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>, 507 <3 RK_PB2 RK_F 505 <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>, 508 <3 RK_PB3 RK_F 506 <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>, 509 <3 RK_PB4 RK_F 507 <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>, 510 <3 RK_PB5 RK_F 508 <3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>, 511 <3 RK_PB6 RK_F 509 <3 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>, 512 <3 RK_PC0 RK_F 510 <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>, 513 <3 RK_PC1 RK_F 511 <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>, 514 <3 RK_PC2 RK_F 512 <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>, 515 <3 RK_PC3 RK_F 513 <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>; 516 }; 514 }; 517 515 518 btn_pins_vol: btn-pins-vol { 516 btn_pins_vol: btn-pins-vol { 519 rockchip,pins = 517 rockchip,pins = 520 <3 RK_PA7 RK_FUNC_GPIO 518 <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>, 521 <3 RK_PB0 RK_FUNC_GPIO 519 <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 522 }; 520 }; 523 }; 521 }; 524 522 525 joy-mux { 523 joy-mux { 526 joy_mux_en: joy-mux-en { 524 joy_mux_en: joy-mux-en { 527 rockchip,pins = 525 rockchip,pins = 528 <0 RK_PB5 RK_F 526 <0 RK_PB5 RK_FUNC_GPIO &pcfg_output_low>; 529 }; 527 }; 530 }; 528 }; 531 529 532 pmic { 530 pmic { 533 pmic_int_l: pmic-int-l { 531 pmic_int_l: pmic-int-l { 534 rockchip,pins = 532 rockchip,pins = 535 <0 RK_PA3 RK_F 533 <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 536 }; 534 }; 537 }; 535 }; 538 536 539 sdio-pwrseq { 537 sdio-pwrseq { 540 wifi_enable_h: wifi-enable-h { 538 wifi_enable_h: wifi-enable-h { 541 rockchip,pins = 539 rockchip,pins = 542 <4 RK_PA2 RK_F 540 <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 543 }; 541 }; 544 }; 542 }; 545 543 546 vcc3v3-lcd { 544 vcc3v3-lcd { 547 vcc_lcd_h: vcc-lcd-h { 545 vcc_lcd_h: vcc-lcd-h { 548 rockchip,pins = 546 rockchip,pins = 549 <0 RK_PC2 RK_F 547 <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 550 }; 548 }; 551 }; 549 }; 552 550 553 vcc-wifi { 551 vcc-wifi { 554 vcc_wifi_h: vcc-wifi-h { 552 vcc_wifi_h: vcc-wifi-h { 555 rockchip,pins = 553 rockchip,pins = 556 <0 RK_PA0 RK_F 554 <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 557 }; 555 }; 558 }; 556 }; 559 }; 557 }; 560 558 561 &pmu_io_domains { 559 &pmu_io_domains { 562 status = "okay"; 560 status = "okay"; 563 pmuio1-supply = <&vcc3v3_pmu>; 561 pmuio1-supply = <&vcc3v3_pmu>; 564 pmuio2-supply = <&vcc3v3_pmu>; 562 pmuio2-supply = <&vcc3v3_pmu>; 565 vccio1-supply = <&vccio_acodec>; 563 vccio1-supply = <&vccio_acodec>; 566 vccio3-supply = <&vccio_sd>; 564 vccio3-supply = <&vccio_sd>; 567 vccio4-supply = <&vcc_1v8>; 565 vccio4-supply = <&vcc_1v8>; 568 vccio5-supply = <&vcc_3v3>; 566 vccio5-supply = <&vcc_3v3>; 569 vccio6-supply = <&vcc1v8_dvp>; 567 vccio6-supply = <&vcc1v8_dvp>; 570 vccio7-supply = <&vcc_3v3>; 568 vccio7-supply = <&vcc_3v3>; 571 }; 569 }; 572 570 573 &pwm0 { 571 &pwm0 { 574 pinctrl-0 = <&pwm0m1_pins>; 572 pinctrl-0 = <&pwm0m1_pins>; 575 pinctrl-names = "default"; 573 pinctrl-names = "default"; 576 status = "okay"; 574 status = "okay"; 577 }; 575 }; 578 576 579 &pwm5 { 577 &pwm5 { 580 status = "okay"; 578 status = "okay"; 581 }; 579 }; 582 580 583 &pwm6 { 581 &pwm6 { 584 status = "okay"; 582 status = "okay"; 585 }; 583 }; 586 584 587 &pwm7 { 585 &pwm7 { 588 status = "okay"; 586 status = "okay"; 589 }; 587 }; 590 588 591 &saradc { 589 &saradc { 592 vref-supply = <&vcc_1v8>; 590 vref-supply = <&vcc_1v8>; 593 status = "okay"; 591 status = "okay"; 594 }; 592 }; 595 593 596 &sdmmc0 { 594 &sdmmc0 { 597 bus-width = <4>; 595 bus-width = <4>; 598 cap-sd-highspeed; 596 cap-sd-highspeed; 599 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_ 597 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 600 disable-wp; 598 disable-wp; 601 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk 599 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 602 pinctrl-names = "default"; 600 pinctrl-names = "default"; 603 sd-uhs-sdr104; 601 sd-uhs-sdr104; 604 vmmc-supply = <&vcc_3v3>; 602 vmmc-supply = <&vcc_3v3>; 605 vqmmc-supply = <&vccio_sd>; 603 vqmmc-supply = <&vccio_sd>; 606 status = "okay"; 604 status = "okay"; 607 }; 605 }; 608 606 609 &sdmmc1 { 607 &sdmmc1 { 610 bus-width = <4>; 608 bus-width = <4>; 611 cap-sd-highspeed; 609 cap-sd-highspeed; 612 cd-gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_ 610 cd-gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_LOW>; 613 disable-wp; 611 disable-wp; 614 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd 612 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &sdmmc1_det>; 615 pinctrl-names = "default"; 613 pinctrl-names = "default"; 616 sd-uhs-sdr104; 614 sd-uhs-sdr104; 617 vmmc-supply = <&vcc_3v3>; 615 vmmc-supply = <&vcc_3v3>; 618 vqmmc-supply = <&vcc1v8_dvp>; 616 vqmmc-supply = <&vcc1v8_dvp>; 619 status = "okay"; 617 status = "okay"; 620 }; 618 }; 621 619 622 &sdmmc2 { 620 &sdmmc2 { 623 bus-width = <4>; 621 bus-width = <4>; 624 cap-sd-highspeed; 622 cap-sd-highspeed; 625 cap-sdio-irq; 623 cap-sdio-irq; 626 keep-power-in-suspend; 624 keep-power-in-suspend; 627 mmc-pwrseq = <&sdio_pwrseq>; 625 mmc-pwrseq = <&sdio_pwrseq>; 628 no-mmc; << 629 no-sd; << 630 non-removable; 626 non-removable; 631 pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_ 627 pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>; 632 pinctrl-names = "default"; 628 pinctrl-names = "default"; 633 sd-uhs-sdr50; << 634 vmmc-supply = <&vcc_wifi>; 629 vmmc-supply = <&vcc_wifi>; 635 vqmmc-supply = <&vcca1v8_pmu>; 630 vqmmc-supply = <&vcca1v8_pmu>; 636 status = "okay"; 631 status = "okay"; 637 }; 632 }; 638 633 639 &tsadc { 634 &tsadc { 640 rockchip,hw-tshut-mode = <1>; 635 rockchip,hw-tshut-mode = <1>; 641 rockchip,hw-tshut-polarity = <0>; 636 rockchip,hw-tshut-polarity = <0>; 642 status = "okay"; 637 status = "okay"; 643 }; 638 }; 644 639 645 &uart1 { 640 &uart1 { 646 pinctrl-0 = <&uart1m1_xfer &uart1m1_ct 641 pinctrl-0 = <&uart1m1_xfer &uart1m1_ctsn &uart1m1_rtsn>; 647 pinctrl-names = "default"; 642 pinctrl-names = "default"; 648 uart-has-rtscts; 643 uart-has-rtscts; 649 status = "okay"; 644 status = "okay"; 650 645 651 bluetooth { 646 bluetooth { 652 compatible = "realtek,rtl8821c 647 compatible = "realtek,rtl8821cs-bt", "realtek,rtl8723bs-bt"; 653 device-wake-gpios = <&gpio4 4 648 device-wake-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; 654 enable-gpios = <&gpio4 3 GPIO_ 649 enable-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>; 655 host-wake-gpios = <&gpio4 5 GP 650 host-wake-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; 656 }; 651 }; 657 }; 652 }; 658 653 659 &uart2 { 654 &uart2 { 660 status = "okay"; 655 status = "okay"; 661 }; 656 }; 662 657 663 /* 658 /* 664 * Lack the schematics to verify, but port wor 659 * Lack the schematics to verify, but port works as a peripheral 665 * (and not a host or OTG port). 660 * (and not a host or OTG port). 666 */ 661 */ 667 &usb_host0_xhci { 662 &usb_host0_xhci { 668 dr_mode = "peripheral"; 663 dr_mode = "peripheral"; 669 phys = <&usb2phy0_otg>; 664 phys = <&usb2phy0_otg>; 670 phy-names = "usb2-phy"; 665 phy-names = "usb2-phy"; 671 status = "okay"; 666 status = "okay"; 672 }; 667 }; 673 668 674 &usb_host1_ehci { 669 &usb_host1_ehci { 675 status = "okay"; 670 status = "okay"; 676 }; 671 }; 677 672 678 &usb_host1_ohci { 673 &usb_host1_ohci { 679 status = "okay"; 674 status = "okay"; 680 }; 675 }; 681 676 682 &usb_host1_xhci { 677 &usb_host1_xhci { 683 phy-names = "usb2-phy", "usb3-phy"; 678 phy-names = "usb2-phy", "usb3-phy"; 684 phys = <&usb2phy1_host>, <&combphy1 PH 679 phys = <&usb2phy1_host>, <&combphy1 PHY_TYPE_USB3>; 685 status = "okay"; 680 status = "okay"; 686 }; 681 }; 687 682 688 &usb2phy0 { 683 &usb2phy0 { 689 status = "okay"; 684 status = "okay"; 690 }; 685 }; 691 686 692 &usb2phy0_otg { 687 &usb2phy0_otg { 693 status = "okay"; 688 status = "okay"; 694 }; 689 }; 695 690 696 &usb2phy1 { 691 &usb2phy1 { 697 status = "okay"; 692 status = "okay"; 698 }; 693 }; 699 694 700 &usb2phy1_host { 695 &usb2phy1_host { 701 status = "okay"; 696 status = "okay"; 702 }; 697 }; 703 698 704 &vop { 699 &vop { 705 assigned-clocks = <&cru DCLK_VOP0>, <& 700 assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 706 assigned-clock-parents = <&pmucru PLL_ 701 assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 707 status = "okay"; 702 status = "okay"; 708 }; 703 }; 709 704 710 &vop_mmu { 705 &vop_mmu { 711 status = "okay"; 706 status = "okay"; 712 }; 707 }; 713 708 714 &vp0 { 709 &vp0 { 715 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_E 710 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 716 reg = <ROCKCHIP_VOP2_EP_HDMI0> 711 reg = <ROCKCHIP_VOP2_EP_HDMI0>; 717 remote-endpoint = <&hdmi_in_vp 712 remote-endpoint = <&hdmi_in_vp0>; 718 }; 713 }; 719 }; 714 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.