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