~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 
  3 /dts-v1/;
  4 
  5 #include <dt-bindings/gpio/gpio.h>
  6 #include <dt-bindings/input/linux-event-codes.h>
  7 #include <dt-bindings/leds/common.h>
  8 #include <dt-bindings/pinctrl/rockchip.h>
  9 #include <dt-bindings/pwm/pwm.h>
 10 #include <dt-bindings/thermal/thermal.h>
 11 #include <dt-bindings/usb/pd.h>
 12 #include "rk3588s.dtsi"
 13 
 14 / {
 15         model = "Gameforce Ace";
 16         chassis-type = "handset";
 17         compatible = "gameforce,ace", "rockchip,rk3588s";
 18 
 19         aliases {
 20                 mmc0 = &sdhci;
 21                 mmc1 = &sdmmc;
 22                 mmc2 = &sdio;
 23         };
 24 
 25         chosen {
 26                 stdout-path = "serial2:1500000n8";
 27         };
 28 
 29         adc_keys: adc-keys {
 30                 compatible = "adc-keys";
 31                 io-channels = <&saradc 1>;
 32                 io-channel-names = "buttons";
 33                 keyup-threshold-microvolt = <1800000>;
 34                 poll-interval = <60>;
 35 
 36                 button-vol-up {
 37                         label = "VOLUMEUP";
 38                         linux,code = <KEY_VOLUMEUP>;
 39                         press-threshold-microvolt = <17000>;
 40                 };
 41 
 42                 button-vol-down {
 43                         label = "VOLUMEDOWN";
 44                         linux,code = <KEY_VOLUMEDOWN>;
 45                         press-threshold-microvolt = <417000>;
 46                 };
 47         };
 48 
 49         /* Joystick range values based on hardware observation. */
 50         adc_joystick: adc-joystick {
 51                 compatible = "adc-joystick";
 52                 io-channels = <&saradc 2>, <&saradc 3>,
 53                               <&saradc 4>, <&saradc 5>;
 54                 poll-interval = <60>;
 55                 #address-cells = <1>;
 56                 #size-cells = <0>;
 57 
 58                 axis@0 {
 59                         reg = <0>;
 60                         abs-flat = <40>;
 61                         abs-fuzz = <30>;
 62                         abs-range = <0 4095>;
 63                         linux,code = <ABS_RX>;
 64                 };
 65 
 66                 axis@1 {
 67                         reg = <1>;
 68                         abs-flat = <40>;
 69                         abs-fuzz = <30>;
 70                         abs-range = <0 4095>;
 71                         linux,code = <ABS_RY>;
 72                 };
 73 
 74                 axis@2 {
 75                         reg = <2>;
 76                         abs-flat = <40>;
 77                         abs-fuzz = <30>;
 78                         abs-range = <0 4095>;
 79                         linux,code = <ABS_Y>;
 80                 };
 81 
 82                 axis@3 {
 83                         reg = <3>;
 84                         abs-flat = <40>;
 85                         abs-fuzz = <30>;
 86                         abs-range = <0 4095>;
 87                         linux,code = <ABS_X>;
 88                 };
 89         };
 90 
 91         /* Trigger range values based on hardware observation. */
 92         adc_triggers: adc-trigger {
 93                 compatible = "adc-joystick";
 94                 io-channels = <&ti_adc 6>,
 95                               <&ti_adc 7>;
 96                 poll-interval = <60>;
 97                 #address-cells = <1>;
 98                 #size-cells = <0>;
 99 
100                 axis@0 {
101                         reg = <0>;
102                         abs-flat = <15>;
103                         abs-fuzz = <15>;
104                         abs-range = <890 1530>;
105                         linux,code = <ABS_HAT2X>;
106                 };
107 
108                 axis@1 {
109                         reg = <1>;
110                         abs-flat = <15>;
111                         abs-fuzz = <15>;
112                         abs-range = <1010 1550>;
113                         linux,code = <ABS_HAT2Y>;
114                 };
115         };
116 
117         analog-sound {
118                 compatible = "simple-audio-card";
119                 pinctrl-0 = <&hp_detect>;
120                 pinctrl-names = "default";
121                 simple-audio-card,aux-devs = <&amp_headphone>, <&amp_speaker>;
122                 simple-audio-card,bitclock-master = <&masterdai>;
123                 simple-audio-card,format = "i2s";
124                 simple-audio-card,frame-master = <&masterdai>;
125                 simple-audio-card,hp-det-gpio = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>;
126                 simple-audio-card,mclk-fs = <256>;
127                 simple-audio-card,name = "rockchip,es8388-codec";
128                 simple-audio-card,pin-switches = "Headphones", "Speaker";
129                 simple-audio-card,routing =
130                         "Speaker Amplifier INL", "LOUT2",
131                         "Speaker Amplifier INR", "ROUT2",
132                         "Speaker", "Speaker Amplifier OUTL",
133                         "Speaker", "Speaker Amplifier OUTR",
134                         "Headphones Amplifier INL", "LOUT1",
135                         "Headphones Amplifier INR", "ROUT1",
136                         "Headphones", "Headphones Amplifier OUTL",
137                         "Headphones", "Headphones Amplifier OUTR",
138                         "LINPUT1", "Microphone Jack",
139                         "RINPUT1", "Microphone Jack",
140                         "LINPUT2", "Onboard Microphone",
141                         "RINPUT2", "Onboard Microphone";
142                 simple-audio-card,widgets =
143                         "Microphone", "Microphone Jack",
144                         "Microphone", "Onboard Microphone",
145                         "Headphone", "Headphones",
146                         "Speaker", "Speaker";
147 
148                 masterdai: simple-audio-card,codec {
149                         sound-dai = <&es8388>;
150                         system-clock-frequency = <12288000>;
151                 };
152 
153                 simple-audio-card,cpu {
154                         sound-dai = <&i2s0_8ch>;
155                 };
156         };
157 
158         backlight: backlight {
159                 compatible = "pwm-backlight";
160                 enable-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
161                 pinctrl-0 = <&lcd_bl_en>;
162                 pinctrl-names = "default";
163                 pwms = <&pwm13 0 25000 PWM_POLARITY_INVERTED>;
164         };
165 
166         battery: battery {
167                 compatible = "simple-battery";
168                 charge-full-design-microamp-hours = <3700000>;
169                 constant-charge-current-max-microamp = <2500000>;
170                 constant-charge-voltage-max-microvolt = <8750000>;
171                 voltage-min-design-microvolt = <7400000>;
172         };
173 
174         gpio_keys: gpio-keys {
175                 compatible = "gpio-keys";
176                 pinctrl-0 = <&btn_pins_ctrl>;
177                 pinctrl-names = "default";
178 
179                 button-a {
180                         gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
181                         label = "EAST";
182                         linux,code = <BTN_EAST>;
183                 };
184 
185                 button-b {
186                         gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
187                         label = "SOUTH";
188                         linux,code = <BTN_SOUTH>;
189                 };
190 
191                 button-down {
192                         gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_LOW>;
193                         label = "DPAD-DOWN";
194                         linux,code = <BTN_DPAD_DOWN>;
195                 };
196 
197                 button-home {
198                         gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_LOW>;
199                         label = "FUNCTION";
200                         linux,code = <BTN_MODE>;
201                 };
202 
203                 button-l1 {
204                         gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
205                         label = "L1";
206                         linux,code = <BTN_TL>;
207                 };
208 
209                 button-left {
210                         gpios = <&gpio1 RK_PD7 GPIO_ACTIVE_LOW>;
211                         label = "DPAD-LEFT";
212                         linux,code = <BTN_DPAD_LEFT>;
213                 };
214 
215                 button-menu {
216                         gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>;
217                         label = "HOME";
218                         linux,code = <KEY_HOME>;
219                 };
220 
221                 button-r1 {
222                         gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>;
223                         label = "R1";
224                         linux,code = <BTN_TR>;
225                 };
226 
227                 button-right {
228                         gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
229                         label = "DPAD-RIGHT";
230                         linux,code = <BTN_DPAD_RIGHT>;
231                 };
232 
233                 button-select {
234                         gpios = <&gpio1 RK_PA3 GPIO_ACTIVE_LOW>;
235                         label = "SELECT";
236                         linux,code = <BTN_SELECT>;
237                 };
238 
239                 button-start {
240                         gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
241                         label = "START";
242                         linux,code = <BTN_START>;
243                 };
244 
245                 button-thumbl {
246                         gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>;
247                         label = "THUMBL";
248                         linux,code = <BTN_THUMBL>;
249                 };
250 
251                 button-thumbr {
252                         gpios = <&gpio1 RK_PD6 GPIO_ACTIVE_LOW>;
253                         label = "THUMBR";
254                         linux,code = <BTN_THUMBR>;
255                 };
256 
257                 button-up {
258                         gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
259                         label = "DPAD-UP";
260                         linux,code = <BTN_DPAD_UP>;
261                 };
262 
263                 button-x {
264                         gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
265                         label = "NORTH";
266                         linux,code = <BTN_NORTH>;
267                 };
268 
269                 button-y {
270                         gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_LOW>;
271                         label = "WEST";
272                         linux,code = <BTN_WEST>;
273                 };
274         };
275 
276         gpio_leds: gpio-leds {
277                 compatible = "gpio-leds";
278                 pinctrl-names = "default";
279                 pinctrl-0 = <&led_pins>;
280 
281                 green_led: led-0 {
282                         color = <LED_COLOR_ID_GREEN>;
283                         gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
284                         function = LED_FUNCTION_STATUS;
285                 };
286 
287                 red_led: led-1 {
288                         color = <LED_COLOR_ID_RED>;
289                         gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>;
290                         function = LED_FUNCTION_CHARGING;
291                 };
292         };
293 
294         amp_headphone: headphone-amplifier {
295                 compatible = "simple-audio-amplifier";
296                 enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
297                 pinctrl-0 = <&headphone_amplifier_en>;
298                 pinctrl-names = "default";
299                 sound-name-prefix = "Headphones Amplifier";
300         };
301 
302         pwm_fan: pwm-fan {
303                 compatible = "pwm-fan";
304                 #cooling-cells = <2>;
305                 cooling-levels = <0 120 150 180 210 240 255>;
306                 fan-supply = <&vcc5v0_sys>;
307                 interrupt-parent = <&gpio4>;
308                 interrupts = <RK_PB2 IRQ_TYPE_EDGE_RISING>;
309                 pulses-per-revolution = <4>;
310                 pwms = <&pwm12 0 50000 PWM_POLARITY_INVERTED>;
311         };
312 
313         pwm_gpio33: pwm-33 {
314                 compatible = "pwm-gpio";
315                 gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
316                 pinctrl-0 = <&vib_right_h>;
317                 pinctrl-names = "default";
318                 #pwm-cells = <3>;
319         };
320 
321         pwm_gpio132: pwm-132 {
322                 compatible = "pwm-gpio";
323                 gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
324                 pinctrl-0 = <&vib_left_h>;
325                 pinctrl-names = "default";
326                 #pwm-cells = <3>;
327         };
328 
329         sdio_pwrseq: sdio-pwrseq {
330                 compatible = "mmc-pwrseq-simple";
331                 clock-names = "ext_clock";
332                 clocks = <&rtc_hym8563>;
333                 pinctrl-0 = <&wifi_enable_h>;
334                 pinctrl-names = "default";
335                 post-power-on-delay-ms = <200>;
336                 power-off-delay-us = <5000000>;
337                 reset-gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
338         };
339 
340         amp_speaker: speaker-amplifier {
341                 compatible = "simple-audio-amplifier";
342                 enable-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
343                 pinctrl-0 = <&speaker_amplifier_en>;
344                 pinctrl-names = "default";
345                 sound-name-prefix = "Speaker Amplifier";
346                 VCC-supply = <&vcc5v0_spk>;
347         };
348 
349         vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
350                 compatible = "regulator-fixed";
351                 regulator-always-on;
352                 regulator-boot-on;
353                 regulator-max-microvolt = <1100000>;
354                 regulator-min-microvolt = <1100000>;
355                 regulator-name = "vcc_1v1_nldo_s3";
356                 vin-supply = <&vcc5v0_sys>;
357         };
358 
359         vcc3v3_lcd0_n: vcc3v3-lcd0-n-regulator {
360                 compatible = "regulator-fixed";
361                 enable-active-high;
362                 gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
363                 pinctrl-0 = <&vcc_lcd_h>;
364                 pinctrl-names = "default";
365                 regulator-max-microvolt = <3300000>;
366                 regulator-min-microvolt = <3300000>;
367                 regulator-name = "vcc3v3_lcd0_n";
368                 vin-supply = <&vcc_3v3_s3>;
369                 regulator-state-mem {
370                         regulator-off-in-suspend;
371                 };
372         };
373 
374         vcc_3v3_sd_s0: vcc-3v3-sd-s0-regulator {
375                 compatible = "regulator-fixed";
376                 enable-active-high;
377                 gpio = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
378                 pinctrl-0 = <&sd_s0_pwr>;
379                 pinctrl-names = "default";
380                 regulator-max-microvolt = <3000000>;
381                 regulator-min-microvolt = <3000000>;
382                 regulator-name = "vcc_3v3_sd_s0";
383                 vin-supply = <&vcc_3v3_s3>;
384         };
385 
386         vcc5v0_spk: vcc5v0-spk-regulator {
387                 compatible = "regulator-fixed";
388                 enable-active-high;
389                 gpio = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
390                 pinctrl-0 = <&vcc5v0_spk_pwr>;
391                 pinctrl-names = "default";
392                 regulator-max-microvolt = <5000000>;
393                 regulator-min-microvolt = <5000000>;
394                 regulator-name = "vcc5v0_spk";
395                 vin-supply = <&vcc5v0_sys>;
396                 regulator-state-mem {
397                         regulator-off-in-suspend;
398                 };
399         };
400 
401         vcc5v0_sys: vcc5v0-sys-regulator {
402                 compatible = "regulator-fixed";
403                 regulator-always-on;
404                 regulator-boot-on;
405                 regulator-max-microvolt = <5000000>;
406                 regulator-min-microvolt = <5000000>;
407                 regulator-name = "vcc5v0_sys";
408         };
409 
410         vibrator_l: vibrator-l {
411                 compatible = "pwm-vibrator";
412                 pwm-names = "enable";
413                 pwms = <&pwm_gpio132 0 20000000 0>;
414         };
415 
416         vibrator_r: vibrator-r {
417                 compatible = "pwm-vibrator";
418                 pwm-names = "enable";
419                 pwms = <&pwm_gpio33 0 20000000 0>;
420         };
421 };
422 
423 &combphy2_psu {
424         status = "okay";
425 };
426 
427 &cpu_l0 {
428         cpu-supply = <&vdd_cpu_lit_s0>;
429 };
430 
431 &cpu_l1 {
432         cpu-supply = <&vdd_cpu_lit_s0>;
433 };
434 
435 &cpu_l2 {
436         cpu-supply = <&vdd_cpu_lit_s0>;
437 };
438 
439 &cpu_l3 {
440         cpu-supply = <&vdd_cpu_lit_s0>;
441 };
442 
443 &cpu_b0 {
444         cpu-supply = <&vdd_cpu_big0_s0>;
445 };
446 
447 &cpu_b1 {
448         cpu-supply = <&vdd_cpu_big0_s0>;
449 };
450 
451 &cpu_b2 {
452         cpu-supply = <&vdd_cpu_big1_s0>;
453 };
454 
455 &cpu_b3 {
456         cpu-supply = <&vdd_cpu_big1_s0>;
457 };
458 
459 &gpu {
460         mali-supply = <&vdd_gpu_s0>;
461         status = "okay";
462 };
463 
464 &i2c0 {
465         pinctrl-0 = <&i2c0m2_xfer>;
466         pinctrl-names = "default";
467         status = "okay";
468 
469         vdd_cpu_big0_s0: regulator@42 {
470                 compatible = "rockchip,rk8602";
471                 reg = <0x42>;
472                 fcs,suspend-voltage-selector = <1>;
473                 regulator-max-microvolt = <1050000>;
474                 regulator-min-microvolt = <550000>;
475                 regulator-name = "vdd_cpu_big0_s0";
476                 regulator-ramp-delay = <2300>;
477                 vin-supply = <&vcc5v0_sys>;
478 
479                 regulator-state-mem {
480                         regulator-off-in-suspend;
481                 };
482         };
483 
484         vdd_cpu_big1_s0: regulator@43 {
485                 compatible = "rockchip,rk8603", "rockchip,rk8602";
486                 reg = <0x43>;
487                 fcs,suspend-voltage-selector = <1>;
488                 regulator-max-microvolt = <1050000>;
489                 regulator-min-microvolt = <550000>;
490                 regulator-name = "vdd_cpu_big1_s0";
491                 regulator-ramp-delay = <2300>;
492                 vin-supply = <&vcc5v0_sys>;
493 
494                 regulator-state-mem {
495                         regulator-off-in-suspend;
496                 };
497         };
498 };
499 
500 &i2c2 {
501         status = "okay";
502 
503         vdd_npu_s0: regulator@42 {
504                 compatible = "rockchip,rk8602";
505                 reg = <0x42>;
506                 fcs,suspend-voltage-selector = <1>;
507                 regulator-max-microvolt = <950000>;
508                 regulator-min-microvolt = <550000>;
509                 regulator-name = "vdd_npu_s0";
510                 regulator-ramp-delay = <2300>;
511                 vin-supply = <&vcc5v0_sys>;
512 
513                 regulator-state-mem {
514                         regulator-off-in-suspend;
515                 };
516         };
517 };
518 
519 &i2c3 {
520         status = "okay";
521 
522         touchscreen@14 {
523                 compatible = "goodix,gt911";
524                 reg = <0x14>;
525                 interrupt-parent = <&gpio1>;
526                 interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>;
527                 irq-gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>;
528                 pinctrl-0 = <&touch_int>, <&touch_rst>;
529                 pinctrl-names = "default";
530                 reset-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
531                 touchscreen-inverted-x;
532                 touchscreen-size-x = <1080>;
533                 touchscreen-size-y = <1920>;
534                 touchscreen-swapped-x-y;
535         };
536 };
537 
538 &i2c4 {
539         pinctrl-0 = <&i2c4m2_xfer>;
540         status = "okay";
541 
542         ti_adc: adc@48 {
543                 compatible = "ti,ads1015";
544                 reg = <0x48>;
545                 #address-cells = <1>;
546                 #io-channel-cells = <1>;
547                 #size-cells = <0>;
548 
549                 channel@4 {
550                         reg = <4>;
551                 };
552 
553                 channel@5 {
554                         reg = <5>;
555                 };
556 
557                 channel@6 {
558                         reg = <6>;
559                 };
560 
561                 channel@7 {
562                         reg = <7>;
563                 };
564         };
565 
566         imu@68 {
567                 compatible = "invensense,mpu6880";
568                 reg = <0x68>;
569                 interrupt-parent = <&gpio0>;
570                 interrupts = <RK_PD3 IRQ_TYPE_EDGE_RISING>;
571         };
572 };
573 
574 &i2c6 {
575         pinctrl-0 = <&i2c6m3_xfer>;
576         status = "okay";
577 
578         rtc_hym8563: rtc@51 {
579                 compatible = "haoyu,hym8563";
580                 reg = <0x51>;
581                 #clock-cells = <0>;
582                 clock-output-names = "hym8563";
583                 interrupt-parent = <&gpio0>;
584                 interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
585                 pinctrl-0 = <&hym8563_int>, <&clk32k_in>;
586                 pinctrl-names = "default";
587                 wakeup-source;
588         };
589 
590         /* Battery profile from BSP device tree. */
591         battery@62 {
592                 compatible = "cellwise,cw2015";
593                 reg = <0x62>;
594 
595                 cellwise,battery-profile = /bits/ 8
596                         <0x18 0x0A 0x76 0x6A 0x6A 0x6A 0x68 0x66
597                          0x62 0x5E 0x5A 0x58 0x5F 0x59 0x46 0x3D
598                          0x35 0x2D 0x28 0x21 0x29 0x38 0x44 0x50
599                          0x1A 0x85 0x07 0xAE 0x14 0x28 0x48 0x56
600                          0x66 0x66 0x66 0x6A 0x3E 0x1A 0x6C 0x3D
601                          0x09 0x38 0x1A 0x49 0x7B 0x96 0xA2 0x15
602                          0x3B 0x77 0x9A 0xB1 0x80 0x87 0xB0 0xCB
603                          0x2F 0x00 0x64 0xA5 0xB5 0x1C 0xF0 0x49>;
604                 cellwise,monitor-interval-ms = <5000>;
605                 monitored-battery = <&battery>;
606                 status = "okay";
607         };
608 };
609 
610 &i2c7 {
611         status = "okay";
612 
613         es8388: audio-codec@11 {
614                 compatible = "everest,es8388";
615                 reg = <0x11>;
616                 assigned-clock-rates = <12288000>;
617                 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
618                 AVDD-supply = <&vcc_3v3_s3>;
619                 clocks = <&cru I2S0_8CH_MCLKOUT>;
620                 DVDD-supply = <&vcc_1v8_s3>;
621                 HPVDD-supply = <&vcc_3v3_s3>;
622                 PVDD-supply = <&vcc_1v8_s3>;
623                 #sound-dai-cells = <0>;
624         };
625 };
626 
627 &i2s0_8ch {
628         pinctrl-0 = <&i2s0_lrck
629                      &i2s0_mclk
630                      &i2s0_sclk
631                      &i2s0_sdi0
632                      &i2s0_sdo0>;
633         status = "okay";
634 };
635 
636 &package_thermal {
637         polling-delay = <1000>;
638 
639         trips {
640                 package_fan0: package-fan0 {
641                         temperature = <55000>;
642                         hysteresis = <2000>;
643                         type = "active";
644                 };
645 
646                 package_fan1: package-fan1 {
647                         temperature = <65000>;
648                         hysteresis = <2000>;
649                         type = "active";
650                 };
651         };
652 
653         cooling-maps {
654                 map1 {
655                         trip = <&package_fan0>;
656                         cooling-device = <&pwm_fan THERMAL_NO_LIMIT 1>;
657                 };
658 
659                 map2 {
660                         trip = <&package_fan1>;
661                         cooling-device = <&pwm_fan 2 THERMAL_NO_LIMIT>;
662                 };
663         };
664 };
665 
666 /*
667  * Attempts to use an M.2 SATA in this slot worked intermittently
668  * with the correct nodes enabled in device-tree, but eventually
669  * resulted in a destroyed board. Advise caution.
670  */
671 &pcie2x1l1 {
672         pinctrl-0 = <&pcie_rst>;
673         pinctrl-names = "default";
674         reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
675         status = "okay";
676 };
677 
678 &pinctrl {
679         audio-amplifier {
680                 headphone_amplifier_en: headphone-amplifier-en {
681                         rockchip,pins =
682                                 <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
683                 };
684 
685                 hp_detect: headphone-detect {
686                         rockchip,pins =
687                                 <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
688                 };
689 
690                 speaker_amplifier_en: speaker-amplifier-en {
691                         rockchip,pins =
692                                 <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
693                 };
694         };
695 
696         bt {
697                 bt_enable_h: bt-enable-h {
698                         rockchip,pins =
699                                 <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
700                 };
701 
702                 bt_host_wake_l: bt-host-wake-l {
703                         rockchip,pins =
704                                 <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
705                 };
706 
707                 bt_wake_l: bt-wake-l {
708                         rockchip,pins =
709                                 <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
710                 };
711         };
712 
713         charger {
714                 boost_enable_h: boost-enable-h {
715                         rockchip,pins =
716                                 <4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
717                 };
718                 charger_int_h: charger-int-h {
719                         rockchip,pins =
720                                 <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
721                 };
722         };
723 
724         hym8563 {
725                 hym8563_int: hym8563-int {
726                         rockchip,pins =
727                                 <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
728                 };
729         };
730 
731         gpio-btns {
732                 btn_pins_ctrl: btn-pins-ctrl {
733                         rockchip,pins =
734                                 <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
735                                 <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
736                                 <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
737                                 <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
738                                 <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
739                                 <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>,
740                                 <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
741                                 <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
742                                 <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
743                                 <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
744                                 <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
745                                 <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
746                                 <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
747                                 <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>,
748                                 <1 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>,
749                                 <1 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up>;
750                 };
751         };
752 
753         gpio-leds {
754                 led_pins: led-pins {
755                         rockchip,pins =
756                                 <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>,
757                                 <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>;
758                 };
759         };
760 
761         lcd_bl_en {
762                 lcd_bl_en: lcd-bl-en {
763                         rockchip,pins =
764                                 <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
765                 };
766         };
767 
768         pcie-pins {
769                 pcie_rst: pcie-rst {
770                         rockchip,pins =
771                                 <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
772                 };
773         };
774 
775         sd-pwr {
776                 sd_s0_pwr: sd-s0-pwr {
777                         rockchip,pins =
778                                 <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
779                 };
780         };
781 
782         spk-pwr {
783                 vcc5v0_spk_pwr: vcc5v0-spk-pwr {
784                         rockchip,pins =
785                                 <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
786                 };
787         };
788 
789         touch {
790                 touch_int: touch-int {
791                         rockchip,pins =
792                                 <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
793                 };
794 
795                 touch_rst: touch-rst {
796                         rockchip,pins =
797                                 <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
798                 };
799         };
800 
801         usb-typec {
802                 usbc0_int: usbc0-int {
803                         rockchip,pins =
804                                 <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
805                 };
806         };
807 
808         vcc3v3-lcd {
809                 vcc_lcd_h: vcc-lcd-h {
810                         rockchip,pins =
811                                 <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
812                 };
813         };
814 
815         vibrator {
816                 vib_left_h: vib-left-h {
817                         rockchip,pins =
818                                 <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
819                 };
820 
821                 vib_right_h: vib-right-h {
822                         rockchip,pins =
823                                 <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_down>;
824                 };
825         };
826 
827         wifi {
828                 wifi_enable_h: wifi-enable-h {
829                         rockchip,pins =
830                                 <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
831                 };
832 
833                 wifi_host_wake_irq: wifi-host-wake-irq {
834                         rockchip,pins =
835                                 <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
836                 };
837         };
838 };
839 
840 &pwm12 {
841         pinctrl-0 = <&pwm12m1_pins>;
842         status = "okay";
843 };
844 
845 &pwm13 {
846         pinctrl-0 = <&pwm13m1_pins>;
847         status = "okay";
848 };
849 
850 &saradc {
851         vref-supply = <&vcc_1v8_s0>;
852         status = "okay";
853 };
854 
855 &sdhci {
856         bus-width = <8>;
857         mmc-hs400-1_8v;
858         mmc-hs400-enhanced-strobe;
859         no-sd;
860         no-sdio;
861         non-removable;
862         status = "okay";
863 };
864 
865 &sdio {
866         #address-cells = <1>;
867         bus-width = <4>;
868         cap-sd-highspeed;
869         cap-sdio-irq;
870         disable-wp;
871         keep-power-in-suspend;
872         max-frequency = <150000000>;
873         mmc-pwrseq = <&sdio_pwrseq>;
874         no-mmc;
875         no-sd;
876         sd-uhs-sdr104;
877         #size-cells = <0>;
878         status = "okay";
879 
880         brcmf: wifi@1 {
881                 compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac";
882                 reg = <1>;
883                 interrupt-parent = <&gpio0>;
884                 interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>;
885                 interrupt-names = "host-wake";
886                 pinctrl-0 = <&wifi_host_wake_irq>;
887                 pinctrl-names = "default";
888         };
889 };
890 
891 &sdmmc {
892         bus-width = <4>;
893         cap-mmc-highspeed;
894         cap-sd-highspeed;
895         disable-wp;
896         max-frequency = <150000000>;
897         no-sdio;
898         no-mmc;
899         sd-uhs-sdr104;
900         vmmc-supply = <&vcc_3v3_sd_s0>;
901         vqmmc-supply = <&vccio_sd_s0>;
902         status = "okay";
903 };
904 
905 &spi2 {
906         #address-cells = <1>;
907         assigned-clocks = <&cru CLK_SPI2>;
908         assigned-clock-rates = <200000000>;
909         num-cs = <1>;
910         pinctrl-0 = <&spi2m2_pins>, <&spi2m2_cs0>;
911         pinctrl-names = "default";
912         #size-cells = <0>;
913         status = "okay";
914 
915         pmic@0 {
916                 compatible = "rockchip,rk806";
917                 reg = <0x0>;
918                 #gpio-cells = <2>;
919                 gpio-controller;
920                 interrupt-parent = <&gpio0>;
921                 interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
922                 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
923                             <&rk806_dvs2_null>, <&rk806_dvs3_null>;
924                 pinctrl-names = "default";
925                 spi-max-frequency = <1000000>;
926                 system-power-controller;
927 
928                 vcc1-supply = <&vcc5v0_sys>;
929                 vcc2-supply = <&vcc5v0_sys>;
930                 vcc3-supply = <&vcc5v0_sys>;
931                 vcc4-supply = <&vcc5v0_sys>;
932                 vcc5-supply = <&vcc5v0_sys>;
933                 vcc6-supply = <&vcc5v0_sys>;
934                 vcc7-supply = <&vcc5v0_sys>;
935                 vcc8-supply = <&vcc5v0_sys>;
936                 vcc9-supply = <&vcc5v0_sys>;
937                 vcc10-supply = <&vcc5v0_sys>;
938                 vcc11-supply = <&vcc_2v0_pldo_s3>;
939                 vcc12-supply = <&vcc5v0_sys>;
940                 vcc13-supply = <&vcc_1v1_nldo_s3>;
941                 vcc14-supply = <&vcc_1v1_nldo_s3>;
942                 vcca-supply = <&vcc5v0_sys>;
943 
944                 rk806_dvs1_null: dvs1-null-pins {
945                         pins = "gpio_pwrctrl1";
946                         function = "pin_fun0";
947                 };
948 
949                 rk806_dvs2_null: dvs2-null-pins {
950                         pins = "gpio_pwrctrl2";
951                         function = "pin_fun0";
952                 };
953 
954                 rk806_dvs3_null: dvs3-null-pins {
955                         pins = "gpio_pwrctrl3";
956                         function = "pin_fun0";
957                 };
958 
959                 regulators {
960                         vdd_gpu_s0: dcdc-reg1 {
961                                 regulator-boot-on;
962                                 regulator-enable-ramp-delay = <400>;
963                                 regulator-max-microvolt = <950000>;
964                                 regulator-min-microvolt = <550000>;
965                                 regulator-name = "vdd_gpu_s0";
966                                 regulator-ramp-delay = <12500>;
967                                 regulator-state-mem {
968                                         regulator-off-in-suspend;
969                                 };
970                         };
971 
972                         vdd_cpu_lit_s0: dcdc-reg2 {
973                                 regulator-always-on;
974                                 regulator-boot-on;
975                                 regulator-max-microvolt = <950000>;
976                                 regulator-min-microvolt = <550000>;
977                                 regulator-ramp-delay = <12500>;
978                                 regulator-name = "vdd_cpu_lit_s0";
979                                 regulator-state-mem {
980                                         regulator-off-in-suspend;
981                                 };
982                         };
983 
984                         vdd_logic_s0: dcdc-reg3 {
985                                 regulator-always-on;
986                                 regulator-boot-on;
987                                 regulator-max-microvolt = <750000>;
988                                 regulator-min-microvolt = <675000>;
989                                 regulator-name = "vdd_logic_s0";
990                                 regulator-ramp-delay = <12500>;
991                                 regulator-state-mem {
992                                         regulator-on-in-suspend;
993                                         regulator-suspend-microvolt = <750000>;
994                                 };
995                         };
996 
997                         vdd_vdenc_s0: dcdc-reg4 {
998                                 regulator-always-on;
999                                 regulator-boot-on;
1000                                 regulator-max-microvolt = <950000>;
1001                                 regulator-min-microvolt = <550000>;
1002                                 regulator-name = "vdd_vdenc_s0";
1003                                 regulator-ramp-delay = <12500>;
1004                                 regulator-state-mem {
1005                                         regulator-off-in-suspend;
1006                                 };
1007                         };
1008 
1009                         vdd_ddr_s0: dcdc-reg5 {
1010                                 regulator-always-on;
1011                                 regulator-boot-on;
1012                                 regulator-min-microvolt = <675000>;
1013                                 regulator-max-microvolt = <900000>;
1014                                 regulator-ramp-delay = <12500>;
1015                                 regulator-name = "vdd_ddr_s0";
1016                                 regulator-state-mem {
1017                                         regulator-off-in-suspend;
1018                                         regulator-suspend-microvolt = <850000>;
1019                                 };
1020                         };
1021 
1022                         vdd2_ddr_s3: dcdc-reg6 {
1023                                 regulator-always-on;
1024                                 regulator-boot-on;
1025                                 regulator-name = "vdd2_ddr_s3";
1026                                 regulator-state-mem {
1027                                         regulator-on-in-suspend;
1028                                 };
1029                         };
1030 
1031                         vcc_2v0_pldo_s3: dcdc-reg7 {
1032                                 regulator-always-on;
1033                                 regulator-boot-on;
1034                                 regulator-max-microvolt = <2000000>;
1035                                 regulator-min-microvolt = <2000000>;
1036                                 regulator-name = "vdd_2v0_pldo_s3";
1037                                 regulator-state-mem {
1038                                         regulator-on-in-suspend;
1039                                         regulator-suspend-microvolt = <2000000>;
1040                                 };
1041                         };
1042 
1043                         vcc_3v3_s3: dcdc-reg8 {
1044                                 regulator-always-on;
1045                                 regulator-boot-on;
1046                                 regulator-max-microvolt = <3300000>;
1047                                 regulator-min-microvolt = <3300000>;
1048                                 regulator-name = "vcc_3v3_s3";
1049                                 regulator-state-mem {
1050                                         regulator-on-in-suspend;
1051                                         regulator-suspend-microvolt = <3300000>;
1052                                 };
1053                         };
1054 
1055                         vddq_ddr_s0: dcdc-reg9 {
1056                                 regulator-always-on;
1057                                 regulator-boot-on;
1058                                 regulator-name = "vddq_ddr_s0";
1059                                 regulator-state-mem {
1060                                         regulator-off-in-suspend;
1061                                 };
1062                         };
1063 
1064                         vcc_1v8_s3: dcdc-reg10 {
1065                                 regulator-always-on;
1066                                 regulator-boot-on;
1067                                 regulator-max-microvolt = <1800000>;
1068                                 regulator-min-microvolt = <1800000>;
1069                                 regulator-name = "vcc_1v8_s3";
1070                                 regulator-state-mem {
1071                                         regulator-on-in-suspend;
1072                                         regulator-suspend-microvolt = <1800000>;
1073                                 };
1074                         };
1075 
1076                         avcc_1v8_s0: pldo-reg1 {
1077                                 regulator-always-on;
1078                                 regulator-boot-on;
1079                                 regulator-max-microvolt = <1800000>;
1080                                 regulator-min-microvolt = <1800000>;
1081                                 regulator-name = "avcc_1v8_s0";
1082                                 regulator-state-mem {
1083                                         regulator-off-in-suspend;
1084                                 };
1085                         };
1086 
1087                         vcc_1v8_s0: pldo-reg2 {
1088                                 regulator-always-on;
1089                                 regulator-boot-on;
1090                                 regulator-max-microvolt = <1800000>;
1091                                 regulator-min-microvolt = <1800000>;
1092                                 regulator-name = "vcc_1v8_s0";
1093                                 regulator-state-mem {
1094                                         regulator-off-in-suspend;
1095                                         regulator-suspend-microvolt = <1800000>;
1096                                 };
1097                         };
1098 
1099                         avdd_1v2_s0: pldo-reg3 {
1100                                 regulator-always-on;
1101                                 regulator-boot-on;
1102                                 regulator-max-microvolt = <1200000>;
1103                                 regulator-min-microvolt = <1200000>;
1104                                 regulator-name = "avdd_1v2_s0";
1105                                 regulator-state-mem {
1106                                         regulator-off-in-suspend;
1107                                 };
1108                         };
1109 
1110                         vcc_3v3_s0: pldo-reg4 {
1111                                 regulator-always-on;
1112                                 regulator-boot-on;
1113                                 regulator-max-microvolt = <3300000>;
1114                                 regulator-min-microvolt = <3300000>;
1115                                 regulator-name = "vcc_3v3_s0";
1116                                 regulator-state-mem {
1117                                         regulator-off-in-suspend;
1118                                 };
1119                         };
1120 
1121                         vccio_sd_s0: pldo-reg5 {
1122                                 regulator-always-on;
1123                                 regulator-boot-on;
1124                                 regulator-max-microvolt = <3300000>;
1125                                 regulator-min-microvolt = <1800000>;
1126                                 regulator-name = "vccio_sd_s0";
1127                                 regulator-state-mem {
1128                                         regulator-off-in-suspend;
1129                                 };
1130                         };
1131 
1132                         vcc_1v8_s3_pldo6: pldo-reg6 {
1133                                 regulator-always-on;
1134                                 regulator-boot-on;
1135                                 regulator-max-microvolt = <1800000>;
1136                                 regulator-min-microvolt = <1800000>;
1137                                 regulator-name = "vcc_1v8_s3_pldo6";
1138                                 regulator-state-mem {
1139                                         regulator-on-in-suspend;
1140                                         regulator-suspend-microvolt = <1800000>;
1141                                 };
1142                         };
1143 
1144                         vdd_0v75_s3: nldo-reg1 {
1145                                 regulator-always-on;
1146                                 regulator-boot-on;
1147                                 regulator-max-microvolt = <750000>;
1148                                 regulator-min-microvolt = <750000>;
1149                                 regulator-name = "vdd_0v75_s3";
1150                                 regulator-state-mem {
1151                                         regulator-on-in-suspend;
1152                                         regulator-suspend-microvolt = <750000>;
1153                                 };
1154                         };
1155 
1156                         vdd_ddr_pll_s0: nldo-reg2 {
1157                                 regulator-always-on;
1158                                 regulator-boot-on;
1159                                 regulator-max-microvolt = <850000>;
1160                                 regulator-min-microvolt = <850000>;
1161                                 regulator-name = "vdd_ddr_pll_s0";
1162                                 regulator-state-mem {
1163                                         regulator-off-in-suspend;
1164                                         regulator-suspend-microvolt = <850000>;
1165                                 };
1166                         };
1167 
1168                         avdd_0v75_s0: nldo-reg3 {
1169                                 regulator-always-on;
1170                                 regulator-boot-on;
1171                                 regulator-max-microvolt = <837500>;
1172                                 regulator-min-microvolt = <837500>;
1173                                 regulator-name = "avdd_0v75_s0";
1174                                 regulator-state-mem {
1175                                         regulator-off-in-suspend;
1176                                 };
1177                         };
1178 
1179                         vdd_0v85_s0: nldo-reg4 {
1180                                 regulator-always-on;
1181                                 regulator-boot-on;
1182                                 regulator-min-microvolt = <850000>;
1183                                 regulator-max-microvolt = <850000>;
1184                                 regulator-name = "vdd_0v85_s0";
1185                                 regulator-state-mem {
1186                                         regulator-off-in-suspend;
1187                                 };
1188                         };
1189 
1190                         vdd_0v75_s0: nldo-reg5 {
1191                                 regulator-always-on;
1192                                 regulator-boot-on;
1193                                 regulator-min-microvolt = <750000>;
1194                                 regulator-max-microvolt = <750000>;
1195                                 regulator-name = "vdd_0v75_s0";
1196                                 regulator-state-mem {
1197                                         regulator-off-in-suspend;
1198                                 };
1199                         };
1200                 };
1201         };
1202 };
1203 
1204 &tsadc {
1205         status = "okay";
1206 };
1207 
1208 &u2phy0 {
1209         status = "okay";
1210 };
1211 
1212 &u2phy0_otg {
1213         status = "okay";
1214 };
1215 
1216 &uart2 {
1217         pinctrl-0 = <&uart2m0_xfer>;
1218         status = "okay";
1219 };
1220 
1221 &uart9 {
1222         pinctrl-0 = <&uart9m2_xfer>, <&uart9m2_ctsn>, <&uart9m2_rtsn>;
1223         uart-has-rtscts;
1224         status = "okay";
1225 
1226         bluetooth {
1227                 compatible = "brcm,bcm4345c5";
1228                 clocks = <&rtc_hym8563>;
1229                 clock-names = "lpo";
1230                 device-wakeup-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_HIGH>;
1231                 interrupt-parent = <&gpio3>;
1232                 interrupts = <RK_PB0 IRQ_TYPE_EDGE_FALLING>;
1233                 pinctrl-0 = <&bt_enable_h>, <&bt_host_wake_l>, <&bt_wake_l>;
1234                 pinctrl-names = "default";
1235                 shutdown-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
1236         };
1237 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php