1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright (c) 2017 Fuzhou Rockchip Electron 3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 4 * Copyright (c) 2018 Akash Gajjar <Akash_Gajja 4 * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com> 5 * Copyright (c) 2020 Tobias Schramm <t.schramm 5 * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org> 6 */ 6 */ 7 7 8 /dts-v1/; 8 /dts-v1/; 9 #include <dt-bindings/input/gpio-keys.h> 9 #include <dt-bindings/input/gpio-keys.h> 10 #include <dt-bindings/input/linux-event-codes. 10 #include <dt-bindings/input/linux-event-codes.h> 11 #include <dt-bindings/pwm/pwm.h> 11 #include <dt-bindings/pwm/pwm.h> 12 #include <dt-bindings/usb/pd.h> 12 #include <dt-bindings/usb/pd.h> 13 #include <dt-bindings/leds/common.h> 13 #include <dt-bindings/leds/common.h> 14 #include "rk3399.dtsi" 14 #include "rk3399.dtsi" >> 15 #include "rk3399-opp.dtsi" 15 16 16 / { 17 / { 17 model = "Pine64 Pinebook Pro"; 18 model = "Pine64 Pinebook Pro"; 18 compatible = "pine64,pinebook-pro", "r 19 compatible = "pine64,pinebook-pro", "rockchip,rk3399"; 19 chassis-type = "laptop"; << 20 << 21 aliases { << 22 mmc0 = &sdio0; << 23 mmc1 = &sdmmc; << 24 mmc2 = &sdhci; << 25 }; << 26 20 27 chosen { 21 chosen { 28 stdout-path = "serial2:1500000 22 stdout-path = "serial2:1500000n8"; 29 }; 23 }; 30 24 31 backlight: edp-backlight { 25 backlight: edp-backlight { 32 compatible = "pwm-backlight"; 26 compatible = "pwm-backlight"; 33 power-supply = <&vcc_12v>; 27 power-supply = <&vcc_12v>; 34 pwms = <&pwm0 0 125000 0>; !! 28 pwms = <&pwm0 0 740740 0>; 35 }; << 36 << 37 bat: battery { << 38 compatible = "simple-battery"; << 39 charge-full-design-microamp-ho << 40 voltage-max-design-microvolt = << 41 voltage-min-design-microvolt = << 42 }; 29 }; 43 30 44 edp_panel: edp-panel { 31 edp_panel: edp-panel { 45 compatible = "boe,nv140fhmn49" 32 compatible = "boe,nv140fhmn49"; 46 backlight = <&backlight>; 33 backlight = <&backlight>; 47 enable-gpios = <&gpio1 RK_PA0 34 enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 48 pinctrl-names = "default"; 35 pinctrl-names = "default"; 49 pinctrl-0 = <&panel_en_pin>; !! 36 pinctrl-0 = <&panel_en_gpio>; 50 power-supply = <&vcc3v3_panel> 37 power-supply = <&vcc3v3_panel>; 51 38 52 port { !! 39 ports { 53 panel_in_edp: endpoint !! 40 #address-cells = <1>; 54 remote-endpoin !! 41 #size-cells = <0>; >> 42 >> 43 port@0 { >> 44 reg = <0>; >> 45 #address-cells = <1>; >> 46 #size-cells = <0>; >> 47 >> 48 panel_in_edp: endpoint@0 { >> 49 reg = <0>; >> 50 remote-endpoint = <&edp_out_panel>; >> 51 }; 55 }; 52 }; 56 }; 53 }; 57 }; 54 }; 58 55 59 /* 56 /* 60 * Use separate nodes for gpio-keys to 57 * Use separate nodes for gpio-keys to allow for selective deactivation 61 * of wakeup sources via sysfs without 58 * of wakeup sources via sysfs without disabling the whole key 62 */ 59 */ 63 gpio-key-lid { 60 gpio-key-lid { 64 compatible = "gpio-keys"; 61 compatible = "gpio-keys"; 65 pinctrl-names = "default"; 62 pinctrl-names = "default"; 66 pinctrl-0 = <&lidbtn_pin>; !! 63 pinctrl-0 = <&lidbtn_gpio>; 67 64 68 switch-lid { !! 65 lid { 69 debounce-interval = <2 66 debounce-interval = <20>; 70 gpios = <&gpio1 RK_PA1 67 gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; 71 label = "Lid"; 68 label = "Lid"; 72 linux,code = <SW_LID>; 69 linux,code = <SW_LID>; 73 linux,input-type = <EV 70 linux,input-type = <EV_SW>; 74 wakeup-event-action = 71 wakeup-event-action = <EV_ACT_DEASSERTED>; 75 wakeup-source; 72 wakeup-source; 76 }; 73 }; 77 }; 74 }; 78 75 79 gpio-key-power { 76 gpio-key-power { 80 compatible = "gpio-keys"; 77 compatible = "gpio-keys"; 81 pinctrl-names = "default"; 78 pinctrl-names = "default"; 82 pinctrl-0 = <&pwrbtn_pin>; !! 79 pinctrl-0 = <&pwrbtn_gpio>; 83 80 84 key-power { !! 81 power { 85 debounce-interval = <2 82 debounce-interval = <20>; 86 gpios = <&gpio0 RK_PA5 83 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 87 label = "Power"; 84 label = "Power"; 88 linux,code = <KEY_POWE 85 linux,code = <KEY_POWER>; 89 wakeup-source; 86 wakeup-source; 90 }; 87 }; 91 }; 88 }; 92 89 93 leds { 90 leds { 94 compatible = "gpio-leds"; 91 compatible = "gpio-leds"; 95 pinctrl-names = "default"; 92 pinctrl-names = "default"; 96 pinctrl-0 = <&pwr_led_pin &slp 93 pinctrl-0 = <&pwr_led_pin &slp_led_pin>; 97 94 98 green_led: led-0 { 95 green_led: led-0 { 99 color = <LED_COLOR_ID_ 96 color = <LED_COLOR_ID_GREEN>; 100 default-state = "on"; 97 default-state = "on"; 101 function = LED_FUNCTIO 98 function = LED_FUNCTION_POWER; 102 gpios = <&gpio0 RK_PB3 99 gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 103 label = "green:power"; 100 label = "green:power"; 104 }; 101 }; 105 102 106 red_led: led-1 { 103 red_led: led-1 { 107 color = <LED_COLOR_ID_ 104 color = <LED_COLOR_ID_RED>; 108 default-state = "off"; 105 default-state = "off"; 109 function = LED_FUNCTIO 106 function = LED_FUNCTION_STANDBY; 110 gpios = <&gpio0 RK_PA2 107 gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 111 label = "red:standby"; 108 label = "red:standby"; 112 panic-indicator; 109 panic-indicator; 113 retain-state-suspended 110 retain-state-suspended; 114 }; 111 }; 115 }; 112 }; 116 113 117 /* Power sequence for SDIO WiFi module 114 /* Power sequence for SDIO WiFi module */ 118 sdio_pwrseq: sdio-pwrseq { 115 sdio_pwrseq: sdio-pwrseq { 119 compatible = "mmc-pwrseq-simpl 116 compatible = "mmc-pwrseq-simple"; 120 clocks = <&rk808 1>; 117 clocks = <&rk808 1>; 121 clock-names = "ext_clock"; 118 clock-names = "ext_clock"; 122 pinctrl-names = "default"; 119 pinctrl-names = "default"; 123 pinctrl-0 = <&wifi_enable_h_pi !! 120 pinctrl-0 = <&wifi_enable_h_gpio>; 124 post-power-on-delay-ms = <100> 121 post-power-on-delay-ms = <100>; 125 power-off-delay-us = <500000>; 122 power-off-delay-us = <500000>; 126 123 127 /* WL_REG_ON on module */ 124 /* WL_REG_ON on module */ 128 reset-gpios = <&gpio0 RK_PB2 G 125 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 129 }; 126 }; 130 127 131 /* Audio components */ 128 /* Audio components */ 132 es8316-sound { 129 es8316-sound { 133 compatible = "simple-audio-car 130 compatible = "simple-audio-card"; 134 pinctrl-names = "default"; 131 pinctrl-names = "default"; 135 pinctrl-0 = <&hp_det_pin>; !! 132 pinctrl-0 = <&hp_det_gpio>; 136 simple-audio-card,name = "rock 133 simple-audio-card,name = "rockchip,es8316-codec"; 137 simple-audio-card,format = "i2 134 simple-audio-card,format = "i2s"; 138 simple-audio-card,mclk-fs = <2 135 simple-audio-card,mclk-fs = <256>; 139 136 140 simple-audio-card,widgets = 137 simple-audio-card,widgets = 141 "Microphone", "Mic Jac 138 "Microphone", "Mic Jack", 142 "Headphone", "Headphon 139 "Headphone", "Headphones", 143 "Speaker", "Speaker"; 140 "Speaker", "Speaker"; 144 simple-audio-card,routing = 141 simple-audio-card,routing = 145 "MIC1", "Mic Jack", 142 "MIC1", "Mic Jack", 146 "Headphones", "HPOL", 143 "Headphones", "HPOL", 147 "Headphones", "HPOR", 144 "Headphones", "HPOR", 148 "Speaker Amplifier INL 145 "Speaker Amplifier INL", "HPOL", 149 "Speaker Amplifier INR 146 "Speaker Amplifier INR", "HPOR", 150 "Speaker", "Speaker Am 147 "Speaker", "Speaker Amplifier OUTL", 151 "Speaker", "Speaker Am 148 "Speaker", "Speaker Amplifier OUTR"; 152 149 153 simple-audio-card,hp-det-gpio 150 simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; 154 simple-audio-card,aux-devs = < 151 simple-audio-card,aux-devs = <&speaker_amp>; 155 simple-audio-card,pin-switches 152 simple-audio-card,pin-switches = "Speaker"; 156 153 157 simple-audio-card,cpu { 154 simple-audio-card,cpu { 158 sound-dai = <&i2s1>; 155 sound-dai = <&i2s1>; 159 }; 156 }; 160 157 161 simple-audio-card,codec { 158 simple-audio-card,codec { 162 sound-dai = <&es8316>; 159 sound-dai = <&es8316>; 163 }; 160 }; 164 }; 161 }; 165 162 166 speaker_amp: speaker-amplifier { 163 speaker_amp: speaker-amplifier { 167 compatible = "simple-audio-amp 164 compatible = "simple-audio-amplifier"; 168 enable-gpios = <&gpio4 RK_PD3 165 enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; 169 sound-name-prefix = "Speaker A 166 sound-name-prefix = "Speaker Amplifier"; 170 VCC-supply = <&pa_5v>; 167 VCC-supply = <&pa_5v>; 171 }; 168 }; 172 169 173 /* Power tree */ 170 /* Power tree */ 174 /* Root power source */ 171 /* Root power source */ 175 vcc_sysin: vcc-sysin { 172 vcc_sysin: vcc-sysin { 176 compatible = "regulator-fixed" 173 compatible = "regulator-fixed"; 177 regulator-name = "vcc_sysin"; 174 regulator-name = "vcc_sysin"; 178 regulator-always-on; 175 regulator-always-on; 179 regulator-boot-on; 176 regulator-boot-on; 180 }; 177 }; 181 178 182 /* Regulators supplied by vcc_sysin */ 179 /* Regulators supplied by vcc_sysin */ 183 /* LCD backlight supply */ 180 /* LCD backlight supply */ 184 vcc_12v: vcc-12v { 181 vcc_12v: vcc-12v { 185 compatible = "regulator-fixed" 182 compatible = "regulator-fixed"; 186 regulator-name = "vcc_12v"; 183 regulator-name = "vcc_12v"; 187 regulator-always-on; 184 regulator-always-on; 188 regulator-boot-on; 185 regulator-boot-on; 189 regulator-min-microvolt = <120 186 regulator-min-microvolt = <12000000>; 190 regulator-max-microvolt = <120 187 regulator-max-microvolt = <12000000>; 191 vin-supply = <&vcc_sysin>; 188 vin-supply = <&vcc_sysin>; 192 189 193 regulator-state-mem { 190 regulator-state-mem { 194 regulator-off-in-suspe 191 regulator-off-in-suspend; 195 }; 192 }; 196 }; 193 }; 197 194 198 /* Main 3.3 V supply */ 195 /* Main 3.3 V supply */ 199 vcc3v3_sys: wifi_bat: vcc3v3-sys { 196 vcc3v3_sys: wifi_bat: vcc3v3-sys { 200 compatible = "regulator-fixed" 197 compatible = "regulator-fixed"; 201 regulator-name = "vcc3v3_sys"; 198 regulator-name = "vcc3v3_sys"; 202 regulator-always-on; 199 regulator-always-on; 203 regulator-boot-on; 200 regulator-boot-on; 204 regulator-min-microvolt = <330 201 regulator-min-microvolt = <3300000>; 205 regulator-max-microvolt = <330 202 regulator-max-microvolt = <3300000>; 206 vin-supply = <&vcc_sysin>; 203 vin-supply = <&vcc_sysin>; 207 204 208 regulator-state-mem { 205 regulator-state-mem { 209 regulator-on-in-suspen 206 regulator-on-in-suspend; 210 }; 207 }; 211 }; 208 }; 212 209 213 /* 5 V USB power supply */ 210 /* 5 V USB power supply */ 214 vcc5v0_usb: pa_5v: vcc5v0-usb-regulato 211 vcc5v0_usb: pa_5v: vcc5v0-usb-regulator { 215 compatible = "regulator-fixed" 212 compatible = "regulator-fixed"; 216 enable-active-high; 213 enable-active-high; 217 gpio = <&gpio1 RK_PB5 GPIO_ACT 214 gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 218 pinctrl-names = "default"; 215 pinctrl-names = "default"; 219 pinctrl-0 = <&pwr_5v_pin>; !! 216 pinctrl-0 = <&pwr_5v_gpio>; 220 regulator-name = "vcc5v0_usb"; 217 regulator-name = "vcc5v0_usb"; 221 regulator-always-on; 218 regulator-always-on; 222 regulator-min-microvolt = <500 219 regulator-min-microvolt = <5000000>; 223 regulator-max-microvolt = <500 220 regulator-max-microvolt = <5000000>; 224 vin-supply = <&vcc_sysin>; 221 vin-supply = <&vcc_sysin>; 225 222 226 regulator-state-mem { 223 regulator-state-mem { 227 regulator-off-in-suspe 224 regulator-off-in-suspend; 228 }; 225 }; 229 }; 226 }; 230 227 231 /* RK3399 logic supply */ 228 /* RK3399 logic supply */ 232 vdd_log: vdd-log { 229 vdd_log: vdd-log { 233 compatible = "pwm-regulator"; 230 compatible = "pwm-regulator"; 234 pwms = <&pwm2 0 25000 1>; 231 pwms = <&pwm2 0 25000 1>; 235 pwm-supply = <&vcc_sysin>; << 236 regulator-name = "vdd_log"; 232 regulator-name = "vdd_log"; 237 regulator-always-on; 233 regulator-always-on; 238 regulator-boot-on; 234 regulator-boot-on; 239 regulator-min-microvolt = <800 235 regulator-min-microvolt = <800000>; 240 regulator-max-microvolt = <140 236 regulator-max-microvolt = <1400000>; >> 237 vin-supply = <&vcc_sysin>; 241 238 242 regulator-state-mem { 239 regulator-state-mem { 243 regulator-on-in-suspen 240 regulator-on-in-suspend; 244 }; 241 }; 245 }; 242 }; 246 243 247 /* Regulators supplied by vcc3v3_sys * 244 /* Regulators supplied by vcc3v3_sys */ 248 /* 0.9 V supply, always on */ 245 /* 0.9 V supply, always on */ 249 vcc_0v9: vcc-0v9 { 246 vcc_0v9: vcc-0v9 { 250 compatible = "regulator-fixed" 247 compatible = "regulator-fixed"; 251 regulator-name = "vcc_0v9"; 248 regulator-name = "vcc_0v9"; 252 regulator-always-on; 249 regulator-always-on; 253 regulator-boot-on; 250 regulator-boot-on; 254 regulator-min-microvolt = <900 251 regulator-min-microvolt = <900000>; 255 regulator-max-microvolt = <900 252 regulator-max-microvolt = <900000>; 256 vin-supply = <&vcc3v3_sys>; 253 vin-supply = <&vcc3v3_sys>; 257 }; 254 }; 258 255 259 /* S3 1.8 V supply, switched by vcc1v8 256 /* S3 1.8 V supply, switched by vcc1v8_s3 */ 260 vcca1v8_s3: vcc1v8-s3 { 257 vcca1v8_s3: vcc1v8-s3 { 261 compatible = "regulator-fixed" 258 compatible = "regulator-fixed"; 262 regulator-name = "vcca1v8_s3"; 259 regulator-name = "vcca1v8_s3"; 263 regulator-always-on; 260 regulator-always-on; 264 regulator-boot-on; 261 regulator-boot-on; 265 regulator-min-microvolt = <180 262 regulator-min-microvolt = <1800000>; 266 regulator-max-microvolt = <180 263 regulator-max-microvolt = <1800000>; 267 vin-supply = <&vcc3v3_sys>; 264 vin-supply = <&vcc3v3_sys>; 268 }; 265 }; 269 266 270 /* micro SD card power */ 267 /* micro SD card power */ 271 vcc3v0_sd: vcc3v0-sd { 268 vcc3v0_sd: vcc3v0-sd { 272 compatible = "regulator-fixed" 269 compatible = "regulator-fixed"; 273 enable-active-high; 270 enable-active-high; 274 gpio = <&gpio0 RK_PA1 GPIO_ACT 271 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 275 pinctrl-names = "default"; 272 pinctrl-names = "default"; 276 pinctrl-0 = <&sdmmc0_pwr_h_pin !! 273 pinctrl-0 = <&sdmmc0_pwr_h_gpio>; 277 regulator-name = "vcc3v0_sd"; 274 regulator-name = "vcc3v0_sd"; 278 regulator-always-on; 275 regulator-always-on; 279 regulator-min-microvolt = <300 276 regulator-min-microvolt = <3000000>; 280 regulator-max-microvolt = <300 277 regulator-max-microvolt = <3000000>; 281 vin-supply = <&vcc3v3_sys>; 278 vin-supply = <&vcc3v3_sys>; 282 279 283 regulator-state-mem { 280 regulator-state-mem { 284 regulator-off-in-suspe 281 regulator-off-in-suspend; 285 }; 282 }; 286 }; 283 }; 287 284 288 /* LCD panel power, called VCC3V3_S0 i 285 /* LCD panel power, called VCC3V3_S0 in schematic */ 289 vcc3v3_panel: vcc3v3-panel { 286 vcc3v3_panel: vcc3v3-panel { 290 compatible = "regulator-fixed" 287 compatible = "regulator-fixed"; 291 enable-active-high; 288 enable-active-high; 292 gpio = <&gpio1 RK_PC6 GPIO_ACT 289 gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; 293 pinctrl-names = "default"; 290 pinctrl-names = "default"; 294 pinctrl-0 = <&lcdvcc_en_pin>; !! 291 pinctrl-0 = <&lcdvcc_en_gpio>; 295 regulator-name = "vcc3v3_panel 292 regulator-name = "vcc3v3_panel"; 296 regulator-always-on; 293 regulator-always-on; 297 regulator-min-microvolt = <330 294 regulator-min-microvolt = <3300000>; 298 regulator-max-microvolt = <330 295 regulator-max-microvolt = <3300000>; 299 regulator-enable-ramp-delay = 296 regulator-enable-ramp-delay = <100000>; 300 vin-supply = <&vcc3v3_sys>; 297 vin-supply = <&vcc3v3_sys>; 301 298 302 regulator-state-mem { 299 regulator-state-mem { 303 regulator-off-in-suspe 300 regulator-off-in-suspend; 304 }; 301 }; 305 }; 302 }; 306 303 307 /* M.2 adapter power, switched by vcc1 304 /* M.2 adapter power, switched by vcc1v8_s3 */ 308 vcc3v3_ssd: vcc3v3-ssd { 305 vcc3v3_ssd: vcc3v3-ssd { 309 compatible = "regulator-fixed" 306 compatible = "regulator-fixed"; 310 regulator-name = "vcc3v3_ssd"; 307 regulator-name = "vcc3v3_ssd"; 311 regulator-min-microvolt = <330 308 regulator-min-microvolt = <3300000>; 312 regulator-max-microvolt = <330 309 regulator-max-microvolt = <3300000>; 313 vin-supply = <&vcc3v3_sys>; 310 vin-supply = <&vcc3v3_sys>; 314 }; 311 }; 315 312 316 /* Regulators supplied by vcc5v0_usb * 313 /* Regulators supplied by vcc5v0_usb */ 317 /* USB 3 port power supply regulator 314 /* USB 3 port power supply regulator */ 318 vcc5v0_otg: vcc5v0-otg { 315 vcc5v0_otg: vcc5v0-otg { 319 compatible = "regulator-fixed" 316 compatible = "regulator-fixed"; 320 enable-active-high; 317 enable-active-high; 321 gpio = <&gpio4 RK_PD2 GPIO_ACT 318 gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 322 pinctrl-names = "default"; 319 pinctrl-names = "default"; 323 pinctrl-0 = <&vcc5v0_host_en_p !! 320 pinctrl-0 = <&vcc5v0_host_en_gpio>; 324 regulator-name = "vcc5v0_otg"; 321 regulator-name = "vcc5v0_otg"; 325 regulator-always-on; 322 regulator-always-on; 326 regulator-min-microvolt = <500 323 regulator-min-microvolt = <5000000>; 327 regulator-max-microvolt = <500 324 regulator-max-microvolt = <5000000>; 328 vin-supply = <&vcc5v0_usb>; 325 vin-supply = <&vcc5v0_usb>; 329 326 330 regulator-state-mem { 327 regulator-state-mem { 331 regulator-off-in-suspe 328 regulator-off-in-suspend; 332 }; 329 }; 333 }; 330 }; 334 331 335 /* Regulators supplied by vcc5v0_usb * 332 /* Regulators supplied by vcc5v0_usb */ 336 /* Type C port power supply regulator 333 /* Type C port power supply regulator */ 337 vbus_5vout: vbus_typec: vbus-5vout { 334 vbus_5vout: vbus_typec: vbus-5vout { 338 compatible = "regulator-fixed" 335 compatible = "regulator-fixed"; 339 enable-active-high; 336 enable-active-high; 340 gpio = <&gpio1 RK_PA3 GPIO_ACT 337 gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 341 pinctrl-names = "default"; 338 pinctrl-names = "default"; 342 pinctrl-0 = <&vcc5v0_typec0_en !! 339 pinctrl-0 = <&vcc5v0_typec0_en_gpio>; 343 regulator-name = "vbus_5vout"; 340 regulator-name = "vbus_5vout"; 344 regulator-min-microvolt = <500 341 regulator-min-microvolt = <5000000>; 345 regulator-max-microvolt = <500 342 regulator-max-microvolt = <5000000>; 346 vin-supply = <&vcc5v0_usb>; 343 vin-supply = <&vcc5v0_usb>; 347 344 348 regulator-state-mem { 345 regulator-state-mem { 349 regulator-off-in-suspe 346 regulator-off-in-suspend; 350 }; 347 }; 351 }; 348 }; 352 349 353 /* Regulators supplied by vcc_1v8 */ 350 /* Regulators supplied by vcc_1v8 */ 354 /* Primary 0.9 V LDO */ 351 /* Primary 0.9 V LDO */ 355 vcca0v9_s3: vcca0v9-s3 { 352 vcca0v9_s3: vcca0v9-s3 { 356 compatible = "regulator-fixed" 353 compatible = "regulator-fixed"; 357 regulator-name = "vcc0v9_s3"; 354 regulator-name = "vcc0v9_s3"; 358 regulator-min-microvolt = <500 355 regulator-min-microvolt = <5000000>; 359 regulator-max-microvolt = <500 356 regulator-max-microvolt = <5000000>; 360 vin-supply = <&vcc_1v8>; 357 vin-supply = <&vcc_1v8>; 361 358 362 regulator-state-mem { 359 regulator-state-mem { 363 regulator-on-in-suspen 360 regulator-on-in-suspend; 364 }; 361 }; 365 }; 362 }; 366 363 367 mains_charger: dc-charger { 364 mains_charger: dc-charger { 368 compatible = "gpio-charger"; 365 compatible = "gpio-charger"; 369 charger-type = "mains"; 366 charger-type = "mains"; 370 gpios = <&gpio4 RK_PD0 GPIO_AC 367 gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>; 371 368 372 /* Also triggered by USB charg 369 /* Also triggered by USB charger */ 373 pinctrl-names = "default"; 370 pinctrl-names = "default"; 374 pinctrl-0 = <&dc_det_pin>; !! 371 pinctrl-0 = <&dc_det_gpio>; 375 }; 372 }; 376 }; 373 }; 377 374 >> 375 &cdn_dp { >> 376 status = "okay"; >> 377 }; >> 378 378 &cpu_b0 { 379 &cpu_b0 { 379 cpu-supply = <&vdd_cpu_b>; 380 cpu-supply = <&vdd_cpu_b>; 380 }; 381 }; 381 382 382 &cpu_b1 { 383 &cpu_b1 { 383 cpu-supply = <&vdd_cpu_b>; 384 cpu-supply = <&vdd_cpu_b>; 384 }; 385 }; 385 386 386 &cpu_l0 { 387 &cpu_l0 { 387 cpu-supply = <&vdd_cpu_l>; 388 cpu-supply = <&vdd_cpu_l>; 388 }; 389 }; 389 390 390 &cpu_l1 { 391 &cpu_l1 { 391 cpu-supply = <&vdd_cpu_l>; 392 cpu-supply = <&vdd_cpu_l>; 392 }; 393 }; 393 394 394 &cpu_l2 { 395 &cpu_l2 { 395 cpu-supply = <&vdd_cpu_l>; 396 cpu-supply = <&vdd_cpu_l>; 396 }; 397 }; 397 398 398 &cpu_l3 { 399 &cpu_l3 { 399 cpu-supply = <&vdd_cpu_l>; 400 cpu-supply = <&vdd_cpu_l>; 400 }; 401 }; 401 402 402 &edp { 403 &edp { 403 force-hpd; 404 force-hpd; 404 pinctrl-names = "default"; 405 pinctrl-names = "default"; 405 pinctrl-0 = <&edp_hpd>; 406 pinctrl-0 = <&edp_hpd>; 406 status = "okay"; 407 status = "okay"; 407 408 408 ports { 409 ports { 409 edp_out: port@1 { 410 edp_out: port@1 { 410 reg = <1>; 411 reg = <1>; 411 #address-cells = <1>; 412 #address-cells = <1>; 412 #size-cells = <0>; 413 #size-cells = <0>; 413 414 414 edp_out_panel: endpoin 415 edp_out_panel: endpoint@0 { 415 reg = <0>; 416 reg = <0>; 416 remote-endpoin 417 remote-endpoint = <&panel_in_edp>; 417 }; 418 }; 418 }; 419 }; 419 }; 420 }; 420 }; 421 }; 421 422 422 &emmc_phy { 423 &emmc_phy { 423 status = "okay"; 424 status = "okay"; 424 }; 425 }; 425 426 426 &gpu { 427 &gpu { 427 mali-supply = <&vdd_gpu>; 428 mali-supply = <&vdd_gpu>; 428 status = "okay"; 429 status = "okay"; 429 }; 430 }; 430 431 431 &hdmi_sound { 432 &hdmi_sound { 432 status = "okay"; 433 status = "okay"; 433 }; 434 }; 434 435 435 &i2c0 { 436 &i2c0 { 436 clock-frequency = <400000>; 437 clock-frequency = <400000>; 437 i2c-scl-falling-time-ns = <4>; 438 i2c-scl-falling-time-ns = <4>; 438 i2c-scl-rising-time-ns = <168>; 439 i2c-scl-rising-time-ns = <168>; 439 status = "okay"; 440 status = "okay"; 440 441 441 rk808: pmic@1b { 442 rk808: pmic@1b { 442 compatible = "rockchip,rk808"; 443 compatible = "rockchip,rk808"; 443 reg = <0x1b>; 444 reg = <0x1b>; 444 #clock-cells = <1>; 445 #clock-cells = <1>; 445 clock-output-names = "xin32k", 446 clock-output-names = "xin32k", "rk808-clkout2"; 446 interrupt-parent = <&gpio3>; 447 interrupt-parent = <&gpio3>; 447 interrupts = <10 IRQ_TYPE_LEVE 448 interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 448 pinctrl-names = "default"; 449 pinctrl-names = "default"; 449 pinctrl-0 = <&pmic_int_l_pin>; !! 450 pinctrl-0 = <&pmic_int_l_gpio>; 450 rockchip,system-power-controll 451 rockchip,system-power-controller; 451 wakeup-source; 452 wakeup-source; 452 453 453 vcc1-supply = <&vcc_sysin>; 454 vcc1-supply = <&vcc_sysin>; 454 vcc2-supply = <&vcc_sysin>; 455 vcc2-supply = <&vcc_sysin>; 455 vcc3-supply = <&vcc_sysin>; 456 vcc3-supply = <&vcc_sysin>; 456 vcc4-supply = <&vcc_sysin>; 457 vcc4-supply = <&vcc_sysin>; 457 vcc6-supply = <&vcc_sysin>; 458 vcc6-supply = <&vcc_sysin>; 458 vcc7-supply = <&vcc_sysin>; 459 vcc7-supply = <&vcc_sysin>; 459 vcc8-supply = <&vcc3v3_sys>; 460 vcc8-supply = <&vcc3v3_sys>; 460 vcc9-supply = <&vcc_sysin>; 461 vcc9-supply = <&vcc_sysin>; 461 vcc10-supply = <&vcc_sysin>; 462 vcc10-supply = <&vcc_sysin>; 462 vcc11-supply = <&vcc_sysin>; 463 vcc11-supply = <&vcc_sysin>; 463 vcc12-supply = <&vcc3v3_sys>; 464 vcc12-supply = <&vcc3v3_sys>; >> 465 vcc13-supply = <&vcc_sysin>; >> 466 vcc14-supply = <&vcc_sysin>; 464 467 465 regulators { 468 regulators { 466 /* rk3399 center logic 469 /* rk3399 center logic supply */ 467 vdd_center: DCDC_REG1 470 vdd_center: DCDC_REG1 { 468 regulator-name 471 regulator-name = "vdd_center"; 469 regulator-alwa 472 regulator-always-on; 470 regulator-boot 473 regulator-boot-on; 471 regulator-min- 474 regulator-min-microvolt = <750000>; 472 regulator-max- 475 regulator-max-microvolt = <1350000>; 473 regulator-ramp 476 regulator-ramp-delay = <6001>; 474 477 475 regulator-stat 478 regulator-state-mem { 476 regula 479 regulator-off-in-suspend; 477 }; 480 }; 478 }; 481 }; 479 482 480 vdd_cpu_l: DCDC_REG2 { 483 vdd_cpu_l: DCDC_REG2 { 481 regulator-name 484 regulator-name = "vdd_cpu_l"; 482 regulator-alwa 485 regulator-always-on; 483 regulator-boot 486 regulator-boot-on; 484 regulator-min- 487 regulator-min-microvolt = <750000>; 485 regulator-max- 488 regulator-max-microvolt = <1350000>; 486 regulator-ramp 489 regulator-ramp-delay = <6001>; 487 490 488 regulator-stat 491 regulator-state-mem { 489 regula 492 regulator-off-in-suspend; 490 }; 493 }; 491 }; 494 }; 492 495 493 vcc_ddr: DCDC_REG3 { 496 vcc_ddr: DCDC_REG3 { 494 regulator-name 497 regulator-name = "vcc_ddr"; 495 regulator-alwa 498 regulator-always-on; 496 regulator-boot 499 regulator-boot-on; 497 500 498 regulator-stat 501 regulator-state-mem { 499 regula 502 regulator-on-in-suspend; 500 }; 503 }; 501 }; 504 }; 502 505 503 vcc_1v8: vcc_wl: DCDC_ 506 vcc_1v8: vcc_wl: DCDC_REG4 { 504 regulator-name 507 regulator-name = "vcc_1v8"; 505 regulator-alwa 508 regulator-always-on; 506 regulator-boot 509 regulator-boot-on; 507 regulator-min- 510 regulator-min-microvolt = <1800000>; 508 regulator-max- 511 regulator-max-microvolt = <1800000>; 509 512 510 regulator-stat 513 regulator-state-mem { 511 regula 514 regulator-on-in-suspend; 512 regula 515 regulator-suspend-microvolt = <1800000>; 513 }; 516 }; 514 }; 517 }; 515 518 516 /* not used */ 519 /* not used */ 517 LDO_REG1 { 520 LDO_REG1 { 518 }; 521 }; 519 522 520 /* not used */ 523 /* not used */ 521 LDO_REG2 { 524 LDO_REG2 { 522 }; 525 }; 523 526 524 vcc1v8_pmupll: LDO_REG 527 vcc1v8_pmupll: LDO_REG3 { 525 regulator-name 528 regulator-name = "vcc1v8_pmupll"; 526 regulator-alwa 529 regulator-always-on; 527 regulator-boot 530 regulator-boot-on; 528 regulator-min- 531 regulator-min-microvolt = <1800000>; 529 regulator-max- 532 regulator-max-microvolt = <1800000>; 530 533 531 regulator-stat 534 regulator-state-mem { 532 regula 535 regulator-on-in-suspend; 533 regula 536 regulator-suspend-microvolt = <1800000>; 534 }; 537 }; 535 }; 538 }; 536 539 537 vcc_sdio: LDO_REG4 { 540 vcc_sdio: LDO_REG4 { 538 regulator-name 541 regulator-name = "vcc_sdio"; 539 regulator-alwa 542 regulator-always-on; 540 regulator-boot 543 regulator-boot-on; 541 regulator-min- 544 regulator-min-microvolt = <1800000>; 542 regulator-max- 545 regulator-max-microvolt = <3000000>; 543 546 544 regulator-stat 547 regulator-state-mem { 545 regula 548 regulator-on-in-suspend; 546 regula 549 regulator-suspend-microvolt = <3000000>; 547 }; 550 }; 548 }; 551 }; 549 552 550 vcca3v0_codec: LDO_REG 553 vcca3v0_codec: LDO_REG5 { 551 regulator-name 554 regulator-name = "vcca3v0_codec"; 552 regulator-alwa 555 regulator-always-on; 553 regulator-boot 556 regulator-boot-on; 554 regulator-min- 557 regulator-min-microvolt = <3000000>; 555 regulator-max- 558 regulator-max-microvolt = <3000000>; 556 559 557 regulator-stat 560 regulator-state-mem { 558 regula 561 regulator-off-in-suspend; 559 }; 562 }; 560 }; 563 }; 561 564 562 vcc_1v5: LDO_REG6 { 565 vcc_1v5: LDO_REG6 { 563 regulator-name 566 regulator-name = "vcc_1v5"; 564 regulator-alwa 567 regulator-always-on; 565 regulator-boot 568 regulator-boot-on; 566 regulator-min- 569 regulator-min-microvolt = <1500000>; 567 regulator-max- 570 regulator-max-microvolt = <1500000>; 568 571 569 regulator-stat 572 regulator-state-mem { 570 regula 573 regulator-on-in-suspend; 571 regula 574 regulator-suspend-microvolt = <1500000>; 572 }; 575 }; 573 }; 576 }; 574 577 575 vcca1v8_codec: LDO_REG 578 vcca1v8_codec: LDO_REG7 { 576 regulator-name 579 regulator-name = "vcca1v8_codec"; 577 regulator-alwa 580 regulator-always-on; 578 regulator-boot 581 regulator-boot-on; 579 regulator-min- 582 regulator-min-microvolt = <1800000>; 580 regulator-max- 583 regulator-max-microvolt = <1800000>; 581 584 582 regulator-stat 585 regulator-state-mem { 583 regula 586 regulator-off-in-suspend; 584 }; 587 }; 585 }; 588 }; 586 589 587 vcc_3v0: LDO_REG8 { 590 vcc_3v0: LDO_REG8 { 588 regulator-name 591 regulator-name = "vcc_3v0"; 589 regulator-alwa 592 regulator-always-on; 590 regulator-boot 593 regulator-boot-on; 591 regulator-min- 594 regulator-min-microvolt = <3000000>; 592 regulator-max- 595 regulator-max-microvolt = <3000000>; 593 596 594 regulator-stat 597 regulator-state-mem { 595 regula 598 regulator-on-in-suspend; 596 regula 599 regulator-suspend-microvolt = <3000000>; 597 }; 600 }; 598 }; 601 }; 599 602 600 vcc3v3_s3: SWITCH_REG1 603 vcc3v3_s3: SWITCH_REG1 { 601 regulator-name 604 regulator-name = "vcc3v3_s3"; 602 regulator-alwa 605 regulator-always-on; 603 regulator-boot 606 regulator-boot-on; 604 607 605 regulator-stat 608 regulator-state-mem { 606 regula 609 regulator-off-in-suspend; 607 }; 610 }; 608 }; 611 }; 609 612 610 vcc3v3_s0: SWITCH_REG2 613 vcc3v3_s0: SWITCH_REG2 { 611 regulator-name 614 regulator-name = "vcc3v3_s0"; 612 regulator-alwa 615 regulator-always-on; 613 regulator-boot 616 regulator-boot-on; 614 617 615 regulator-stat 618 regulator-state-mem { 616 regula 619 regulator-off-in-suspend; 617 }; 620 }; 618 }; 621 }; 619 }; 622 }; 620 }; 623 }; 621 624 622 vdd_cpu_b: regulator@40 { 625 vdd_cpu_b: regulator@40 { 623 compatible = "silergy,syr827"; 626 compatible = "silergy,syr827"; 624 reg = <0x40>; 627 reg = <0x40>; 625 fcs,suspend-voltage-selector = 628 fcs,suspend-voltage-selector = <1>; 626 pinctrl-names = "default"; 629 pinctrl-names = "default"; 627 pinctrl-0 = <&vsel1_pin>; !! 630 pinctrl-0 = <&vsel1_gpio>; 628 regulator-name = "vdd_cpu_b"; 631 regulator-name = "vdd_cpu_b"; 629 regulator-always-on; 632 regulator-always-on; 630 regulator-boot-on; 633 regulator-boot-on; 631 regulator-min-microvolt = <712 634 regulator-min-microvolt = <712500>; 632 regulator-max-microvolt = <150 635 regulator-max-microvolt = <1500000>; 633 regulator-ramp-delay = <1000>; 636 regulator-ramp-delay = <1000>; 634 vin-supply = <&vcc_1v8>; 637 vin-supply = <&vcc_1v8>; 635 638 636 regulator-state-mem { 639 regulator-state-mem { 637 regulator-off-in-suspe 640 regulator-off-in-suspend; 638 }; 641 }; 639 }; 642 }; 640 643 641 vdd_gpu: regulator@41 { 644 vdd_gpu: regulator@41 { 642 compatible = "silergy,syr828"; 645 compatible = "silergy,syr828"; 643 reg = <0x41>; 646 reg = <0x41>; 644 fcs,suspend-voltage-selector = 647 fcs,suspend-voltage-selector = <1>; 645 pinctrl-names = "default"; 648 pinctrl-names = "default"; 646 pinctrl-0 = <&vsel2_pin>; !! 649 pinctrl-0 = <&vsel2_gpio>; 647 regulator-name = "vdd_gpu"; 650 regulator-name = "vdd_gpu"; 648 regulator-always-on; 651 regulator-always-on; 649 regulator-boot-on; 652 regulator-boot-on; 650 regulator-min-microvolt = <712 653 regulator-min-microvolt = <712500>; 651 regulator-max-microvolt = <150 654 regulator-max-microvolt = <1500000>; 652 regulator-ramp-delay = <1000>; 655 regulator-ramp-delay = <1000>; 653 vin-supply = <&vcc_1v8>; 656 vin-supply = <&vcc_1v8>; 654 657 655 regulator-state-mem { 658 regulator-state-mem { 656 regulator-off-in-suspe 659 regulator-off-in-suspend; 657 }; 660 }; 658 }; 661 }; 659 }; 662 }; 660 663 661 &i2c1 { 664 &i2c1 { 662 clock-frequency = <100000>; 665 clock-frequency = <100000>; 663 i2c-scl-falling-time-ns = <4>; 666 i2c-scl-falling-time-ns = <4>; 664 i2c-scl-rising-time-ns = <168>; 667 i2c-scl-rising-time-ns = <168>; 665 status = "okay"; 668 status = "okay"; 666 669 667 es8316: audio-codec@11 { !! 670 es8316: es8316@11 { 668 compatible = "everest,es8316"; 671 compatible = "everest,es8316"; 669 reg = <0x11>; 672 reg = <0x11>; 670 clocks = <&cru SCLK_I2S_8CH_OU 673 clocks = <&cru SCLK_I2S_8CH_OUT>; 671 clock-names = "mclk"; 674 clock-names = "mclk"; 672 #sound-dai-cells = <0>; 675 #sound-dai-cells = <0>; 673 }; 676 }; 674 }; 677 }; 675 678 676 &i2c3 { 679 &i2c3 { 677 i2c-scl-falling-time-ns = <15>; 680 i2c-scl-falling-time-ns = <15>; 678 i2c-scl-rising-time-ns = <450>; 681 i2c-scl-rising-time-ns = <450>; 679 status = "okay"; 682 status = "okay"; 680 }; 683 }; 681 684 682 &i2c4 { 685 &i2c4 { 683 i2c-scl-falling-time-ns = <20>; 686 i2c-scl-falling-time-ns = <20>; 684 i2c-scl-rising-time-ns = <600>; 687 i2c-scl-rising-time-ns = <600>; 685 status = "okay"; 688 status = "okay"; 686 689 687 fusb0: fusb30x@22 { 690 fusb0: fusb30x@22 { 688 compatible = "fcs,fusb302"; 691 compatible = "fcs,fusb302"; 689 reg = <0x22>; 692 reg = <0x22>; 690 interrupt-parent = <&gpio1>; 693 interrupt-parent = <&gpio1>; 691 interrupts = <RK_PA2 IRQ_TYPE_ 694 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 692 pinctrl-names = "default"; 695 pinctrl-names = "default"; 693 pinctrl-0 = <&fusb0_int_pin>; !! 696 pinctrl-0 = <&fusb0_int_gpio>; 694 vbus-supply = <&vbus_typec>; 697 vbus-supply = <&vbus_typec>; 695 698 696 connector { 699 connector { 697 compatible = "usb-c-co 700 compatible = "usb-c-connector"; 698 data-role = "dual"; !! 701 data-role = "host"; 699 label = "USB-C"; 702 label = "USB-C"; 700 op-sink-microwatt = <1 703 op-sink-microwatt = <1000000>; 701 power-role = "dual"; 704 power-role = "dual"; 702 sink-pdos = 705 sink-pdos = 703 <PDO_FIXED(500 706 <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>; 704 source-pdos = 707 source-pdos = 705 <PDO_FIXED(500 708 <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>; 706 try-power-role = "sink 709 try-power-role = "sink"; 707 710 708 ports { 711 ports { 709 #address-cells 712 #address-cells = <1>; 710 #size-cells = 713 #size-cells = <0>; 711 714 712 port@0 { 715 port@0 { 713 reg = 716 reg = <0>; 714 717 715 usbc_h 718 usbc_hs: endpoint { 716 719 remote-endpoint = 717 720 <&u2phy0_typec_hs>; 718 }; 721 }; 719 }; 722 }; 720 723 721 port@1 { 724 port@1 { 722 reg = 725 reg = <1>; 723 726 724 usbc_s 727 usbc_ss: endpoint { 725 728 remote-endpoint = 726 729 <&tcphy0_typec_ss>; 727 }; 730 }; 728 }; 731 }; 729 732 730 port@2 { 733 port@2 { 731 reg = 734 reg = <2>; 732 735 733 usbc_d 736 usbc_dp: endpoint { 734 737 remote-endpoint = 735 738 <&tcphy0_typec_dp>; 736 }; 739 }; 737 }; 740 }; 738 }; 741 }; 739 }; 742 }; 740 }; 743 }; 741 << 742 cw2015@62 { << 743 compatible = "cellwise,cw2015" << 744 reg = <0x62>; << 745 cellwise,battery-profile = /bi << 746 0x17 0x67 0x80 0x73 0x << 747 0x77 0x51 0x5C 0x58 0x << 748 0x15 0x0C 0x0C 0x19 0x << 749 0x69 0x5B 0x0C 0x29 0x << 750 0x57 0x56 0x54 0x4F 0x << 751 0x06 0x1A 0x30 0x5A 0x << 752 0x48 0x77 0x9C 0xB3 0x << 753 0x2F 0x00 0x64 0xA5 0x << 754 >; << 755 cellwise,monitor-interval-ms = << 756 monitored-battery = <&bat>; << 757 power-supplies = <&mains_charg << 758 }; << 759 }; 744 }; 760 745 761 &i2s1 { 746 &i2s1 { 762 pinctrl-names = "default"; 747 pinctrl-names = "default"; 763 pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s !! 748 pinctrl-0 = <&i2s_8ch_mclk_gpio>, <&i2s1_2ch_bus>; 764 rockchip,capture-channels = <8>; 749 rockchip,capture-channels = <8>; 765 rockchip,playback-channels = <8>; 750 rockchip,playback-channels = <8>; 766 status = "okay"; 751 status = "okay"; 767 }; 752 }; 768 753 769 &io_domains { 754 &io_domains { 770 audio-supply = <&vcc_3v0>; 755 audio-supply = <&vcc_3v0>; 771 gpio1830-supply = <&vcc_3v0>; 756 gpio1830-supply = <&vcc_3v0>; 772 sdmmc-supply = <&vcc_sdio>; 757 sdmmc-supply = <&vcc_sdio>; 773 status = "okay"; 758 status = "okay"; 774 }; 759 }; 775 760 776 &pcie_phy { 761 &pcie_phy { 777 status = "okay"; 762 status = "okay"; 778 }; 763 }; 779 764 780 &pcie0 { 765 &pcie0 { >> 766 bus-scan-delay-ms = <1000>; 781 ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_ 767 ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; >> 768 max-link-speed = <2>; 782 num-lanes = <4>; 769 num-lanes = <4>; 783 pinctrl-names = "default"; 770 pinctrl-names = "default"; 784 pinctrl-0 = <&pcie_clkreqn_cpm>; 771 pinctrl-0 = <&pcie_clkreqn_cpm>; 785 vpcie0v9-supply = <&vcca0v9_s3>; 772 vpcie0v9-supply = <&vcca0v9_s3>; 786 vpcie1v8-supply = <&vcca1v8_s3>; 773 vpcie1v8-supply = <&vcca1v8_s3>; 787 vpcie3v3-supply = <&vcc3v3_ssd>; 774 vpcie3v3-supply = <&vcc3v3_ssd>; 788 status = "okay"; 775 status = "okay"; 789 }; 776 }; 790 777 791 &pinctrl { 778 &pinctrl { 792 buttons { 779 buttons { 793 pwrbtn_pin: pwrbtn-pin { !! 780 pwrbtn_gpio: pwrbtn-gpio { 794 rockchip,pins = <0 RK_ 781 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 795 }; 782 }; 796 783 797 lidbtn_pin: lidbtn-pin { !! 784 lidbtn_gpio: lidbtn-gpio { 798 rockchip,pins = <1 RK_ 785 rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 799 }; 786 }; 800 }; 787 }; 801 788 802 dc-charger { 789 dc-charger { 803 dc_det_pin: dc-det-pin { !! 790 dc_det_gpio: dc-det-gpio { 804 rockchip,pins = <4 RK_ 791 rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; 805 }; 792 }; 806 }; 793 }; 807 794 808 es8316 { 795 es8316 { 809 hp_det_pin: hp-det-pin { !! 796 hp_det_gpio: hp-det-gpio { 810 rockchip,pins = <0 RK_ 797 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 811 }; 798 }; 812 }; 799 }; 813 800 814 fusb302x { 801 fusb302x { 815 fusb0_int_pin: fusb0-int-pin { !! 802 fusb0_int_gpio: fusb0-int-gpio { 816 rockchip,pins = <1 RK_ 803 rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 817 }; 804 }; 818 }; 805 }; 819 806 820 i2s1 { 807 i2s1 { 821 i2s_8ch_mclk_pin: i2s-8ch-mclk !! 808 i2s_8ch_mclk_gpio: i2s-8ch-mclk-gpio { 822 rockchip,pins = <4 RK_ 809 rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; 823 }; 810 }; 824 }; 811 }; 825 812 826 lcd-panel { 813 lcd-panel { 827 lcdvcc_en_pin: lcdvcc-en-pin { !! 814 lcdvcc_en_gpio: lcdvcc-en-gpio { 828 rockchip,pins = <1 RK_ 815 rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 829 }; 816 }; 830 817 831 panel_en_pin: panel-en-pin { !! 818 panel_en_gpio: panel-en-gpio { 832 rockchip,pins = <1 RK_ 819 rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 833 }; 820 }; 834 821 835 lcd_panel_reset_pin: lcd-panel !! 822 lcd_panel_reset_gpio: lcd-panel-reset-gpio { 836 rockchip,pins = <4 RK_ 823 rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 837 }; 824 }; 838 }; 825 }; 839 826 840 leds { 827 leds { 841 pwr_led_pin: pwr-led-pin { 828 pwr_led_pin: pwr-led-pin { 842 rockchip,pins = <0 RK_ 829 rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 843 }; 830 }; 844 831 845 slp_led_pin: slp-led-pin { 832 slp_led_pin: slp-led-pin { 846 rockchip,pins = <0 RK_ 833 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 847 }; 834 }; 848 }; 835 }; 849 836 850 pmic { 837 pmic { 851 pmic_int_l_pin: pmic-int-l-pin !! 838 pmic_int_l_gpio: pmic-int-l-gpio { 852 rockchip,pins = <3 RK_ 839 rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 853 }; 840 }; 854 841 855 vsel1_pin: vsel1-pin { !! 842 vsel1_gpio: vsel1-gpio { 856 rockchip,pins = <1 RK_ 843 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 857 }; 844 }; 858 845 859 vsel2_pin: vsel2-pin { !! 846 vsel2_gpio: vsel2-gpio { 860 rockchip,pins = <1 RK_ 847 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 861 }; 848 }; 862 }; 849 }; 863 850 864 sdcard { 851 sdcard { 865 sdmmc0_pwr_h_pin: sdmmc0-pwr-h !! 852 sdmmc0_pwr_h_gpio: sdmmc0-pwr-h-gpio { 866 rockchip,pins = <0 RK_ 853 rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 867 }; 854 }; 868 855 869 }; 856 }; 870 857 871 sdio-pwrseq { 858 sdio-pwrseq { 872 wifi_enable_h_pin: wifi-enable !! 859 wifi_enable_h_gpio: wifi-enable-h-gpio { 873 rockchip,pins = <0 RK_ 860 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 874 }; 861 }; 875 }; 862 }; 876 863 877 usb-typec { 864 usb-typec { 878 vcc5v0_typec0_en_pin: vcc5v0-t !! 865 vcc5v0_typec0_en_gpio: vcc5v0-typec0-en-gpio { 879 rockchip,pins = <1 RK_ 866 rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 880 }; 867 }; 881 }; 868 }; 882 869 883 usb2 { 870 usb2 { 884 pwr_5v_pin: pwr-5v-pin { !! 871 pwr_5v_gpio: pwr-5v-gpio { 885 rockchip,pins = <1 RK_ 872 rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 886 }; 873 }; 887 874 888 vcc5v0_host_en_pin: vcc5v0-hos !! 875 vcc5v0_host_en_gpio: vcc5v0-host-en-gpio { 889 rockchip,pins = <4 RK_ 876 rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 890 }; 877 }; 891 }; 878 }; 892 879 893 wireless-bluetooth { 880 wireless-bluetooth { 894 bt_wake_pin: bt-wake-pin { !! 881 bt_wake_gpio: bt-wake-gpio { 895 rockchip,pins = <2 RK_ 882 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 896 }; 883 }; 897 884 898 bt_host_wake_pin: bt-host-wake !! 885 bt_host_wake_gpio: bt-host-wake-gpio { 899 rockchip,pins = <0 RK_ 886 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 900 }; 887 }; 901 888 902 bt_reset_pin: bt-reset-pin { !! 889 bt_reset_gpio: bt-reset-gpio { 903 rockchip,pins = <0 RK_ 890 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 904 }; 891 }; 905 }; 892 }; 906 }; 893 }; 907 894 908 &pmu_io_domains { 895 &pmu_io_domains { 909 pmu1830-supply = <&vcc_3v0>; 896 pmu1830-supply = <&vcc_3v0>; 910 status = "okay"; 897 status = "okay"; 911 }; 898 }; 912 899 913 &pwm0 { 900 &pwm0 { 914 status = "okay"; 901 status = "okay"; 915 }; 902 }; 916 903 917 &pwm2 { 904 &pwm2 { 918 status = "okay"; 905 status = "okay"; 919 }; 906 }; 920 907 921 &saradc { 908 &saradc { 922 vref-supply = <&vcca1v8_s3>; 909 vref-supply = <&vcca1v8_s3>; 923 status = "okay"; 910 status = "okay"; 924 }; 911 }; 925 912 926 &sdmmc { 913 &sdmmc { 927 bus-width = <4>; 914 bus-width = <4>; 928 cap-mmc-highspeed; 915 cap-mmc-highspeed; 929 cap-sd-highspeed; 916 cap-sd-highspeed; 930 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_ 917 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 931 disable-wp; 918 disable-wp; 932 pinctrl-names = "default"; 919 pinctrl-names = "default"; 933 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sd 920 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 934 sd-uhs-sdr50; !! 921 sd-uhs-sdr104; 935 vmmc-supply = <&vcc3v0_sd>; 922 vmmc-supply = <&vcc3v0_sd>; 936 vqmmc-supply = <&vcc_sdio>; 923 vqmmc-supply = <&vcc_sdio>; 937 status = "okay"; 924 status = "okay"; 938 }; 925 }; 939 926 940 &sdio0 { 927 &sdio0 { 941 bus-width = <4>; 928 bus-width = <4>; 942 cap-sd-highspeed; 929 cap-sd-highspeed; 943 cap-sdio-irq; 930 cap-sdio-irq; 944 keep-power-in-suspend; 931 keep-power-in-suspend; 945 mmc-pwrseq = <&sdio_pwrseq>; 932 mmc-pwrseq = <&sdio_pwrseq>; 946 non-removable; 933 non-removable; 947 pinctrl-names = "default"; 934 pinctrl-names = "default"; 948 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &s 935 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 949 sd-uhs-sdr104; 936 sd-uhs-sdr104; 950 status = "okay"; 937 status = "okay"; 951 }; 938 }; 952 939 953 &sdhci { 940 &sdhci { 954 bus-width = <8>; 941 bus-width = <8>; 955 mmc-hs200-1_8v; 942 mmc-hs200-1_8v; 956 non-removable; 943 non-removable; 957 status = "okay"; 944 status = "okay"; 958 }; 945 }; 959 946 960 &spi1 { 947 &spi1 { 961 max-freq = <10000000>; 948 max-freq = <10000000>; 962 status = "okay"; 949 status = "okay"; 963 950 964 spiflash: flash@0 { 951 spiflash: flash@0 { 965 compatible = "jedec,spi-nor"; 952 compatible = "jedec,spi-nor"; 966 reg = <0>; 953 reg = <0>; 967 m25p,fast-read; 954 m25p,fast-read; 968 spi-max-frequency = <10000000> 955 spi-max-frequency = <10000000>; 969 }; 956 }; 970 }; 957 }; 971 958 972 &tcphy0 { 959 &tcphy0 { 973 status = "okay"; 960 status = "okay"; 974 }; 961 }; 975 962 976 &tcphy0_dp { 963 &tcphy0_dp { 977 port { 964 port { 978 tcphy0_typec_dp: endpoint { 965 tcphy0_typec_dp: endpoint { 979 remote-endpoint = <&us 966 remote-endpoint = <&usbc_dp>; 980 }; 967 }; 981 }; 968 }; 982 }; 969 }; 983 970 984 &tcphy0_usb3 { 971 &tcphy0_usb3 { 985 port { 972 port { 986 tcphy0_typec_ss: endpoint { 973 tcphy0_typec_ss: endpoint { 987 remote-endpoint = <&us 974 remote-endpoint = <&usbc_ss>; 988 }; 975 }; 989 }; 976 }; 990 }; 977 }; 991 978 992 &tcphy1 { 979 &tcphy1 { 993 status = "okay"; 980 status = "okay"; 994 }; 981 }; 995 982 996 &tsadc { 983 &tsadc { 997 /* tshut mode 0:CRU 1:GPIO */ 984 /* tshut mode 0:CRU 1:GPIO */ 998 rockchip,hw-tshut-mode = <1>; 985 rockchip,hw-tshut-mode = <1>; 999 /* tshut polarity 0:LOW 1:HIGH */ 986 /* tshut polarity 0:LOW 1:HIGH */ 1000 rockchip,hw-tshut-polarity = <1>; 987 rockchip,hw-tshut-polarity = <1>; 1001 status = "okay"; 988 status = "okay"; 1002 }; 989 }; 1003 990 1004 &u2phy0 { 991 &u2phy0 { 1005 status = "okay"; 992 status = "okay"; 1006 993 1007 u2phy0_otg: otg-port { 994 u2phy0_otg: otg-port { 1008 status = "okay"; 995 status = "okay"; 1009 }; 996 }; 1010 997 1011 u2phy0_host: host-port { 998 u2phy0_host: host-port { 1012 phy-supply = <&vcc5v0_otg>; 999 phy-supply = <&vcc5v0_otg>; 1013 status = "okay"; 1000 status = "okay"; 1014 }; 1001 }; 1015 1002 1016 port { 1003 port { 1017 u2phy0_typec_hs: endpoint { 1004 u2phy0_typec_hs: endpoint { 1018 remote-endpoint = <&u 1005 remote-endpoint = <&usbc_hs>; 1019 }; 1006 }; 1020 }; 1007 }; 1021 }; 1008 }; 1022 1009 1023 &u2phy1 { 1010 &u2phy1 { 1024 status = "okay"; 1011 status = "okay"; 1025 1012 1026 u2phy1_otg: otg-port { 1013 u2phy1_otg: otg-port { 1027 status = "okay"; 1014 status = "okay"; 1028 }; 1015 }; 1029 1016 1030 u2phy1_host: host-port { 1017 u2phy1_host: host-port { 1031 phy-supply = <&vcc5v0_otg>; 1018 phy-supply = <&vcc5v0_otg>; 1032 status = "okay"; 1019 status = "okay"; 1033 }; 1020 }; 1034 }; 1021 }; 1035 1022 1036 &uart0 { 1023 &uart0 { 1037 pinctrl-names = "default"; 1024 pinctrl-names = "default"; 1038 pinctrl-0 = <&uart0_xfer &uart0_cts & 1025 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 1039 uart-has-rtscts; 1026 uart-has-rtscts; 1040 status = "okay"; 1027 status = "okay"; 1041 1028 1042 bluetooth { 1029 bluetooth { 1043 compatible = "brcm,bcm4345c5" 1030 compatible = "brcm,bcm4345c5"; 1044 clocks = <&rk808 1>; 1031 clocks = <&rk808 1>; 1045 clock-names = "lpo"; 1032 clock-names = "lpo"; 1046 device-wakeup-gpios = <&gpio2 1033 device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 1047 host-wakeup-gpios = <&gpio0 R 1034 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 1048 max-speed = <1500000>; 1035 max-speed = <1500000>; 1049 pinctrl-names = "default"; 1036 pinctrl-names = "default"; 1050 pinctrl-0 = <&bt_host_wake_pi !! 1037 pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>; 1051 shutdown-gpios = <&gpio0 RK_P 1038 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 1052 vbat-supply = <&wifi_bat>; 1039 vbat-supply = <&wifi_bat>; 1053 vddio-supply = <&vcc_wl>; 1040 vddio-supply = <&vcc_wl>; 1054 }; 1041 }; 1055 }; 1042 }; 1056 1043 1057 &uart2 { 1044 &uart2 { 1058 status = "okay"; 1045 status = "okay"; 1059 }; 1046 }; 1060 1047 1061 &usb_host0_ehci { 1048 &usb_host0_ehci { 1062 status = "okay"; 1049 status = "okay"; 1063 }; 1050 }; 1064 1051 1065 &usb_host0_ohci { 1052 &usb_host0_ohci { 1066 status = "okay"; 1053 status = "okay"; 1067 }; 1054 }; 1068 1055 1069 &usb_host1_ehci { 1056 &usb_host1_ehci { 1070 status = "okay"; 1057 status = "okay"; 1071 }; 1058 }; 1072 1059 1073 &usb_host1_ohci { 1060 &usb_host1_ohci { 1074 status = "okay"; 1061 status = "okay"; 1075 }; 1062 }; 1076 1063 1077 &usbdrd3_0 { 1064 &usbdrd3_0 { 1078 status = "okay"; 1065 status = "okay"; 1079 }; 1066 }; 1080 1067 1081 &usbdrd_dwc3_0 { 1068 &usbdrd_dwc3_0 { 1082 dr_mode = "host"; 1069 dr_mode = "host"; 1083 status = "okay"; 1070 status = "okay"; 1084 }; 1071 }; 1085 1072 1086 &usbdrd3_1 { 1073 &usbdrd3_1 { 1087 status = "okay"; 1074 status = "okay"; 1088 }; 1075 }; 1089 1076 1090 &usbdrd_dwc3_1 { 1077 &usbdrd_dwc3_1 { 1091 dr_mode = "host"; 1078 dr_mode = "host"; 1092 status = "okay"; 1079 status = "okay"; 1093 }; 1080 }; 1094 1081 1095 &vopb { 1082 &vopb { 1096 status = "okay"; 1083 status = "okay"; 1097 }; 1084 }; 1098 1085 1099 &vopb_mmu { 1086 &vopb_mmu { 1100 status = "okay"; 1087 status = "okay"; 1101 }; 1088 }; 1102 1089 1103 &vopl { 1090 &vopl { 1104 status = "okay"; 1091 status = "okay"; 1105 }; 1092 }; 1106 1093 1107 &vopl_mmu { 1094 &vopl_mmu { 1108 status = "okay"; 1095 status = "okay"; 1109 }; 1096 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.