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