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