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 20 21 aliases { 21 aliases { 22 mmc0 = &sdio0; 22 mmc0 = &sdio0; 23 mmc1 = &sdmmc; 23 mmc1 = &sdmmc; 24 mmc2 = &sdhci; 24 mmc2 = &sdhci; 25 }; 25 }; 26 26 27 chosen { 27 chosen { 28 stdout-path = "serial2:1500000 28 stdout-path = "serial2:1500000n8"; 29 }; 29 }; 30 30 31 backlight: edp-backlight { 31 backlight: edp-backlight { 32 compatible = "pwm-backlight"; 32 compatible = "pwm-backlight"; 33 power-supply = <&vcc_12v>; 33 power-supply = <&vcc_12v>; 34 pwms = <&pwm0 0 125000 0>; 34 pwms = <&pwm0 0 125000 0>; 35 }; 35 }; 36 36 37 bat: battery { 37 bat: battery { 38 compatible = "simple-battery"; 38 compatible = "simple-battery"; 39 charge-full-design-microamp-ho 39 charge-full-design-microamp-hours = <10000000>; 40 voltage-max-design-microvolt = 40 voltage-max-design-microvolt = <4350000>; 41 voltage-min-design-microvolt = 41 voltage-min-design-microvolt = <3000000>; 42 }; 42 }; 43 43 44 edp_panel: edp-panel { 44 edp_panel: edp-panel { 45 compatible = "boe,nv140fhmn49" 45 compatible = "boe,nv140fhmn49"; 46 backlight = <&backlight>; 46 backlight = <&backlight>; 47 enable-gpios = <&gpio1 RK_PA0 47 enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 48 pinctrl-names = "default"; 48 pinctrl-names = "default"; 49 pinctrl-0 = <&panel_en_pin>; 49 pinctrl-0 = <&panel_en_pin>; 50 power-supply = <&vcc3v3_panel> 50 power-supply = <&vcc3v3_panel>; 51 51 52 port { !! 52 ports { 53 panel_in_edp: endpoint !! 53 #address-cells = <1>; 54 remote-endpoin !! 54 #size-cells = <0>; >> 55 >> 56 port@0 { >> 57 reg = <0>; >> 58 #address-cells = <1>; >> 59 #size-cells = <0>; >> 60 >> 61 panel_in_edp: endpoint@0 { >> 62 reg = <0>; >> 63 remote-endpoint = <&edp_out_panel>; >> 64 }; 55 }; 65 }; 56 }; 66 }; 57 }; 67 }; 58 68 59 /* 69 /* 60 * Use separate nodes for gpio-keys to 70 * Use separate nodes for gpio-keys to allow for selective deactivation 61 * of wakeup sources via sysfs without 71 * of wakeup sources via sysfs without disabling the whole key 62 */ 72 */ 63 gpio-key-lid { 73 gpio-key-lid { 64 compatible = "gpio-keys"; 74 compatible = "gpio-keys"; 65 pinctrl-names = "default"; 75 pinctrl-names = "default"; 66 pinctrl-0 = <&lidbtn_pin>; 76 pinctrl-0 = <&lidbtn_pin>; 67 77 68 switch-lid { !! 78 lid { 69 debounce-interval = <2 79 debounce-interval = <20>; 70 gpios = <&gpio1 RK_PA1 80 gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; 71 label = "Lid"; 81 label = "Lid"; 72 linux,code = <SW_LID>; 82 linux,code = <SW_LID>; 73 linux,input-type = <EV 83 linux,input-type = <EV_SW>; 74 wakeup-event-action = 84 wakeup-event-action = <EV_ACT_DEASSERTED>; 75 wakeup-source; 85 wakeup-source; 76 }; 86 }; 77 }; 87 }; 78 88 79 gpio-key-power { 89 gpio-key-power { 80 compatible = "gpio-keys"; 90 compatible = "gpio-keys"; 81 pinctrl-names = "default"; 91 pinctrl-names = "default"; 82 pinctrl-0 = <&pwrbtn_pin>; 92 pinctrl-0 = <&pwrbtn_pin>; 83 93 84 key-power { !! 94 power { 85 debounce-interval = <2 95 debounce-interval = <20>; 86 gpios = <&gpio0 RK_PA5 96 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 87 label = "Power"; 97 label = "Power"; 88 linux,code = <KEY_POWE 98 linux,code = <KEY_POWER>; 89 wakeup-source; 99 wakeup-source; 90 }; 100 }; 91 }; 101 }; 92 102 93 leds { 103 leds { 94 compatible = "gpio-leds"; 104 compatible = "gpio-leds"; 95 pinctrl-names = "default"; 105 pinctrl-names = "default"; 96 pinctrl-0 = <&pwr_led_pin &slp 106 pinctrl-0 = <&pwr_led_pin &slp_led_pin>; 97 107 98 green_led: led-0 { 108 green_led: led-0 { 99 color = <LED_COLOR_ID_ 109 color = <LED_COLOR_ID_GREEN>; 100 default-state = "on"; 110 default-state = "on"; 101 function = LED_FUNCTIO 111 function = LED_FUNCTION_POWER; 102 gpios = <&gpio0 RK_PB3 112 gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 103 label = "green:power"; 113 label = "green:power"; 104 }; 114 }; 105 115 106 red_led: led-1 { 116 red_led: led-1 { 107 color = <LED_COLOR_ID_ 117 color = <LED_COLOR_ID_RED>; 108 default-state = "off"; 118 default-state = "off"; 109 function = LED_FUNCTIO 119 function = LED_FUNCTION_STANDBY; 110 gpios = <&gpio0 RK_PA2 120 gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 111 label = "red:standby"; 121 label = "red:standby"; 112 panic-indicator; 122 panic-indicator; 113 retain-state-suspended 123 retain-state-suspended; 114 }; 124 }; 115 }; 125 }; 116 126 117 /* Power sequence for SDIO WiFi module 127 /* Power sequence for SDIO WiFi module */ 118 sdio_pwrseq: sdio-pwrseq { 128 sdio_pwrseq: sdio-pwrseq { 119 compatible = "mmc-pwrseq-simpl 129 compatible = "mmc-pwrseq-simple"; 120 clocks = <&rk808 1>; 130 clocks = <&rk808 1>; 121 clock-names = "ext_clock"; 131 clock-names = "ext_clock"; 122 pinctrl-names = "default"; 132 pinctrl-names = "default"; 123 pinctrl-0 = <&wifi_enable_h_pi 133 pinctrl-0 = <&wifi_enable_h_pin>; 124 post-power-on-delay-ms = <100> 134 post-power-on-delay-ms = <100>; 125 power-off-delay-us = <500000>; 135 power-off-delay-us = <500000>; 126 136 127 /* WL_REG_ON on module */ 137 /* WL_REG_ON on module */ 128 reset-gpios = <&gpio0 RK_PB2 G 138 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 129 }; 139 }; 130 140 131 /* Audio components */ 141 /* Audio components */ 132 es8316-sound { 142 es8316-sound { 133 compatible = "simple-audio-car 143 compatible = "simple-audio-card"; 134 pinctrl-names = "default"; 144 pinctrl-names = "default"; 135 pinctrl-0 = <&hp_det_pin>; 145 pinctrl-0 = <&hp_det_pin>; 136 simple-audio-card,name = "rock 146 simple-audio-card,name = "rockchip,es8316-codec"; 137 simple-audio-card,format = "i2 147 simple-audio-card,format = "i2s"; 138 simple-audio-card,mclk-fs = <2 148 simple-audio-card,mclk-fs = <256>; 139 149 140 simple-audio-card,widgets = 150 simple-audio-card,widgets = 141 "Microphone", "Mic Jac 151 "Microphone", "Mic Jack", 142 "Headphone", "Headphon 152 "Headphone", "Headphones", 143 "Speaker", "Speaker"; 153 "Speaker", "Speaker"; 144 simple-audio-card,routing = 154 simple-audio-card,routing = 145 "MIC1", "Mic Jack", 155 "MIC1", "Mic Jack", 146 "Headphones", "HPOL", 156 "Headphones", "HPOL", 147 "Headphones", "HPOR", 157 "Headphones", "HPOR", 148 "Speaker Amplifier INL 158 "Speaker Amplifier INL", "HPOL", 149 "Speaker Amplifier INR 159 "Speaker Amplifier INR", "HPOR", 150 "Speaker", "Speaker Am 160 "Speaker", "Speaker Amplifier OUTL", 151 "Speaker", "Speaker Am 161 "Speaker", "Speaker Amplifier OUTR"; 152 162 153 simple-audio-card,hp-det-gpio 163 simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; 154 simple-audio-card,aux-devs = < 164 simple-audio-card,aux-devs = <&speaker_amp>; 155 simple-audio-card,pin-switches 165 simple-audio-card,pin-switches = "Speaker"; 156 166 157 simple-audio-card,cpu { 167 simple-audio-card,cpu { 158 sound-dai = <&i2s1>; 168 sound-dai = <&i2s1>; 159 }; 169 }; 160 170 161 simple-audio-card,codec { 171 simple-audio-card,codec { 162 sound-dai = <&es8316>; 172 sound-dai = <&es8316>; 163 }; 173 }; 164 }; 174 }; 165 175 166 speaker_amp: speaker-amplifier { 176 speaker_amp: speaker-amplifier { 167 compatible = "simple-audio-amp 177 compatible = "simple-audio-amplifier"; 168 enable-gpios = <&gpio4 RK_PD3 178 enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; 169 sound-name-prefix = "Speaker A 179 sound-name-prefix = "Speaker Amplifier"; 170 VCC-supply = <&pa_5v>; 180 VCC-supply = <&pa_5v>; 171 }; 181 }; 172 182 173 /* Power tree */ 183 /* Power tree */ 174 /* Root power source */ 184 /* Root power source */ 175 vcc_sysin: vcc-sysin { 185 vcc_sysin: vcc-sysin { 176 compatible = "regulator-fixed" 186 compatible = "regulator-fixed"; 177 regulator-name = "vcc_sysin"; 187 regulator-name = "vcc_sysin"; 178 regulator-always-on; 188 regulator-always-on; 179 regulator-boot-on; 189 regulator-boot-on; 180 }; 190 }; 181 191 182 /* Regulators supplied by vcc_sysin */ 192 /* Regulators supplied by vcc_sysin */ 183 /* LCD backlight supply */ 193 /* LCD backlight supply */ 184 vcc_12v: vcc-12v { 194 vcc_12v: vcc-12v { 185 compatible = "regulator-fixed" 195 compatible = "regulator-fixed"; 186 regulator-name = "vcc_12v"; 196 regulator-name = "vcc_12v"; 187 regulator-always-on; 197 regulator-always-on; 188 regulator-boot-on; 198 regulator-boot-on; 189 regulator-min-microvolt = <120 199 regulator-min-microvolt = <12000000>; 190 regulator-max-microvolt = <120 200 regulator-max-microvolt = <12000000>; 191 vin-supply = <&vcc_sysin>; 201 vin-supply = <&vcc_sysin>; 192 202 193 regulator-state-mem { 203 regulator-state-mem { 194 regulator-off-in-suspe 204 regulator-off-in-suspend; 195 }; 205 }; 196 }; 206 }; 197 207 198 /* Main 3.3 V supply */ 208 /* Main 3.3 V supply */ 199 vcc3v3_sys: wifi_bat: vcc3v3-sys { 209 vcc3v3_sys: wifi_bat: vcc3v3-sys { 200 compatible = "regulator-fixed" 210 compatible = "regulator-fixed"; 201 regulator-name = "vcc3v3_sys"; 211 regulator-name = "vcc3v3_sys"; 202 regulator-always-on; 212 regulator-always-on; 203 regulator-boot-on; 213 regulator-boot-on; 204 regulator-min-microvolt = <330 214 regulator-min-microvolt = <3300000>; 205 regulator-max-microvolt = <330 215 regulator-max-microvolt = <3300000>; 206 vin-supply = <&vcc_sysin>; 216 vin-supply = <&vcc_sysin>; 207 217 208 regulator-state-mem { 218 regulator-state-mem { 209 regulator-on-in-suspen 219 regulator-on-in-suspend; 210 }; 220 }; 211 }; 221 }; 212 222 213 /* 5 V USB power supply */ 223 /* 5 V USB power supply */ 214 vcc5v0_usb: pa_5v: vcc5v0-usb-regulato 224 vcc5v0_usb: pa_5v: vcc5v0-usb-regulator { 215 compatible = "regulator-fixed" 225 compatible = "regulator-fixed"; 216 enable-active-high; 226 enable-active-high; 217 gpio = <&gpio1 RK_PB5 GPIO_ACT 227 gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 218 pinctrl-names = "default"; 228 pinctrl-names = "default"; 219 pinctrl-0 = <&pwr_5v_pin>; 229 pinctrl-0 = <&pwr_5v_pin>; 220 regulator-name = "vcc5v0_usb"; 230 regulator-name = "vcc5v0_usb"; 221 regulator-always-on; 231 regulator-always-on; 222 regulator-min-microvolt = <500 232 regulator-min-microvolt = <5000000>; 223 regulator-max-microvolt = <500 233 regulator-max-microvolt = <5000000>; 224 vin-supply = <&vcc_sysin>; 234 vin-supply = <&vcc_sysin>; 225 235 226 regulator-state-mem { 236 regulator-state-mem { 227 regulator-off-in-suspe 237 regulator-off-in-suspend; 228 }; 238 }; 229 }; 239 }; 230 240 231 /* RK3399 logic supply */ 241 /* RK3399 logic supply */ 232 vdd_log: vdd-log { 242 vdd_log: vdd-log { 233 compatible = "pwm-regulator"; 243 compatible = "pwm-regulator"; 234 pwms = <&pwm2 0 25000 1>; 244 pwms = <&pwm2 0 25000 1>; 235 pwm-supply = <&vcc_sysin>; << 236 regulator-name = "vdd_log"; 245 regulator-name = "vdd_log"; 237 regulator-always-on; 246 regulator-always-on; 238 regulator-boot-on; 247 regulator-boot-on; 239 regulator-min-microvolt = <800 248 regulator-min-microvolt = <800000>; 240 regulator-max-microvolt = <140 249 regulator-max-microvolt = <1400000>; >> 250 vin-supply = <&vcc_sysin>; 241 251 242 regulator-state-mem { 252 regulator-state-mem { 243 regulator-on-in-suspen 253 regulator-on-in-suspend; 244 }; 254 }; 245 }; 255 }; 246 256 247 /* Regulators supplied by vcc3v3_sys * 257 /* Regulators supplied by vcc3v3_sys */ 248 /* 0.9 V supply, always on */ 258 /* 0.9 V supply, always on */ 249 vcc_0v9: vcc-0v9 { 259 vcc_0v9: vcc-0v9 { 250 compatible = "regulator-fixed" 260 compatible = "regulator-fixed"; 251 regulator-name = "vcc_0v9"; 261 regulator-name = "vcc_0v9"; 252 regulator-always-on; 262 regulator-always-on; 253 regulator-boot-on; 263 regulator-boot-on; 254 regulator-min-microvolt = <900 264 regulator-min-microvolt = <900000>; 255 regulator-max-microvolt = <900 265 regulator-max-microvolt = <900000>; 256 vin-supply = <&vcc3v3_sys>; 266 vin-supply = <&vcc3v3_sys>; 257 }; 267 }; 258 268 259 /* S3 1.8 V supply, switched by vcc1v8 269 /* S3 1.8 V supply, switched by vcc1v8_s3 */ 260 vcca1v8_s3: vcc1v8-s3 { 270 vcca1v8_s3: vcc1v8-s3 { 261 compatible = "regulator-fixed" 271 compatible = "regulator-fixed"; 262 regulator-name = "vcca1v8_s3"; 272 regulator-name = "vcca1v8_s3"; 263 regulator-always-on; 273 regulator-always-on; 264 regulator-boot-on; 274 regulator-boot-on; 265 regulator-min-microvolt = <180 275 regulator-min-microvolt = <1800000>; 266 regulator-max-microvolt = <180 276 regulator-max-microvolt = <1800000>; 267 vin-supply = <&vcc3v3_sys>; 277 vin-supply = <&vcc3v3_sys>; 268 }; 278 }; 269 279 270 /* micro SD card power */ 280 /* micro SD card power */ 271 vcc3v0_sd: vcc3v0-sd { 281 vcc3v0_sd: vcc3v0-sd { 272 compatible = "regulator-fixed" 282 compatible = "regulator-fixed"; 273 enable-active-high; 283 enable-active-high; 274 gpio = <&gpio0 RK_PA1 GPIO_ACT 284 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 275 pinctrl-names = "default"; 285 pinctrl-names = "default"; 276 pinctrl-0 = <&sdmmc0_pwr_h_pin 286 pinctrl-0 = <&sdmmc0_pwr_h_pin>; 277 regulator-name = "vcc3v0_sd"; 287 regulator-name = "vcc3v0_sd"; 278 regulator-always-on; 288 regulator-always-on; 279 regulator-min-microvolt = <300 289 regulator-min-microvolt = <3000000>; 280 regulator-max-microvolt = <300 290 regulator-max-microvolt = <3000000>; 281 vin-supply = <&vcc3v3_sys>; 291 vin-supply = <&vcc3v3_sys>; 282 292 283 regulator-state-mem { 293 regulator-state-mem { 284 regulator-off-in-suspe 294 regulator-off-in-suspend; 285 }; 295 }; 286 }; 296 }; 287 297 288 /* LCD panel power, called VCC3V3_S0 i 298 /* LCD panel power, called VCC3V3_S0 in schematic */ 289 vcc3v3_panel: vcc3v3-panel { 299 vcc3v3_panel: vcc3v3-panel { 290 compatible = "regulator-fixed" 300 compatible = "regulator-fixed"; 291 enable-active-high; 301 enable-active-high; 292 gpio = <&gpio1 RK_PC6 GPIO_ACT 302 gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; 293 pinctrl-names = "default"; 303 pinctrl-names = "default"; 294 pinctrl-0 = <&lcdvcc_en_pin>; 304 pinctrl-0 = <&lcdvcc_en_pin>; 295 regulator-name = "vcc3v3_panel 305 regulator-name = "vcc3v3_panel"; 296 regulator-always-on; 306 regulator-always-on; 297 regulator-min-microvolt = <330 307 regulator-min-microvolt = <3300000>; 298 regulator-max-microvolt = <330 308 regulator-max-microvolt = <3300000>; 299 regulator-enable-ramp-delay = 309 regulator-enable-ramp-delay = <100000>; 300 vin-supply = <&vcc3v3_sys>; 310 vin-supply = <&vcc3v3_sys>; 301 311 302 regulator-state-mem { 312 regulator-state-mem { 303 regulator-off-in-suspe 313 regulator-off-in-suspend; 304 }; 314 }; 305 }; 315 }; 306 316 307 /* M.2 adapter power, switched by vcc1 317 /* M.2 adapter power, switched by vcc1v8_s3 */ 308 vcc3v3_ssd: vcc3v3-ssd { 318 vcc3v3_ssd: vcc3v3-ssd { 309 compatible = "regulator-fixed" 319 compatible = "regulator-fixed"; 310 regulator-name = "vcc3v3_ssd"; 320 regulator-name = "vcc3v3_ssd"; 311 regulator-min-microvolt = <330 321 regulator-min-microvolt = <3300000>; 312 regulator-max-microvolt = <330 322 regulator-max-microvolt = <3300000>; 313 vin-supply = <&vcc3v3_sys>; 323 vin-supply = <&vcc3v3_sys>; 314 }; 324 }; 315 325 316 /* Regulators supplied by vcc5v0_usb * 326 /* Regulators supplied by vcc5v0_usb */ 317 /* USB 3 port power supply regulator 327 /* USB 3 port power supply regulator */ 318 vcc5v0_otg: vcc5v0-otg { 328 vcc5v0_otg: vcc5v0-otg { 319 compatible = "regulator-fixed" 329 compatible = "regulator-fixed"; 320 enable-active-high; 330 enable-active-high; 321 gpio = <&gpio4 RK_PD2 GPIO_ACT 331 gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 322 pinctrl-names = "default"; 332 pinctrl-names = "default"; 323 pinctrl-0 = <&vcc5v0_host_en_p 333 pinctrl-0 = <&vcc5v0_host_en_pin>; 324 regulator-name = "vcc5v0_otg"; 334 regulator-name = "vcc5v0_otg"; 325 regulator-always-on; 335 regulator-always-on; 326 regulator-min-microvolt = <500 336 regulator-min-microvolt = <5000000>; 327 regulator-max-microvolt = <500 337 regulator-max-microvolt = <5000000>; 328 vin-supply = <&vcc5v0_usb>; 338 vin-supply = <&vcc5v0_usb>; 329 339 330 regulator-state-mem { 340 regulator-state-mem { 331 regulator-off-in-suspe 341 regulator-off-in-suspend; 332 }; 342 }; 333 }; 343 }; 334 344 335 /* Regulators supplied by vcc5v0_usb * 345 /* Regulators supplied by vcc5v0_usb */ 336 /* Type C port power supply regulator 346 /* Type C port power supply regulator */ 337 vbus_5vout: vbus_typec: vbus-5vout { 347 vbus_5vout: vbus_typec: vbus-5vout { 338 compatible = "regulator-fixed" 348 compatible = "regulator-fixed"; 339 enable-active-high; 349 enable-active-high; 340 gpio = <&gpio1 RK_PA3 GPIO_ACT 350 gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 341 pinctrl-names = "default"; 351 pinctrl-names = "default"; 342 pinctrl-0 = <&vcc5v0_typec0_en 352 pinctrl-0 = <&vcc5v0_typec0_en_pin>; 343 regulator-name = "vbus_5vout"; 353 regulator-name = "vbus_5vout"; 344 regulator-min-microvolt = <500 354 regulator-min-microvolt = <5000000>; 345 regulator-max-microvolt = <500 355 regulator-max-microvolt = <5000000>; 346 vin-supply = <&vcc5v0_usb>; 356 vin-supply = <&vcc5v0_usb>; 347 357 348 regulator-state-mem { 358 regulator-state-mem { 349 regulator-off-in-suspe 359 regulator-off-in-suspend; 350 }; 360 }; 351 }; 361 }; 352 362 353 /* Regulators supplied by vcc_1v8 */ 363 /* Regulators supplied by vcc_1v8 */ 354 /* Primary 0.9 V LDO */ 364 /* Primary 0.9 V LDO */ 355 vcca0v9_s3: vcca0v9-s3 { 365 vcca0v9_s3: vcca0v9-s3 { 356 compatible = "regulator-fixed" 366 compatible = "regulator-fixed"; 357 regulator-name = "vcc0v9_s3"; 367 regulator-name = "vcc0v9_s3"; 358 regulator-min-microvolt = <500 368 regulator-min-microvolt = <5000000>; 359 regulator-max-microvolt = <500 369 regulator-max-microvolt = <5000000>; 360 vin-supply = <&vcc_1v8>; 370 vin-supply = <&vcc_1v8>; 361 371 362 regulator-state-mem { 372 regulator-state-mem { 363 regulator-on-in-suspen 373 regulator-on-in-suspend; 364 }; 374 }; 365 }; 375 }; 366 376 367 mains_charger: dc-charger { 377 mains_charger: dc-charger { 368 compatible = "gpio-charger"; 378 compatible = "gpio-charger"; 369 charger-type = "mains"; 379 charger-type = "mains"; 370 gpios = <&gpio4 RK_PD0 GPIO_AC 380 gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>; 371 381 372 /* Also triggered by USB charg 382 /* Also triggered by USB charger */ 373 pinctrl-names = "default"; 383 pinctrl-names = "default"; 374 pinctrl-0 = <&dc_det_pin>; 384 pinctrl-0 = <&dc_det_pin>; 375 }; 385 }; 376 }; 386 }; 377 387 378 &cpu_b0 { 388 &cpu_b0 { 379 cpu-supply = <&vdd_cpu_b>; 389 cpu-supply = <&vdd_cpu_b>; 380 }; 390 }; 381 391 382 &cpu_b1 { 392 &cpu_b1 { 383 cpu-supply = <&vdd_cpu_b>; 393 cpu-supply = <&vdd_cpu_b>; 384 }; 394 }; 385 395 386 &cpu_l0 { 396 &cpu_l0 { 387 cpu-supply = <&vdd_cpu_l>; 397 cpu-supply = <&vdd_cpu_l>; 388 }; 398 }; 389 399 390 &cpu_l1 { 400 &cpu_l1 { 391 cpu-supply = <&vdd_cpu_l>; 401 cpu-supply = <&vdd_cpu_l>; 392 }; 402 }; 393 403 394 &cpu_l2 { 404 &cpu_l2 { 395 cpu-supply = <&vdd_cpu_l>; 405 cpu-supply = <&vdd_cpu_l>; 396 }; 406 }; 397 407 398 &cpu_l3 { 408 &cpu_l3 { 399 cpu-supply = <&vdd_cpu_l>; 409 cpu-supply = <&vdd_cpu_l>; 400 }; 410 }; 401 411 402 &edp { 412 &edp { 403 force-hpd; 413 force-hpd; 404 pinctrl-names = "default"; 414 pinctrl-names = "default"; 405 pinctrl-0 = <&edp_hpd>; 415 pinctrl-0 = <&edp_hpd>; 406 status = "okay"; 416 status = "okay"; 407 417 408 ports { 418 ports { 409 edp_out: port@1 { 419 edp_out: port@1 { 410 reg = <1>; 420 reg = <1>; 411 #address-cells = <1>; 421 #address-cells = <1>; 412 #size-cells = <0>; 422 #size-cells = <0>; 413 423 414 edp_out_panel: endpoin 424 edp_out_panel: endpoint@0 { 415 reg = <0>; 425 reg = <0>; 416 remote-endpoin 426 remote-endpoint = <&panel_in_edp>; 417 }; 427 }; 418 }; 428 }; 419 }; 429 }; 420 }; 430 }; 421 431 422 &emmc_phy { 432 &emmc_phy { 423 status = "okay"; 433 status = "okay"; 424 }; 434 }; 425 435 426 &gpu { 436 &gpu { 427 mali-supply = <&vdd_gpu>; 437 mali-supply = <&vdd_gpu>; 428 status = "okay"; 438 status = "okay"; 429 }; 439 }; 430 440 431 &hdmi_sound { 441 &hdmi_sound { 432 status = "okay"; 442 status = "okay"; 433 }; 443 }; 434 444 435 &i2c0 { 445 &i2c0 { 436 clock-frequency = <400000>; 446 clock-frequency = <400000>; 437 i2c-scl-falling-time-ns = <4>; 447 i2c-scl-falling-time-ns = <4>; 438 i2c-scl-rising-time-ns = <168>; 448 i2c-scl-rising-time-ns = <168>; 439 status = "okay"; 449 status = "okay"; 440 450 441 rk808: pmic@1b { 451 rk808: pmic@1b { 442 compatible = "rockchip,rk808"; 452 compatible = "rockchip,rk808"; 443 reg = <0x1b>; 453 reg = <0x1b>; 444 #clock-cells = <1>; 454 #clock-cells = <1>; 445 clock-output-names = "xin32k", 455 clock-output-names = "xin32k", "rk808-clkout2"; 446 interrupt-parent = <&gpio3>; 456 interrupt-parent = <&gpio3>; 447 interrupts = <10 IRQ_TYPE_LEVE 457 interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 448 pinctrl-names = "default"; 458 pinctrl-names = "default"; 449 pinctrl-0 = <&pmic_int_l_pin>; 459 pinctrl-0 = <&pmic_int_l_pin>; 450 rockchip,system-power-controll 460 rockchip,system-power-controller; 451 wakeup-source; 461 wakeup-source; 452 462 453 vcc1-supply = <&vcc_sysin>; 463 vcc1-supply = <&vcc_sysin>; 454 vcc2-supply = <&vcc_sysin>; 464 vcc2-supply = <&vcc_sysin>; 455 vcc3-supply = <&vcc_sysin>; 465 vcc3-supply = <&vcc_sysin>; 456 vcc4-supply = <&vcc_sysin>; 466 vcc4-supply = <&vcc_sysin>; 457 vcc6-supply = <&vcc_sysin>; 467 vcc6-supply = <&vcc_sysin>; 458 vcc7-supply = <&vcc_sysin>; 468 vcc7-supply = <&vcc_sysin>; 459 vcc8-supply = <&vcc3v3_sys>; 469 vcc8-supply = <&vcc3v3_sys>; 460 vcc9-supply = <&vcc_sysin>; 470 vcc9-supply = <&vcc_sysin>; 461 vcc10-supply = <&vcc_sysin>; 471 vcc10-supply = <&vcc_sysin>; 462 vcc11-supply = <&vcc_sysin>; 472 vcc11-supply = <&vcc_sysin>; 463 vcc12-supply = <&vcc3v3_sys>; 473 vcc12-supply = <&vcc3v3_sys>; >> 474 vcc13-supply = <&vcc_sysin>; >> 475 vcc14-supply = <&vcc_sysin>; 464 476 465 regulators { 477 regulators { 466 /* rk3399 center logic 478 /* rk3399 center logic supply */ 467 vdd_center: DCDC_REG1 479 vdd_center: DCDC_REG1 { 468 regulator-name 480 regulator-name = "vdd_center"; 469 regulator-alwa 481 regulator-always-on; 470 regulator-boot 482 regulator-boot-on; 471 regulator-min- 483 regulator-min-microvolt = <750000>; 472 regulator-max- 484 regulator-max-microvolt = <1350000>; 473 regulator-ramp 485 regulator-ramp-delay = <6001>; 474 486 475 regulator-stat 487 regulator-state-mem { 476 regula 488 regulator-off-in-suspend; 477 }; 489 }; 478 }; 490 }; 479 491 480 vdd_cpu_l: DCDC_REG2 { 492 vdd_cpu_l: DCDC_REG2 { 481 regulator-name 493 regulator-name = "vdd_cpu_l"; 482 regulator-alwa 494 regulator-always-on; 483 regulator-boot 495 regulator-boot-on; 484 regulator-min- 496 regulator-min-microvolt = <750000>; 485 regulator-max- 497 regulator-max-microvolt = <1350000>; 486 regulator-ramp 498 regulator-ramp-delay = <6001>; 487 499 488 regulator-stat 500 regulator-state-mem { 489 regula 501 regulator-off-in-suspend; 490 }; 502 }; 491 }; 503 }; 492 504 493 vcc_ddr: DCDC_REG3 { 505 vcc_ddr: DCDC_REG3 { 494 regulator-name 506 regulator-name = "vcc_ddr"; 495 regulator-alwa 507 regulator-always-on; 496 regulator-boot 508 regulator-boot-on; 497 509 498 regulator-stat 510 regulator-state-mem { 499 regula 511 regulator-on-in-suspend; 500 }; 512 }; 501 }; 513 }; 502 514 503 vcc_1v8: vcc_wl: DCDC_ 515 vcc_1v8: vcc_wl: DCDC_REG4 { 504 regulator-name 516 regulator-name = "vcc_1v8"; 505 regulator-alwa 517 regulator-always-on; 506 regulator-boot 518 regulator-boot-on; 507 regulator-min- 519 regulator-min-microvolt = <1800000>; 508 regulator-max- 520 regulator-max-microvolt = <1800000>; 509 521 510 regulator-stat 522 regulator-state-mem { 511 regula 523 regulator-on-in-suspend; 512 regula 524 regulator-suspend-microvolt = <1800000>; 513 }; 525 }; 514 }; 526 }; 515 527 516 /* not used */ 528 /* not used */ 517 LDO_REG1 { 529 LDO_REG1 { 518 }; 530 }; 519 531 520 /* not used */ 532 /* not used */ 521 LDO_REG2 { 533 LDO_REG2 { 522 }; 534 }; 523 535 524 vcc1v8_pmupll: LDO_REG 536 vcc1v8_pmupll: LDO_REG3 { 525 regulator-name 537 regulator-name = "vcc1v8_pmupll"; 526 regulator-alwa 538 regulator-always-on; 527 regulator-boot 539 regulator-boot-on; 528 regulator-min- 540 regulator-min-microvolt = <1800000>; 529 regulator-max- 541 regulator-max-microvolt = <1800000>; 530 542 531 regulator-stat 543 regulator-state-mem { 532 regula 544 regulator-on-in-suspend; 533 regula 545 regulator-suspend-microvolt = <1800000>; 534 }; 546 }; 535 }; 547 }; 536 548 537 vcc_sdio: LDO_REG4 { 549 vcc_sdio: LDO_REG4 { 538 regulator-name 550 regulator-name = "vcc_sdio"; 539 regulator-alwa 551 regulator-always-on; 540 regulator-boot 552 regulator-boot-on; 541 regulator-min- 553 regulator-min-microvolt = <1800000>; 542 regulator-max- 554 regulator-max-microvolt = <3000000>; 543 555 544 regulator-stat 556 regulator-state-mem { 545 regula 557 regulator-on-in-suspend; 546 regula 558 regulator-suspend-microvolt = <3000000>; 547 }; 559 }; 548 }; 560 }; 549 561 550 vcca3v0_codec: LDO_REG 562 vcca3v0_codec: LDO_REG5 { 551 regulator-name 563 regulator-name = "vcca3v0_codec"; 552 regulator-alwa 564 regulator-always-on; 553 regulator-boot 565 regulator-boot-on; 554 regulator-min- 566 regulator-min-microvolt = <3000000>; 555 regulator-max- 567 regulator-max-microvolt = <3000000>; 556 568 557 regulator-stat 569 regulator-state-mem { 558 regula 570 regulator-off-in-suspend; 559 }; 571 }; 560 }; 572 }; 561 573 562 vcc_1v5: LDO_REG6 { 574 vcc_1v5: LDO_REG6 { 563 regulator-name 575 regulator-name = "vcc_1v5"; 564 regulator-alwa 576 regulator-always-on; 565 regulator-boot 577 regulator-boot-on; 566 regulator-min- 578 regulator-min-microvolt = <1500000>; 567 regulator-max- 579 regulator-max-microvolt = <1500000>; 568 580 569 regulator-stat 581 regulator-state-mem { 570 regula 582 regulator-on-in-suspend; 571 regula 583 regulator-suspend-microvolt = <1500000>; 572 }; 584 }; 573 }; 585 }; 574 586 575 vcca1v8_codec: LDO_REG 587 vcca1v8_codec: LDO_REG7 { 576 regulator-name 588 regulator-name = "vcca1v8_codec"; 577 regulator-alwa 589 regulator-always-on; 578 regulator-boot 590 regulator-boot-on; 579 regulator-min- 591 regulator-min-microvolt = <1800000>; 580 regulator-max- 592 regulator-max-microvolt = <1800000>; 581 593 582 regulator-stat 594 regulator-state-mem { 583 regula 595 regulator-off-in-suspend; 584 }; 596 }; 585 }; 597 }; 586 598 587 vcc_3v0: LDO_REG8 { 599 vcc_3v0: LDO_REG8 { 588 regulator-name 600 regulator-name = "vcc_3v0"; 589 regulator-alwa 601 regulator-always-on; 590 regulator-boot 602 regulator-boot-on; 591 regulator-min- 603 regulator-min-microvolt = <3000000>; 592 regulator-max- 604 regulator-max-microvolt = <3000000>; 593 605 594 regulator-stat 606 regulator-state-mem { 595 regula 607 regulator-on-in-suspend; 596 regula 608 regulator-suspend-microvolt = <3000000>; 597 }; 609 }; 598 }; 610 }; 599 611 600 vcc3v3_s3: SWITCH_REG1 612 vcc3v3_s3: SWITCH_REG1 { 601 regulator-name 613 regulator-name = "vcc3v3_s3"; 602 regulator-alwa 614 regulator-always-on; 603 regulator-boot 615 regulator-boot-on; 604 616 605 regulator-stat 617 regulator-state-mem { 606 regula 618 regulator-off-in-suspend; 607 }; 619 }; 608 }; 620 }; 609 621 610 vcc3v3_s0: SWITCH_REG2 622 vcc3v3_s0: SWITCH_REG2 { 611 regulator-name 623 regulator-name = "vcc3v3_s0"; 612 regulator-alwa 624 regulator-always-on; 613 regulator-boot 625 regulator-boot-on; 614 626 615 regulator-stat 627 regulator-state-mem { 616 regula 628 regulator-off-in-suspend; 617 }; 629 }; 618 }; 630 }; 619 }; 631 }; 620 }; 632 }; 621 633 622 vdd_cpu_b: regulator@40 { 634 vdd_cpu_b: regulator@40 { 623 compatible = "silergy,syr827"; 635 compatible = "silergy,syr827"; 624 reg = <0x40>; 636 reg = <0x40>; 625 fcs,suspend-voltage-selector = 637 fcs,suspend-voltage-selector = <1>; 626 pinctrl-names = "default"; 638 pinctrl-names = "default"; 627 pinctrl-0 = <&vsel1_pin>; 639 pinctrl-0 = <&vsel1_pin>; 628 regulator-name = "vdd_cpu_b"; 640 regulator-name = "vdd_cpu_b"; 629 regulator-always-on; 641 regulator-always-on; 630 regulator-boot-on; 642 regulator-boot-on; 631 regulator-min-microvolt = <712 643 regulator-min-microvolt = <712500>; 632 regulator-max-microvolt = <150 644 regulator-max-microvolt = <1500000>; 633 regulator-ramp-delay = <1000>; 645 regulator-ramp-delay = <1000>; 634 vin-supply = <&vcc_1v8>; 646 vin-supply = <&vcc_1v8>; 635 647 636 regulator-state-mem { 648 regulator-state-mem { 637 regulator-off-in-suspe 649 regulator-off-in-suspend; 638 }; 650 }; 639 }; 651 }; 640 652 641 vdd_gpu: regulator@41 { 653 vdd_gpu: regulator@41 { 642 compatible = "silergy,syr828"; 654 compatible = "silergy,syr828"; 643 reg = <0x41>; 655 reg = <0x41>; 644 fcs,suspend-voltage-selector = 656 fcs,suspend-voltage-selector = <1>; 645 pinctrl-names = "default"; 657 pinctrl-names = "default"; 646 pinctrl-0 = <&vsel2_pin>; 658 pinctrl-0 = <&vsel2_pin>; 647 regulator-name = "vdd_gpu"; 659 regulator-name = "vdd_gpu"; 648 regulator-always-on; 660 regulator-always-on; 649 regulator-boot-on; 661 regulator-boot-on; 650 regulator-min-microvolt = <712 662 regulator-min-microvolt = <712500>; 651 regulator-max-microvolt = <150 663 regulator-max-microvolt = <1500000>; 652 regulator-ramp-delay = <1000>; 664 regulator-ramp-delay = <1000>; 653 vin-supply = <&vcc_1v8>; 665 vin-supply = <&vcc_1v8>; 654 666 655 regulator-state-mem { 667 regulator-state-mem { 656 regulator-off-in-suspe 668 regulator-off-in-suspend; 657 }; 669 }; 658 }; 670 }; 659 }; 671 }; 660 672 661 &i2c1 { 673 &i2c1 { 662 clock-frequency = <100000>; 674 clock-frequency = <100000>; 663 i2c-scl-falling-time-ns = <4>; 675 i2c-scl-falling-time-ns = <4>; 664 i2c-scl-rising-time-ns = <168>; 676 i2c-scl-rising-time-ns = <168>; 665 status = "okay"; 677 status = "okay"; 666 678 667 es8316: audio-codec@11 { !! 679 es8316: es8316@11 { 668 compatible = "everest,es8316"; 680 compatible = "everest,es8316"; 669 reg = <0x11>; 681 reg = <0x11>; 670 clocks = <&cru SCLK_I2S_8CH_OU 682 clocks = <&cru SCLK_I2S_8CH_OUT>; 671 clock-names = "mclk"; 683 clock-names = "mclk"; 672 #sound-dai-cells = <0>; 684 #sound-dai-cells = <0>; 673 }; 685 }; 674 }; 686 }; 675 687 676 &i2c3 { 688 &i2c3 { 677 i2c-scl-falling-time-ns = <15>; 689 i2c-scl-falling-time-ns = <15>; 678 i2c-scl-rising-time-ns = <450>; 690 i2c-scl-rising-time-ns = <450>; 679 status = "okay"; 691 status = "okay"; 680 }; 692 }; 681 693 682 &i2c4 { 694 &i2c4 { 683 i2c-scl-falling-time-ns = <20>; 695 i2c-scl-falling-time-ns = <20>; 684 i2c-scl-rising-time-ns = <600>; 696 i2c-scl-rising-time-ns = <600>; 685 status = "okay"; 697 status = "okay"; 686 698 687 fusb0: fusb30x@22 { 699 fusb0: fusb30x@22 { 688 compatible = "fcs,fusb302"; 700 compatible = "fcs,fusb302"; 689 reg = <0x22>; 701 reg = <0x22>; 690 interrupt-parent = <&gpio1>; 702 interrupt-parent = <&gpio1>; 691 interrupts = <RK_PA2 IRQ_TYPE_ 703 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 692 pinctrl-names = "default"; 704 pinctrl-names = "default"; 693 pinctrl-0 = <&fusb0_int_pin>; 705 pinctrl-0 = <&fusb0_int_pin>; 694 vbus-supply = <&vbus_typec>; 706 vbus-supply = <&vbus_typec>; 695 707 696 connector { 708 connector { 697 compatible = "usb-c-co 709 compatible = "usb-c-connector"; 698 data-role = "dual"; !! 710 data-role = "host"; 699 label = "USB-C"; 711 label = "USB-C"; 700 op-sink-microwatt = <1 712 op-sink-microwatt = <1000000>; 701 power-role = "dual"; 713 power-role = "dual"; 702 sink-pdos = 714 sink-pdos = 703 <PDO_FIXED(500 715 <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>; 704 source-pdos = 716 source-pdos = 705 <PDO_FIXED(500 717 <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>; 706 try-power-role = "sink 718 try-power-role = "sink"; 707 719 708 ports { 720 ports { 709 #address-cells 721 #address-cells = <1>; 710 #size-cells = 722 #size-cells = <0>; 711 723 712 port@0 { 724 port@0 { 713 reg = 725 reg = <0>; 714 726 715 usbc_h 727 usbc_hs: endpoint { 716 728 remote-endpoint = 717 729 <&u2phy0_typec_hs>; 718 }; 730 }; 719 }; 731 }; 720 732 721 port@1 { 733 port@1 { 722 reg = 734 reg = <1>; 723 735 724 usbc_s 736 usbc_ss: endpoint { 725 737 remote-endpoint = 726 738 <&tcphy0_typec_ss>; 727 }; 739 }; 728 }; 740 }; 729 741 730 port@2 { 742 port@2 { 731 reg = 743 reg = <2>; 732 744 733 usbc_d 745 usbc_dp: endpoint { 734 746 remote-endpoint = 735 747 <&tcphy0_typec_dp>; 736 }; 748 }; 737 }; 749 }; 738 }; 750 }; 739 }; 751 }; 740 }; 752 }; 741 753 742 cw2015@62 { 754 cw2015@62 { 743 compatible = "cellwise,cw2015" 755 compatible = "cellwise,cw2015"; 744 reg = <0x62>; 756 reg = <0x62>; 745 cellwise,battery-profile = /bi 757 cellwise,battery-profile = /bits/ 8 < 746 0x17 0x67 0x80 0x73 0x 758 0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63 747 0x77 0x51 0x5C 0x58 0x 759 0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36 748 0x15 0x0C 0x0C 0x19 0x 760 0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69 749 0x69 0x5B 0x0C 0x29 0x 761 0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59 750 0x57 0x56 0x54 0x4F 0x 762 0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17 751 0x06 0x1A 0x30 0x5A 0x 763 0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D 752 0x48 0x77 0x9C 0xB3 0x 764 0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB 753 0x2F 0x00 0x64 0xA5 0x 765 0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11 754 >; 766 >; 755 cellwise,monitor-interval-ms = 767 cellwise,monitor-interval-ms = <5000>; 756 monitored-battery = <&bat>; 768 monitored-battery = <&bat>; 757 power-supplies = <&mains_charg 769 power-supplies = <&mains_charger>, <&fusb0>; 758 }; 770 }; 759 }; 771 }; 760 772 761 &i2s1 { 773 &i2s1 { 762 pinctrl-names = "default"; 774 pinctrl-names = "default"; 763 pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s 775 pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>; 764 rockchip,capture-channels = <8>; 776 rockchip,capture-channels = <8>; 765 rockchip,playback-channels = <8>; 777 rockchip,playback-channels = <8>; 766 status = "okay"; 778 status = "okay"; 767 }; 779 }; 768 780 769 &io_domains { 781 &io_domains { 770 audio-supply = <&vcc_3v0>; 782 audio-supply = <&vcc_3v0>; 771 gpio1830-supply = <&vcc_3v0>; 783 gpio1830-supply = <&vcc_3v0>; 772 sdmmc-supply = <&vcc_sdio>; 784 sdmmc-supply = <&vcc_sdio>; 773 status = "okay"; 785 status = "okay"; 774 }; 786 }; 775 787 776 &pcie_phy { 788 &pcie_phy { 777 status = "okay"; 789 status = "okay"; 778 }; 790 }; 779 791 780 &pcie0 { 792 &pcie0 { 781 ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_ 793 ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; 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.