1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 2 3 #include <dt-bindings/gpio/gpio.h> 3 #include <dt-bindings/gpio/gpio.h> 4 #include <dt-bindings/input/gpio-keys.h> 4 #include <dt-bindings/input/gpio-keys.h> 5 #include <dt-bindings/input/input.h> 5 #include <dt-bindings/input/input.h> 6 #include <dt-bindings/leds/common.h> 6 #include <dt-bindings/leds/common.h> 7 #include <dt-bindings/pinctrl/rockchip.h> 7 #include <dt-bindings/pinctrl/rockchip.h> 8 8 9 #include "rk3566.dtsi" 9 #include "rk3566.dtsi" 10 10 11 / { 11 / { 12 aliases { 12 aliases { 13 mmc0 = &sdhci; 13 mmc0 = &sdhci; 14 }; 14 }; 15 15 16 chosen { 16 chosen { 17 stdout-path = "serial2:1500000 17 stdout-path = "serial2:1500000n8"; 18 }; 18 }; 19 19 20 adc-keys { 20 adc-keys { 21 compatible = "adc-keys"; 21 compatible = "adc-keys"; 22 io-channels = <&saradc 0>; 22 io-channels = <&saradc 0>; 23 io-channel-names = "buttons"; 23 io-channel-names = "buttons"; 24 keyup-threshold-microvolt = <1 24 keyup-threshold-microvolt = <1750000>; 25 25 26 button-recovery { 26 button-recovery { 27 label = "recovery"; 27 label = "recovery"; 28 linux,code = <KEY_VEND 28 linux,code = <KEY_VENDOR>; 29 press-threshold-microv 29 press-threshold-microvolt = <0>; 30 }; 30 }; 31 }; 31 }; 32 32 33 spk_amp: audio-amplifier { 33 spk_amp: audio-amplifier { 34 compatible = "simple-audio-amp 34 compatible = "simple-audio-amplifier"; 35 enable-gpios = <&gpio3 RK_PC4 35 enable-gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>; 36 pinctrl-0 = <&spk_amp_enable_h 36 pinctrl-0 = <&spk_amp_enable_h>; 37 pinctrl-names = "default"; 37 pinctrl-names = "default"; 38 sound-name-prefix = "Speaker A 38 sound-name-prefix = "Speaker Amp"; 39 }; 39 }; 40 40 41 dmic_codec: dmic-codec { 41 dmic_codec: dmic-codec { 42 compatible = "dmic-codec"; 42 compatible = "dmic-codec"; 43 num-channels = <6>; 43 num-channels = <6>; 44 #sound-dai-cells = <0>; 44 #sound-dai-cells = <0>; 45 }; 45 }; 46 46 47 gpio-keys { 47 gpio-keys { 48 compatible = "gpio-keys"; 48 compatible = "gpio-keys"; 49 pinctrl-0 = <&hall_int_l>; 49 pinctrl-0 = <&hall_int_l>; 50 pinctrl-names = "default"; 50 pinctrl-names = "default"; 51 51 52 switch-cover { 52 switch-cover { 53 label = "cover"; 53 label = "cover"; 54 gpios = <&gpio0 RK_PC7 54 gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>; 55 linux,input-type = <EV 55 linux,input-type = <EV_SW>; 56 linux,code = <SW_MACHI 56 linux,code = <SW_MACHINE_COVER>; 57 linux,can-disable; 57 linux,can-disable; 58 wakeup-event-action = 58 wakeup-event-action = <EV_ACT_DEASSERTED>; 59 wakeup-source; 59 wakeup-source; 60 }; 60 }; 61 }; 61 }; 62 62 63 gpio-leds { 63 gpio-leds { 64 compatible = "gpio-leds"; 64 compatible = "gpio-leds"; 65 pinctrl-0 = <&led_pin>; 65 pinctrl-0 = <&led_pin>; 66 pinctrl-names = "default"; 66 pinctrl-names = "default"; 67 67 68 led-0 { 68 led-0 { 69 color = <LED_COLOR_ID_ 69 color = <LED_COLOR_ID_WHITE>; 70 function = LED_FUNCTIO 70 function = LED_FUNCTION_CHARGING; 71 gpios = <&gpio3 RK_PC5 71 gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; 72 }; 72 }; 73 }; 73 }; 74 74 75 sdio_pwrseq: sdio-pwrseq { 75 sdio_pwrseq: sdio-pwrseq { 76 compatible = "mmc-pwrseq-simpl 76 compatible = "mmc-pwrseq-simple"; 77 clocks = <&rk817 1>; 77 clocks = <&rk817 1>; 78 clock-names = "ext_clock"; 78 clock-names = "ext_clock"; 79 pinctrl-0 = <&wifi_enable_h>; 79 pinctrl-0 = <&wifi_enable_h>; 80 pinctrl-names = "default"; 80 pinctrl-names = "default"; 81 reset-gpios = <&gpio0 RK_PC6 G 81 reset-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>; 82 }; 82 }; 83 83 84 sound { 84 sound { 85 compatible = "simple-audio-car 85 compatible = "simple-audio-card"; 86 simple-audio-card,name = "Pine 86 simple-audio-card,name = "PineNote"; 87 simple-audio-card,aux-devs = < 87 simple-audio-card,aux-devs = <&spk_amp>; 88 simple-audio-card,widgets = "H 88 simple-audio-card,widgets = "Headphone", "Headphones", 89 "S 89 "Speaker", "Internal Speakers"; 90 simple-audio-card,routing = "H 90 simple-audio-card,routing = "Headphones", "HPOL", 91 "H 91 "Headphones", "HPOR", 92 "I 92 "Internal Speakers", "Speaker Amp OUTL", 93 "I 93 "Internal Speakers", "Speaker Amp OUTR", 94 "S 94 "Speaker Amp INL", "HPOL", 95 "S 95 "Speaker Amp INR", "HPOR"; 96 simple-audio-card,pin-switches 96 simple-audio-card,pin-switches = "Internal Speakers"; 97 #address-cells = <1>; 97 #address-cells = <1>; 98 #size-cells = <0>; 98 #size-cells = <0>; 99 99 100 simple-audio-card,dai-link@0 { 100 simple-audio-card,dai-link@0 { 101 reg = <0>; 101 reg = <0>; 102 bitclock-master = <&li 102 bitclock-master = <&link0_cpu>; 103 format = "i2s"; 103 format = "i2s"; 104 frame-master = <&link0 104 frame-master = <&link0_cpu>; 105 mclk-fs = <256>; 105 mclk-fs = <256>; 106 106 107 link0_cpu: cpu { 107 link0_cpu: cpu { 108 sound-dai = <& 108 sound-dai = <&i2s1_8ch>; 109 }; 109 }; 110 110 111 link0_codec: codec { 111 link0_codec: codec { 112 sound-dai = <& 112 sound-dai = <&rk817>; 113 }; 113 }; 114 }; 114 }; 115 115 116 simple-audio-card,dai-link@1 { 116 simple-audio-card,dai-link@1 { 117 reg = <1>; 117 reg = <1>; 118 bitclock-master = <&li 118 bitclock-master = <&link1_cpu>; 119 format = "pdm"; 119 format = "pdm"; 120 frame-master = <&link1 120 frame-master = <&link1_cpu>; 121 121 122 link1_cpu: cpu { 122 link1_cpu: cpu { 123 sound-dai = <& 123 sound-dai = <&pdm>; 124 }; 124 }; 125 125 126 link1_codec: codec { 126 link1_codec: codec { 127 sound-dai = <& 127 sound-dai = <&dmic_codec>; 128 }; 128 }; 129 }; 129 }; 130 }; 130 }; 131 131 132 vbat_4g: vbat-4g { 132 vbat_4g: vbat-4g { 133 compatible = "regulator-fixed" 133 compatible = "regulator-fixed"; 134 regulator-name = "vbat_4g"; 134 regulator-name = "vbat_4g"; 135 regulator-min-microvolt = <380 135 regulator-min-microvolt = <3800000>; 136 regulator-max-microvolt = <380 136 regulator-max-microvolt = <3800000>; 137 /* powered by vcc_bat, enabled 137 /* powered by vcc_bat, enabled by vbat_4g_en */ 138 vin-supply = <&vbat_4g_en>; 138 vin-supply = <&vbat_4g_en>; 139 }; 139 }; 140 140 141 vcc_1v8: vcc-1v8 { 141 vcc_1v8: vcc-1v8 { 142 compatible = "regulator-fixed" 142 compatible = "regulator-fixed"; 143 regulator-name = "vcc_1v8"; 143 regulator-name = "vcc_1v8"; 144 regulator-always-on; 144 regulator-always-on; 145 regulator-min-microvolt = <180 145 regulator-min-microvolt = <1800000>; 146 regulator-max-microvolt = <180 146 regulator-max-microvolt = <1800000>; 147 /* powered by vcc_sys, enabled 147 /* powered by vcc_sys, enabled by vcc_1v8_en */ 148 vin-supply = <&vcc_1v8_en>; 148 vin-supply = <&vcc_1v8_en>; 149 }; 149 }; 150 150 151 vcc_bat: vcc-bat { 151 vcc_bat: vcc-bat { 152 compatible = "regulator-fixed" 152 compatible = "regulator-fixed"; 153 regulator-name = "vcc_bat"; 153 regulator-name = "vcc_bat"; 154 regulator-always-on; 154 regulator-always-on; 155 regulator-min-microvolt = <380 155 regulator-min-microvolt = <3800000>; 156 regulator-max-microvolt = <380 156 regulator-max-microvolt = <3800000>; 157 }; 157 }; 158 158 159 vcc_hall_3v3: vcc-hall-3v3 { 159 vcc_hall_3v3: vcc-hall-3v3 { 160 compatible = "regulator-fixed" 160 compatible = "regulator-fixed"; 161 regulator-name = "vcc_hall_3v3 161 regulator-name = "vcc_hall_3v3"; 162 regulator-always-on; 162 regulator-always-on; 163 regulator-min-microvolt = <330 163 regulator-min-microvolt = <3300000>; 164 regulator-max-microvolt = <330 164 regulator-max-microvolt = <3300000>; 165 vin-supply = <&vcc_sys>; 165 vin-supply = <&vcc_sys>; 166 }; 166 }; 167 167 168 vcc_sys: vcc-sys { 168 vcc_sys: vcc-sys { 169 compatible = "regulator-fixed" 169 compatible = "regulator-fixed"; 170 regulator-name = "vcc_sys"; 170 regulator-name = "vcc_sys"; 171 regulator-always-on; 171 regulator-always-on; 172 regulator-min-microvolt = <380 172 regulator-min-microvolt = <3800000>; 173 regulator-max-microvolt = <380 173 regulator-max-microvolt = <3800000>; 174 vin-supply = <&vcc_bat>; 174 vin-supply = <&vcc_bat>; 175 }; 175 }; 176 176 177 vcc_wl: vcc-wl { 177 vcc_wl: vcc-wl { 178 compatible = "regulator-fixed" 178 compatible = "regulator-fixed"; 179 enable-active-high; 179 enable-active-high; 180 gpio = <&gpio0 RK_PA0 GPIO_ACT 180 gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 181 pinctrl-0 = <&vcc_wl_pin>; 181 pinctrl-0 = <&vcc_wl_pin>; 182 pinctrl-names = "default"; 182 pinctrl-names = "default"; 183 regulator-name = "vcc_wl"; 183 regulator-name = "vcc_wl"; 184 regulator-min-microvolt = <330 184 regulator-min-microvolt = <3300000>; 185 regulator-max-microvolt = <330 185 regulator-max-microvolt = <3300000>; 186 vin-supply = <&vcc_bat>; 186 vin-supply = <&vcc_bat>; 187 }; 187 }; 188 188 189 vdda_0v9: vdda-0v9 { 189 vdda_0v9: vdda-0v9 { 190 compatible = "regulator-fixed" 190 compatible = "regulator-fixed"; 191 regulator-name = "vdda_0v9"; 191 regulator-name = "vdda_0v9"; 192 regulator-always-on; 192 regulator-always-on; 193 regulator-min-microvolt = <900 193 regulator-min-microvolt = <900000>; 194 regulator-max-microvolt = <900 194 regulator-max-microvolt = <900000>; 195 /* powered by vcc_sys, enabled 195 /* powered by vcc_sys, enabled by vcc_1v8_en */ 196 vin-supply = <&vcc_1v8_en>; 196 vin-supply = <&vcc_1v8_en>; 197 }; 197 }; 198 }; 198 }; 199 199 200 &cpu0 { 200 &cpu0 { 201 cpu-supply = <&vdd_cpu>; 201 cpu-supply = <&vdd_cpu>; 202 }; 202 }; 203 203 204 &cpu1 { 204 &cpu1 { 205 cpu-supply = <&vdd_cpu>; 205 cpu-supply = <&vdd_cpu>; 206 }; 206 }; 207 207 208 &cpu2 { 208 &cpu2 { 209 cpu-supply = <&vdd_cpu>; 209 cpu-supply = <&vdd_cpu>; 210 }; 210 }; 211 211 212 &cpu3 { 212 &cpu3 { 213 cpu-supply = <&vdd_cpu>; 213 cpu-supply = <&vdd_cpu>; 214 }; 214 }; 215 215 216 &i2c0 { 216 &i2c0 { 217 status = "okay"; 217 status = "okay"; 218 218 219 vdd_cpu: regulator@1c { 219 vdd_cpu: regulator@1c { 220 compatible = "tcs,tcs4525"; 220 compatible = "tcs,tcs4525"; 221 reg = <0x1c>; 221 reg = <0x1c>; 222 fcs,suspend-voltage-selector = 222 fcs,suspend-voltage-selector = <0>; 223 regulator-name = "vdd_cpu"; 223 regulator-name = "vdd_cpu"; 224 regulator-min-microvolt = <712 224 regulator-min-microvolt = <712500>; 225 regulator-max-microvolt = <139 225 regulator-max-microvolt = <1390000>; 226 regulator-ramp-delay = <2300>; 226 regulator-ramp-delay = <2300>; 227 regulator-always-on; 227 regulator-always-on; 228 vin-supply = <&vcc_sys>; 228 vin-supply = <&vcc_sys>; 229 229 230 regulator-state-mem { 230 regulator-state-mem { 231 regulator-on-in-suspen 231 regulator-on-in-suspend; 232 }; 232 }; 233 }; 233 }; 234 234 235 rk817: pmic@20 { 235 rk817: pmic@20 { 236 compatible = "rockchip,rk817"; 236 compatible = "rockchip,rk817"; 237 reg = <0x20>; 237 reg = <0x20>; 238 interrupt-parent = <&gpio0>; 238 interrupt-parent = <&gpio0>; 239 interrupts = <RK_PA3 IRQ_TYPE_ 239 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 240 assigned-clocks = <&cru I2S1_M 240 assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 241 assigned-clock-parents = <&cru 241 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 242 clocks = <&cru I2S1_MCLKOUT_TX 242 clocks = <&cru I2S1_MCLKOUT_TX>; 243 clock-names = "mclk"; 243 clock-names = "mclk"; 244 #clock-cells = <1>; 244 #clock-cells = <1>; 245 pinctrl-0 = <&i2s1m0_mclk>, <& 245 pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>, <&pmic_sleep>; 246 pinctrl-names = "default"; 246 pinctrl-names = "default"; 247 rockchip,system-power-controll 247 rockchip,system-power-controller; 248 #sound-dai-cells = <0>; 248 #sound-dai-cells = <0>; 249 wakeup-source; 249 wakeup-source; 250 250 251 vcc1-supply = <&vcc_sys>; 251 vcc1-supply = <&vcc_sys>; 252 vcc2-supply = <&vcc_sys>; 252 vcc2-supply = <&vcc_sys>; 253 vcc3-supply = <&vcc_sys>; 253 vcc3-supply = <&vcc_sys>; 254 vcc4-supply = <&vcc_sys>; 254 vcc4-supply = <&vcc_sys>; 255 vcc5-supply = <&vcc_sys>; 255 vcc5-supply = <&vcc_sys>; 256 vcc6-supply = <&vcc_sys>; 256 vcc6-supply = <&vcc_sys>; 257 vcc7-supply = <&vcc_sys>; 257 vcc7-supply = <&vcc_sys>; 258 vcc8-supply = <&vcc_sys>; 258 vcc8-supply = <&vcc_sys>; 259 vcc9-supply = <&dcdc_boost>; 259 vcc9-supply = <&dcdc_boost>; 260 260 261 regulators { 261 regulators { 262 vdd_logic: DCDC_REG1 { 262 vdd_logic: DCDC_REG1 { 263 regulator-name 263 regulator-name = "vdd_logic"; 264 regulator-alwa 264 regulator-always-on; 265 regulator-min- 265 regulator-min-microvolt = <500000>; 266 regulator-max- 266 regulator-max-microvolt = <1350000>; 267 regulator-ramp 267 regulator-ramp-delay = <6001>; 268 regulator-init 268 regulator-initial-mode = <0x2>; 269 269 270 regulator-stat 270 regulator-state-mem { 271 regula 271 regulator-off-in-suspend; 272 regula 272 regulator-suspend-microvolt = <900000>; 273 }; 273 }; 274 }; 274 }; 275 275 276 vdd_gpu_npu: DCDC_REG2 276 vdd_gpu_npu: DCDC_REG2 { 277 regulator-name 277 regulator-name = "vdd_gpu_npu"; 278 regulator-min- 278 regulator-min-microvolt = <500000>; 279 regulator-max- 279 regulator-max-microvolt = <1350000>; 280 regulator-ramp 280 regulator-ramp-delay = <6001>; 281 regulator-init 281 regulator-initial-mode = <0x2>; 282 282 283 regulator-stat 283 regulator-state-mem { 284 regula 284 regulator-off-in-suspend; 285 }; 285 }; 286 }; 286 }; 287 287 288 vcc_ddr: DCDC_REG3 { 288 vcc_ddr: DCDC_REG3 { 289 regulator-name 289 regulator-name = "vcc_ddr"; 290 regulator-alwa 290 regulator-always-on; 291 regulator-init 291 regulator-initial-mode = <0x2>; 292 292 293 regulator-stat 293 regulator-state-mem { 294 regula 294 regulator-on-in-suspend; 295 }; 295 }; 296 }; 296 }; 297 297 298 vcc_3v3: DCDC_REG4 { 298 vcc_3v3: DCDC_REG4 { 299 regulator-name 299 regulator-name = "vcc_3v3"; 300 regulator-alwa 300 regulator-always-on; 301 regulator-min- 301 regulator-min-microvolt = <3300000>; 302 regulator-max- 302 regulator-max-microvolt = <3300000>; 303 regulator-init 303 regulator-initial-mode = <0x2>; 304 304 305 regulator-stat 305 regulator-state-mem { 306 regula 306 regulator-off-in-suspend; 307 }; 307 }; 308 }; 308 }; 309 309 310 vcca_1v8_pmu: LDO_REG1 310 vcca_1v8_pmu: LDO_REG1 { 311 regulator-name 311 regulator-name = "vcca_1v8_pmu"; 312 regulator-alwa 312 regulator-always-on; 313 regulator-min- 313 regulator-min-microvolt = <1800000>; 314 regulator-max- 314 regulator-max-microvolt = <1800000>; 315 315 316 regulator-stat 316 regulator-state-mem { 317 regula 317 regulator-on-in-suspend; 318 }; 318 }; 319 }; 319 }; 320 320 321 /* unused */ 321 /* unused */ 322 vdda_0v9_ldo: LDO_REG2 322 vdda_0v9_ldo: LDO_REG2 { 323 regulator-name 323 regulator-name = "vdda_0v9_ldo"; 324 regulator-min- 324 regulator-min-microvolt = <900000>; 325 regulator-max- 325 regulator-max-microvolt = <900000>; 326 326 327 regulator-stat 327 regulator-state-mem { 328 regula 328 regulator-off-in-suspend; 329 }; 329 }; 330 }; 330 }; 331 331 332 vdda_0v9_pmu: LDO_REG3 332 vdda_0v9_pmu: LDO_REG3 { 333 regulator-name 333 regulator-name = "vdda_0v9_pmu"; 334 regulator-alwa 334 regulator-always-on; 335 regulator-min- 335 regulator-min-microvolt = <900000>; 336 regulator-max- 336 regulator-max-microvolt = <900000>; 337 337 338 regulator-stat 338 regulator-state-mem { 339 regula 339 regulator-on-in-suspend; 340 }; 340 }; 341 }; 341 }; 342 342 343 vccio_acodec: LDO_REG4 343 vccio_acodec: LDO_REG4 { 344 regulator-name 344 regulator-name = "vccio_acodec"; 345 regulator-alwa 345 regulator-always-on; 346 regulator-min- 346 regulator-min-microvolt = <3300000>; 347 regulator-max- 347 regulator-max-microvolt = <3300000>; 348 348 349 regulator-stat 349 regulator-state-mem { 350 regula 350 regulator-off-in-suspend; 351 }; 351 }; 352 }; 352 }; 353 353 354 /* unused */ 354 /* unused */ 355 vccio_sd: LDO_REG5 { 355 vccio_sd: LDO_REG5 { 356 regulator-name 356 regulator-name = "vccio_sd"; 357 regulator-min- 357 regulator-min-microvolt = <1800000>; 358 regulator-max- 358 regulator-max-microvolt = <3300000>; 359 359 360 regulator-stat 360 regulator-state-mem { 361 regula 361 regulator-off-in-suspend; 362 }; 362 }; 363 }; 363 }; 364 364 365 vcc_3v3_pmu: LDO_REG6 365 vcc_3v3_pmu: LDO_REG6 { 366 regulator-name 366 regulator-name = "vcc_3v3_pmu"; 367 regulator-alwa 367 regulator-always-on; 368 regulator-min- 368 regulator-min-microvolt = <3300000>; 369 regulator-max- 369 regulator-max-microvolt = <3300000>; 370 370 371 regulator-stat 371 regulator-state-mem { 372 regula 372 regulator-on-in-suspend; 373 }; 373 }; 374 }; 374 }; 375 375 376 vcc_1v8_en: LDO_REG7 { 376 vcc_1v8_en: LDO_REG7 { 377 regulator-name 377 regulator-name = "vcc_1v8_en"; 378 regulator-min- 378 regulator-min-microvolt = <1800000>; 379 regulator-max- 379 regulator-max-microvolt = <1800000>; 380 380 381 regulator-stat 381 regulator-state-mem { 382 regula 382 regulator-off-in-suspend; 383 }; 383 }; 384 }; 384 }; 385 385 386 vbat_4g_en: LDO_REG8 { 386 vbat_4g_en: LDO_REG8 { 387 regulator-name 387 regulator-name = "vbat_4g_en"; 388 regulator-min- 388 regulator-min-microvolt = <1800000>; 389 regulator-max- 389 regulator-max-microvolt = <1800000>; 390 390 391 regulator-stat 391 regulator-state-mem { 392 regula 392 regulator-off-in-suspend; 393 }; 393 }; 394 }; 394 }; 395 395 396 sleep_sta_ctl: LDO_REG 396 sleep_sta_ctl: LDO_REG9 { 397 regulator-name 397 regulator-name = "sleep_sta_ctl"; 398 regulator-min- 398 regulator-min-microvolt = <1800000>; 399 regulator-max- 399 regulator-max-microvolt = <1800000>; 400 400 401 regulator-stat 401 regulator-state-mem { 402 regula 402 regulator-on-in-suspend; 403 }; 403 }; 404 }; 404 }; 405 405 406 dcdc_boost: BOOST { 406 dcdc_boost: BOOST { 407 regulator-name 407 regulator-name = "boost"; 408 regulator-min- 408 regulator-min-microvolt = <5000000>; 409 regulator-max- 409 regulator-max-microvolt = <5000000>; 410 410 411 regulator-stat 411 regulator-state-mem { 412 regula 412 regulator-off-in-suspend; 413 }; 413 }; 414 }; 414 }; 415 415 416 otg_switch: OTG_SWITCH 416 otg_switch: OTG_SWITCH { 417 regulator-name 417 regulator-name = "otg_switch"; 418 418 419 regulator-stat 419 regulator-state-mem { 420 regula 420 regulator-off-in-suspend; 421 }; 421 }; 422 }; 422 }; 423 }; 423 }; 424 }; 424 }; 425 }; 425 }; 426 426 427 &i2c1 { 427 &i2c1 { 428 status = "okay"; 428 status = "okay"; 429 429 430 digitizer@9 { 430 digitizer@9 { 431 compatible = "wacom,w9013", "h 431 compatible = "wacom,w9013", "hid-over-i2c"; 432 reg = <0x09>; 432 reg = <0x09>; 433 interrupt-parent = <&gpio0>; 433 interrupt-parent = <&gpio0>; 434 interrupts = <RK_PB6 IRQ_TYPE_ 434 interrupts = <RK_PB6 IRQ_TYPE_LEVEL_LOW>; 435 hid-descr-addr = <0x1>; 435 hid-descr-addr = <0x1>; 436 pinctrl-0 = <&pen_fwe>, <&pen_ 436 pinctrl-0 = <&pen_fwe>, <&pen_irq_l>, <&pen_rst_l>; 437 pinctrl-names = "default"; 437 pinctrl-names = "default"; 438 vdd-supply = <&vcc_3v3_pmu>; 438 vdd-supply = <&vcc_3v3_pmu>; 439 }; 439 }; 440 }; 440 }; 441 441 442 &i2c3 { 442 &i2c3 { 443 pinctrl-0 = <&i2c3m1_xfer>; 443 pinctrl-0 = <&i2c3m1_xfer>; 444 status = "okay"; 444 status = "okay"; 445 445 446 led-controller@36 { 446 led-controller@36 { 447 compatible = "ti,lm3630a"; 447 compatible = "ti,lm3630a"; 448 reg = <0x36>; 448 reg = <0x36>; 449 enable-gpios = <&gpio0 RK_PB7 449 enable-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 450 pinctrl-0 = <&backlight_hwen_h 450 pinctrl-0 = <&backlight_hwen_h>; 451 pinctrl-names = "default"; 451 pinctrl-names = "default"; 452 #address-cells = <1>; 452 #address-cells = <1>; 453 #size-cells = <0>; 453 #size-cells = <0>; 454 454 455 led@0 { 455 led@0 { 456 reg = <0>; 456 reg = <0>; 457 label = "backlight_coo 457 label = "backlight_cool"; 458 default-brightness = < 458 default-brightness = <0>; 459 }; 459 }; 460 460 461 led@1 { 461 led@1 { 462 reg = <1>; 462 reg = <1>; 463 label = "backlight_war 463 label = "backlight_warm"; 464 default-brightness = < 464 default-brightness = <0>; 465 }; 465 }; 466 }; 466 }; 467 467 468 wusb3801: tcpc@60 { 468 wusb3801: tcpc@60 { 469 compatible = "willsemi,wusb380 469 compatible = "willsemi,wusb3801"; 470 reg = <0x60>; 470 reg = <0x60>; 471 interrupt-parent = <&gpio0>; 471 interrupt-parent = <&gpio0>; 472 interrupts = <RK_PA4 IRQ_TYPE_ 472 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 473 pinctrl-0 = <&tcpc_int_l>; 473 pinctrl-0 = <&tcpc_int_l>; 474 pinctrl-names = "default"; 474 pinctrl-names = "default"; 475 475 476 connector { 476 connector { 477 compatible = "usb-c-co 477 compatible = "usb-c-connector"; 478 label = "USB-C"; 478 label = "USB-C"; 479 vbus-supply = <&otg_sw 479 vbus-supply = <&otg_switch>; 480 power-role = "dual"; 480 power-role = "dual"; 481 try-power-role = "sink 481 try-power-role = "sink"; 482 data-role = "dual"; 482 data-role = "dual"; 483 typec-power-opmode = " 483 typec-power-opmode = "default"; 484 pd-disable; 484 pd-disable; 485 485 486 ports { 486 ports { 487 #address-cells 487 #address-cells = <0x1>; 488 #size-cells = 488 #size-cells = <0x0>; 489 489 490 port@0 { 490 port@0 { 491 reg = 491 reg = <0x0>; 492 492 493 typec_ 493 typec_hs_usb2phy0: endpoint { 494 494 remote-endpoint = <&usb2phy0_typec_hs>; 495 }; 495 }; 496 }; 496 }; 497 }; 497 }; 498 }; 498 }; 499 }; 499 }; 500 }; 500 }; 501 501 502 &i2c5 { 502 &i2c5 { 503 status = "okay"; 503 status = "okay"; 504 504 505 accelerometer@18 { 505 accelerometer@18 { 506 compatible = "silan,sc7a20"; 506 compatible = "silan,sc7a20"; 507 reg = <0x18>; 507 reg = <0x18>; 508 interrupt-parent = <&gpio3>; 508 interrupt-parent = <&gpio3>; 509 interrupts = <RK_PB2 IRQ_TYPE_ 509 interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>; 510 pinctrl-0 = <&accelerometer_in 510 pinctrl-0 = <&accelerometer_int_l>; 511 pinctrl-names = "default"; 511 pinctrl-names = "default"; 512 st,drdy-int-pin = <1>; 512 st,drdy-int-pin = <1>; 513 vdd-supply = <&vcc_3v3>; 513 vdd-supply = <&vcc_3v3>; 514 vddio-supply = <&vcc_3v3>; 514 vddio-supply = <&vcc_3v3>; 515 }; 515 }; 516 }; 516 }; 517 517 518 &i2s1_8ch { 518 &i2s1_8ch { 519 pinctrl-0 = <&i2s1m0_lrcktx>, <&i2s1m0 519 pinctrl-0 = <&i2s1m0_lrcktx>, <&i2s1m0_sclktx>, <&i2s1m0_sdi0>, <&i2s1m0_sdo0>; 520 rockchip,trcm-sync-tx-only; 520 rockchip,trcm-sync-tx-only; 521 status = "okay"; 521 status = "okay"; 522 }; 522 }; 523 523 524 &pdm { 524 &pdm { 525 pinctrl-0 = <&pdmm0_clk1>, <&pdmm0_sdi 525 pinctrl-0 = <&pdmm0_clk1>, <&pdmm0_sdi1>, <&pdmm0_sdi2>; 526 /* microphones are on channels 1 and 2 526 /* microphones are on channels 1 and 2 */ 527 rockchip,path-map = <1>, <2>, <0>, <3> 527 rockchip,path-map = <1>, <2>, <0>, <3>; 528 status = "okay"; 528 status = "okay"; 529 }; 529 }; 530 530 531 &pinctrl { 531 &pinctrl { 532 accelerometer { 532 accelerometer { 533 accelerometer_int_l: accelerom 533 accelerometer_int_l: accelerometer-int-l { 534 rockchip,pins = <3 RK_ 534 rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 535 }; 535 }; 536 }; 536 }; 537 537 538 audio-amplifier { 538 audio-amplifier { 539 spk_amp_enable_h: spk-amp-enab 539 spk_amp_enable_h: spk-amp-enable-h { 540 rockchip,pins = <3 RK_ 540 rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; 541 }; 541 }; 542 }; 542 }; 543 543 544 backlight { 544 backlight { 545 backlight_hwen_h: backlight-hw 545 backlight_hwen_h: backlight-hwen-h { 546 rockchip,pins = <0 RK_ 546 rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 547 }; 547 }; 548 }; 548 }; 549 549 550 bt { 550 bt { 551 bt_enable_h: bt-enable-h { 551 bt_enable_h: bt-enable-h { 552 rockchip,pins = <0 RK_ 552 rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; 553 }; 553 }; 554 554 555 bt_host_wake_l: bt-host-wake-l 555 bt_host_wake_l: bt-host-wake-l { 556 rockchip,pins = <0 RK_ 556 rockchip,pins = <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>; 557 }; 557 }; 558 558 559 bt_wake_h: bt-wake-h { 559 bt_wake_h: bt-wake-h { 560 rockchip,pins = <0 RK_ 560 rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 561 }; 561 }; 562 }; 562 }; 563 563 564 led { 564 led { 565 led_pin: led-pin { 565 led_pin: led-pin { 566 rockchip,pins = <3 RK_ 566 rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 567 }; 567 }; 568 }; 568 }; 569 569 570 hall { 570 hall { 571 hall_int_l: hall-int-l { 571 hall_int_l: hall-int-l { 572 rockchip,pins = <0 RK_ 572 rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 573 }; 573 }; 574 }; 574 }; 575 575 576 pen { 576 pen { 577 pen_fwe: pen-fwe { 577 pen_fwe: pen-fwe { 578 rockchip,pins = <3 RK_ 578 rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>; 579 }; 579 }; 580 580 581 pen_irq_l: pen-irq-l { 581 pen_irq_l: pen-irq-l { 582 rockchip,pins = <0 RK_ 582 rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 583 }; 583 }; 584 584 585 pen_rst_l: pen-rst-l { 585 pen_rst_l: pen-rst-l { 586 rockchip,pins = <0 RK_ 586 rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 587 }; 587 }; 588 }; 588 }; 589 589 590 pmic { 590 pmic { 591 pmic_int_l: pmic-int-l { 591 pmic_int_l: pmic-int-l { 592 rockchip,pins = <0 RK_ 592 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 593 }; 593 }; 594 594 595 pmic_sleep: pmic-sleep { 595 pmic_sleep: pmic-sleep { 596 rockchip,pins = <0 RK_ 596 rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>; 597 }; 597 }; 598 }; 598 }; 599 599 600 sdio-pwrseq { 600 sdio-pwrseq { 601 wifi_enable_h: wifi-enable-h { 601 wifi_enable_h: wifi-enable-h { 602 rockchip,pins = <0 RK_ 602 rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 603 }; 603 }; 604 }; 604 }; 605 605 606 tcpc { 606 tcpc { 607 tcpc_int_l: tcpc-int-l { 607 tcpc_int_l: tcpc-int-l { 608 rockchip,pins = <0 RK_ 608 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 609 }; 609 }; 610 }; 610 }; 611 611 612 vcc-wl { 612 vcc-wl { 613 vcc_wl_pin: vcc-wl-pin { 613 vcc_wl_pin: vcc-wl-pin { 614 rockchip,pins = <0 RK_ 614 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 615 }; 615 }; 616 }; 616 }; 617 617 618 wifi { 618 wifi { 619 wifi_host_wake_l: wifi-host-wa 619 wifi_host_wake_l: wifi-host-wake-l { 620 rockchip,pins = <0 RK_ 620 rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 621 }; 621 }; 622 }; 622 }; 623 }; 623 }; 624 624 625 &pmu_io_domains { 625 &pmu_io_domains { 626 pmuio1-supply = <&vcc_3v3_pmu>; 626 pmuio1-supply = <&vcc_3v3_pmu>; 627 pmuio2-supply = <&vcc_3v3_pmu>; 627 pmuio2-supply = <&vcc_3v3_pmu>; 628 vccio1-supply = <&vccio_acodec>; 628 vccio1-supply = <&vccio_acodec>; 629 vccio2-supply = <&vcc_1v8>; 629 vccio2-supply = <&vcc_1v8>; 630 vccio3-supply = <&vcc_3v3>; 630 vccio3-supply = <&vcc_3v3>; 631 vccio4-supply = <&vcca_1v8_pmu>; 631 vccio4-supply = <&vcca_1v8_pmu>; 632 vccio5-supply = <&vcc_3v3>; 632 vccio5-supply = <&vcc_3v3>; 633 vccio6-supply = <&vcc_3v3>; 633 vccio6-supply = <&vcc_3v3>; 634 status = "okay"; 634 status = "okay"; 635 }; 635 }; 636 636 637 &saradc { 637 &saradc { 638 vref-supply = <&vcc_1v8>; 638 vref-supply = <&vcc_1v8>; 639 status = "okay"; 639 status = "okay"; 640 }; 640 }; 641 641 642 &sdhci { 642 &sdhci { 643 bus-width = <8>; 643 bus-width = <8>; 644 mmc-hs200-1_8v; 644 mmc-hs200-1_8v; 645 non-removable; 645 non-removable; 646 pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, 646 pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>, <&emmc_datastrobe>, <&emmc_rstnout>; 647 pinctrl-names = "default"; 647 pinctrl-names = "default"; 648 vmmc-supply = <&vcc_3v3>; 648 vmmc-supply = <&vcc_3v3>; 649 vqmmc-supply = <&vcc_1v8>; 649 vqmmc-supply = <&vcc_1v8>; 650 status = "okay"; 650 status = "okay"; 651 }; 651 }; 652 652 653 &sdmmc1 { 653 &sdmmc1 { 654 bus-width = <4>; 654 bus-width = <4>; 655 cap-sd-highspeed; 655 cap-sd-highspeed; 656 cap-sdio-irq; 656 cap-sdio-irq; 657 keep-power-in-suspend; 657 keep-power-in-suspend; 658 mmc-pwrseq = <&sdio_pwrseq>; 658 mmc-pwrseq = <&sdio_pwrseq>; 659 non-removable; 659 non-removable; 660 pinctrl-0 = <&sdmmc1_bus4>, <&sdmmc1_c 660 pinctrl-0 = <&sdmmc1_bus4>, <&sdmmc1_clk>, <&sdmmc1_cmd>; 661 pinctrl-names = "default"; 661 pinctrl-names = "default"; 662 sd-uhs-sdr104; 662 sd-uhs-sdr104; 663 vmmc-supply = <&vcc_wl>; 663 vmmc-supply = <&vcc_wl>; 664 vqmmc-supply = <&vcca_1v8_pmu>; 664 vqmmc-supply = <&vcca_1v8_pmu>; 665 status = "okay"; 665 status = "okay"; 666 }; 666 }; 667 667 668 &tsadc { 668 &tsadc { 669 /* tshut mode 0:CRU 1:GPIO */ 669 /* tshut mode 0:CRU 1:GPIO */ 670 rockchip,hw-tshut-mode = <1>; 670 rockchip,hw-tshut-mode = <1>; 671 /* tshut polarity 0:LOW 1:HIGH */ 671 /* tshut polarity 0:LOW 1:HIGH */ 672 rockchip,hw-tshut-polarity = <0>; 672 rockchip,hw-tshut-polarity = <0>; 673 status = "okay"; 673 status = "okay"; 674 }; 674 }; 675 675 676 &uart1 { 676 &uart1 { 677 dma-names = "tx", "rx"; << 678 pinctrl-0 = <&uart1m0_ctsn>, <&uart1m0 677 pinctrl-0 = <&uart1m0_ctsn>, <&uart1m0_rtsn>, <&uart1m0_xfer>; 679 pinctrl-names = "default"; 678 pinctrl-names = "default"; 680 uart-has-rtscts; 679 uart-has-rtscts; 681 status = "okay"; 680 status = "okay"; 682 681 683 bluetooth { 682 bluetooth { 684 compatible = "brcm,bcm43438-bt 683 compatible = "brcm,bcm43438-bt"; 685 clocks = <&rk817 1>; 684 clocks = <&rk817 1>; 686 clock-names = "lpo"; 685 clock-names = "lpo"; 687 device-wakeup-gpios = <&gpio0 !! 686 device-wake-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; 688 host-wakeup-gpios = <&gpio0 RK !! 687 host-wake-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>; >> 688 reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>; 689 pinctrl-0 = <&bt_enable_h>, <& 689 pinctrl-0 = <&bt_enable_h>, <&bt_host_wake_l>, <&bt_wake_h>; 690 pinctrl-names = "default"; 690 pinctrl-names = "default"; 691 shutdown-gpios = <&gpio0 RK_PC << 692 vbat-supply = <&vcc_wl>; 691 vbat-supply = <&vcc_wl>; 693 vddio-supply = <&vcca_1v8_pmu> 692 vddio-supply = <&vcca_1v8_pmu>; 694 }; 693 }; 695 }; 694 }; 696 695 697 &uart2 { 696 &uart2 { 698 status = "okay"; 697 status = "okay"; 699 }; 698 }; 700 699 701 &usb_host0_xhci { 700 &usb_host0_xhci { 702 dr_mode = "otg"; 701 dr_mode = "otg"; 703 status = "okay"; 702 status = "okay"; 704 }; 703 }; 705 704 706 &usb2phy0 { 705 &usb2phy0 { 707 status = "okay"; 706 status = "okay"; 708 }; 707 }; 709 708 710 &usb2phy0_otg { 709 &usb2phy0_otg { 711 status = "okay"; 710 status = "okay"; 712 711 713 port { 712 port { 714 usb2phy0_typec_hs: endpoint { 713 usb2phy0_typec_hs: endpoint { 715 remote-endpoint = <&ty 714 remote-endpoint = <&typec_hs_usb2phy0>; 716 }; 715 }; 717 }; 716 }; 718 }; 717 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.