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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet.dtsi

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 /*
  3  * Google Gru-scarlet board device tree source
  4  *
  5  * Copyright 2018 Google, Inc
  6  */
  7 
  8 #include "rk3399-gru.dtsi"
  9 
 10 /{
 11         chassis-type = "tablet";
 12 
 13         /* Power tree */
 14 
 15         /* ppvar_sys children, sorted by name */
 16         pp1250_s3: pp1250-s3 {
 17                 compatible = "regulator-fixed";
 18                 regulator-name = "pp1250_s3";
 19 
 20                 /* EC turns on w/ pp1250_s3_en; always on for AP */
 21                 regulator-always-on;
 22                 regulator-boot-on;
 23                 regulator-min-microvolt = <1250000>;
 24                 regulator-max-microvolt = <1250000>;
 25 
 26                 vin-supply = <&ppvar_sys>;
 27         };
 28 
 29         pp1250_cam: pp1250-dvdd {
 30                 compatible = "regulator-fixed";
 31                 regulator-name = "pp1250_dvdd";
 32                 pinctrl-names = "default";
 33                 pinctrl-0 = <&pp1250_cam_en>;
 34 
 35                 enable-active-high;
 36                 gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>;
 37 
 38                 /* 740us delay from gpio output high to pp1250 stable,
 39                  * rounding up to 1ms for safety.
 40                  */
 41                 startup-delay-us = <1000>;
 42                 vin-supply = <&pp1250_s3>;
 43         };
 44 
 45         pp900_s0: pp900-s0 {
 46                 compatible = "regulator-fixed";
 47                 regulator-name = "pp900_s0";
 48 
 49                 /* EC turns on w/ pp900_s0_en; always on for AP */
 50                 regulator-always-on;
 51                 regulator-boot-on;
 52                 regulator-min-microvolt = <900000>;
 53                 regulator-max-microvolt = <900000>;
 54 
 55                 vin-supply = <&ppvar_sys>;
 56         };
 57 
 58         ppvarn_lcd: ppvarn-lcd {
 59                 compatible = "regulator-fixed";
 60                 regulator-name = "ppvarn_lcd";
 61                 pinctrl-names = "default";
 62                 pinctrl-0 = <&ppvarn_lcd_en>;
 63 
 64                 enable-active-high;
 65                 gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
 66                 vin-supply = <&ppvar_sys>;
 67         };
 68 
 69         ppvarp_lcd: ppvarp-lcd {
 70                 compatible = "regulator-fixed";
 71                 regulator-name = "ppvarp_lcd";
 72                 pinctrl-names = "default";
 73                 pinctrl-0 = <&ppvarp_lcd_en>;
 74 
 75                 enable-active-high;
 76                 gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
 77                 vin-supply = <&ppvar_sys>;
 78         };
 79 
 80         /* pp1800 children, sorted by name */
 81         pp900_s3: pp900-s3 {
 82                 compatible = "regulator-fixed";
 83                 regulator-name = "pp900_s3";
 84 
 85                 /* EC turns on w/ pp900_s3_en; always on for AP */
 86                 regulator-always-on;
 87                 regulator-boot-on;
 88                 regulator-min-microvolt = <900000>;
 89                 regulator-max-microvolt = <900000>;
 90 
 91                 vin-supply = <&pp1800>;
 92         };
 93 
 94         /* EC turns on pp1800_s3_en */
 95         pp1800_s3: pp1800 {
 96         };
 97 
 98         /* pp3300 children, sorted by name */
 99         pp2800_cam: pp2800-avdd {
100                 compatible = "regulator-fixed";
101                 regulator-name = "pp2800_avdd";
102                 pinctrl-names = "default";
103                 pinctrl-0 = <&pp2800_cam_en>;
104 
105                 enable-active-high;
106                 gpio = <&gpio2 24 GPIO_ACTIVE_HIGH>;
107                 startup-delay-us = <100>;
108                 vin-supply = <&pp3300>;
109         };
110 
111         /* EC turns on pp3300_s0_en */
112         pp3300_s0: pp3300 {
113         };
114 
115         /* EC turns on pp3300_s3_en */
116         pp3300_s3: pp3300 {
117         };
118 
119         /*
120          * See b/66922012
121          *
122          * This is a hack to make sure the Bluetooth part of the QCA6174A
123          * is reset at boot by toggling BT_EN. At boot BT_EN is first set
124          * to low when the bt_3v3 regulator is registered (in disabled
125          * state). The fake regulator is configured as a supply of the
126          * wlan_3v3 regulator below. When wlan_3v3 is enabled early in
127          * the boot process it also enables its supply regulator bt_3v3,
128          * which changes BT_EN to high.
129          */
130         bt_3v3: bt-3v3 {
131                 compatible = "regulator-fixed";
132                 regulator-name = "bt_3v3";
133                 pinctrl-names = "default";
134                 pinctrl-0 = <&bt_en_1v8_l>;
135 
136                 enable-active-high;
137                 gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
138                 vin-supply = <&pp3300_s3>;
139         };
140 
141         wlan_3v3: wlan-3v3 {
142                 compatible = "regulator-fixed";
143                 regulator-name = "wlan_3v3";
144                 pinctrl-names = "default";
145                 pinctrl-0 = <&wlan_pd_1v8_l>;
146 
147                 /*
148                  * The WL_EN pin is driven low when the regulator is
149                  * registered, and transitions to high when the PCIe bus
150                  * is powered up.
151                  */
152                 enable-active-high;
153                 gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>;
154 
155                 /*
156                  * Require minimum 10ms from power-on (e.g., PD#) to init PCIe.
157                  * TODO (b/64444991): how long to assert PD#?
158                  */
159                 regulator-enable-ramp-delay = <10000>;
160                 /* See bt_3v3 hack above */
161                 vin-supply = <&bt_3v3>;
162         };
163 
164         backlight: backlight {
165                 compatible = "pwm-backlight";
166                 enable-gpios = <&gpio4 21 GPIO_ACTIVE_HIGH>;
167                 pinctrl-names = "default";
168                 pinctrl-0 = <&bl_en>;
169                 pwms = <&pwm1 0 1000000 0>;
170         };
171 
172         dmic: dmic {
173                 compatible = "dmic-codec";
174                 dmicen-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
175                 pinctrl-names = "default";
176                 pinctrl-0 = <&dmic_en>;
177                 wakeup-delay-ms = <250>;
178         };
179 
180         gpio_keys: gpio-keys {
181                 compatible = "gpio-keys";
182                 pinctrl-names = "default";
183                 pinctrl-0 = <&pen_eject_odl>;
184 
185                 switch-pen-insert {
186                         label = "Pen Insert";
187                         /* Insert = low, eject = high */
188                         gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
189                         linux,code = <SW_PEN_INSERTED>;
190                         linux,input-type = <EV_SW>;
191                         wakeup-source;
192                 };
193         };
194 };
195 
196 /* pp900_s0 aliases */
197 pp900_ddrpll_ap: &pp900_s0 {
198 };
199 pp900_pcie: &pp900_s0 {
200 };
201 pp900_usb: &pp900_s0 {
202 };
203 
204 /* pp900_s3 aliases */
205 pp900_emmcpll: &pp900_s3 {
206 };
207 
208 /* EC turns on; alias for pp1800_s0 */
209 pp1800_pcie: &pp1800_s0 {
210 };
211 
212 /* On scarlet PPVAR(big_cpu, lit_cpu, gpu) need to adjust voltage ranges */
213 &ppvar_bigcpu {
214         ctrl-voltage-range = <800074 1299226>;
215         regulator-min-microvolt = <800074>;
216         regulator-max-microvolt = <1299226>;
217 };
218 
219 &ppvar_bigcpu_pwm {
220         /* On scarlet ppvar big cpu use pwm3 */
221         pwms = <&pwm3 0 3337 0>;
222         regulator-min-microvolt = <800074>;
223         regulator-max-microvolt = <1299226>;
224 };
225 
226 &ppvar_litcpu {
227         ctrl-voltage-range = <802122 1199620>;
228         regulator-min-microvolt = <802122>;
229         regulator-max-microvolt = <1199620>;
230 };
231 
232 &ppvar_litcpu_pwm {
233         regulator-min-microvolt = <802122>;
234         regulator-max-microvolt = <1199620>;
235 };
236 
237 &ppvar_gpu {
238         ctrl-voltage-range = <799600 1099600>;
239         regulator-min-microvolt = <799600>;
240         regulator-max-microvolt = <1099600>;
241 };
242 
243 &ppvar_gpu_pwm {
244         regulator-min-microvolt = <799600>;
245         regulator-max-microvolt = <1099600>;
246 };
247 
248 &ppvar_sd_card_io {
249         states = <1800000 0x0>, <3300000 0x1>;
250         regulator-max-microvolt = <3300000>;
251 };
252 
253 &pp3000_sd_slot {
254         vin-supply = <&pp3300>;
255 };
256 
257 ap_i2c_dig: &i2c2 {
258         status = "okay";
259 
260         clock-frequency = <400000>;
261 
262         /* These are relatively safe rise/fall times. */
263         i2c-scl-falling-time-ns = <50>;
264         i2c-scl-rising-time-ns = <300>;
265 
266         digitizer: digitizer@9 {
267                 compatible = "hid-over-i2c";
268                 reg = <0x9>;
269                 interrupt-parent = <&gpio1>;
270                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
271                 hid-descr-addr = <0x1>;
272                 pinctrl-names = "default";
273                 pinctrl-0 = <&pen_int_odl &pen_reset_l>;
274         };
275 };
276 
277 &ap_i2c_ts {
278         touchscreen: touchscreen@10 {
279                 compatible = "elan,ekth3500";
280                 reg = <0x10>;
281                 interrupt-parent = <&gpio1>;
282                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
283                 pinctrl-names = "default";
284                 pinctrl-0 = <&touch_int_l &touch_reset_l>;
285                 reset-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
286         };
287 };
288 
289 camera: &i2c7 {
290         status = "okay";
291 
292         clock-frequency = <400000>;
293 
294         /* These are relatively safe rise/fall times; TODO: measure */
295         i2c-scl-falling-time-ns = <50>;
296         i2c-scl-rising-time-ns = <300>;
297 
298         /* 24M mclk is shared between world and user cameras */
299         pinctrl-0 = <&i2c7_xfer &test_clkout1>;
300 
301         /* Rear-facing camera */
302         wcam: camera@36 {
303                 compatible = "ovti,ov5695";
304                 reg = <0x36>;
305                 pinctrl-names = "default";
306                 pinctrl-0 = <&wcam_rst>;
307 
308                 clocks = <&cru SCLK_TESTCLKOUT1>;
309                 clock-names = "xvclk";
310 
311                 avdd-supply = <&pp2800_cam>;
312                 dvdd-supply = <&pp1250_cam>;
313                 dovdd-supply = <&pp1800_s0>;
314                 reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
315 
316                 port {
317                         wcam_out: endpoint {
318                                 remote-endpoint = <&mipi_in_wcam>;
319                                 data-lanes = <1 2>;
320                         };
321                 };
322         };
323 
324         /* Front-facing camera */
325         ucam: camera@3c {
326                 compatible = "ovti,ov2685";
327                 reg = <0x3c>;
328                 pinctrl-names = "default";
329                 pinctrl-0 = <&ucam_rst>;
330 
331                 clocks = <&cru SCLK_TESTCLKOUT1>;
332                 clock-names = "xvclk";
333 
334                 avdd-supply = <&pp2800_cam>;
335                 dovdd-supply = <&pp1800_s0>;
336                 dvdd-supply = <&pp1800_s0>;
337                 reset-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
338 
339                 port {
340                         ucam_out: endpoint {
341                                 remote-endpoint = <&mipi_in_ucam>;
342                                 data-lanes = <1>;
343                         };
344                 };
345         };
346 };
347 
348 &cdn_dp {
349         extcon = <&usbc_extcon0>;
350         phys = <&tcphy0_dp>;
351 };
352 
353 &cpu_alert0 {
354         temperature = <66000>;
355 };
356 
357 &cpu_alert1 {
358         temperature = <71000>;
359 };
360 
361 &cros_ec {
362         interrupt-parent = <&gpio1>;
363         interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
364 };
365 
366 &cru {
367         assigned-clocks =
368                 <&cru PLL_GPLL>, <&cru PLL_CPLL>,
369                 <&cru PLL_NPLL>,
370                 <&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>,
371                 <&cru PCLK_PERIHP>,
372                 <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
373                 <&cru PCLK_PERILP0>, <&cru ACLK_CCI>,
374                 <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>,
375                 <&cru ACLK_VIO>,
376                 <&cru ACLK_GIC_PRE>,
377                 <&cru PCLK_DDR>,
378                 <&cru ACLK_HDCP>,
379                 <&cru ACLK_VDU>;
380         assigned-clock-rates =
381                 <600000000>, <1600000000>,
382                 <1000000000>,
383                 <150000000>, <75000000>,
384                 <37500000>,
385                 <100000000>, <100000000>,
386                 <50000000>, <800000000>,
387                 <100000000>, <50000000>,
388                 <400000000>,
389                 <200000000>,
390                 <200000000>,
391                 <400000000>,
392                 <400000000>;
393 };
394 
395 /* The center supply is fixed to .9V on scarlet */
396 &dmc {
397         center-supply = <&pp900_s0>;
398 };
399 
400 /* We don't need .925 V for 928 MHz on scarlet */
401 &dmc_opp_table {
402         opp03 {
403                 opp-microvolt = <900000>;
404         };
405 };
406 
407 &gpio0 {
408         gpio-line-names = /* GPIO0 A 0-7 */
409                           "CLK_32K_AP",
410                           "EC_IN_RW_OD",
411                           "SPK_PA_EN",
412                           "WLAN_PERST_1V8_L",
413                           "WLAN_PD_1V8_L",
414                           "WLAN_RF_KILL_1V8_L",
415                           "BIGCPU_DVS_PWM",
416                           "SD_CD_L_JTAG_EN",
417 
418                           /* GPIO0 B 0-5 */
419                           "BT_EN_BT_RF_KILL_1V8_L",
420                           "PMUIO2_33_18_L_PP3300_S0_EN",
421                           "TOUCH_RESET_L",
422                           "AP_EC_WARM_RESET_REQ",
423                           "PEN_RESET_L",
424                           /*
425                            * AP_FLASH_WP_L is crossystem ABI. Schematics call
426                            * it AP_FLASH_WP_R_ODL.
427                            */
428                           "AP_FLASH_WP_L";
429 };
430 
431 &gpio1 {
432         gpio-line-names = /* GPIO1 A 0-7 */
433                           "PEN_INT_ODL",
434                           "PEN_EJECT_ODL",
435                           "BT_HOST_WAKE_1V8_L",
436                           "WLAN_HOST_WAKE_1V8_L",
437                           "TOUCH_INT_ODL",
438                           "AP_EC_S3_S0_L",
439                           "AP_EC_OVERTEMP",
440                           "AP_SPI_FLASH_MISO",
441 
442                           /* GPIO1 B 0-7 */
443                           "AP_SPI_FLASH_MOSI_R",
444                           "AP_SPI_FLASH_CLK_R",
445                           "AP_SPI_FLASH_CS_L_R",
446                           "SD_CARD_DET_ODL",
447                           "",
448                           "AP_EXPANSION_IO1",
449                           "AP_EXPANSION_IO2",
450                           "AP_I2C_DISP_SDA",
451 
452                           /* GPIO1 C 0-7 */
453                           "AP_I2C_DISP_SCL",
454                           "H1_INT_ODL",
455                           "EC_AP_INT_ODL",
456                           "LITCPU_DVS_PWM",
457                           "AP_I2C_AUDIO_SDA",
458                           "AP_I2C_AUDIO_SCL",
459                           "AP_EXPANSION_IO3",
460                           "HEADSET_INT_ODL",
461 
462                           /* GPIO1 D0 */
463                           "AP_EXPANSION_IO4";
464 };
465 
466 &gpio2 {
467         gpio-line-names = /* GPIO2 A 0-7 */
468                           "AP_I2C_PEN_SDA",
469                           "AP_I2C_PEN_SCL",
470                           "SD_IO_PWR_EN",
471                           "UCAM_RST_L",
472                           "PP1250_CAM_EN",
473                           "WCAM_RST_L",
474                           "AP_EXPANSION_IO5",
475                           "AP_I2C_CAM_SDA",
476 
477                           /* GPIO2 B 0-7 */
478                           "AP_I2C_CAM_SCL",
479                           "AP_H1_SPI_MISO",
480                           "AP_H1_SPI_MOSI",
481                           "AP_H1_SPI_CLK",
482                           "AP_H1_SPI_CS_L",
483                           "",
484                           "",
485                           "",
486 
487                           /* GPIO2 C 0-7 */
488                           "UART_EXPANSION_TX_AP_RX",
489                           "UART_AP_TX_EXPANSION_RX",
490                           "UART_EXPANSION_RTS_AP_CTS",
491                           "UART_AP_RTS_EXPANSION_CTS",
492                           "AP_SPI_EC_MISO",
493                           "AP_SPI_EC_MOSI",
494                           "AP_SPI_EC_CLK",
495                           "AP_SPI_EC_CS_L",
496 
497                           /* GPIO2 D 0-4 */
498                           "PP2800_CAM_EN",
499                           "CLK_24M_CAM",
500                           "WLAN_PCIE_CLKREQ_1V8_L",
501                           "",
502                           "SD_PWR_3000_1800_L";
503 };
504 
505 &gpio3 {
506         gpio-line-names = /* GPIO3 A 0-7 */
507                           "",
508                           "",
509                           "",
510                           "",
511                           "",
512                           "",
513                           "",
514                           "",
515 
516                           /* GPIO3 B 0-7 */
517                           "",
518                           "",
519                           "",
520                           "",
521                           "",
522                           "",
523                           "",
524                           "",
525 
526                           /* GPIO3 C 0-7 */
527                           "",
528                           "",
529                           "",
530                           "",
531                           "",
532                           "",
533                           "",
534                           "",
535 
536                           /* GPIO3 D 0-7 */
537                           "I2S0_SCLK",
538                           "I2S0_LRCK_RX",
539                           "I2S0_LRCK_TX",
540                           "I2S0_SDI_0",
541                           "STRAP_LCDBIAS_L",
542                           "STRAP_FEATURE_1",
543                           "STRAP_FEATURE_2",
544                           "I2S0_SDO_0";
545 };
546 
547 &gpio4 {
548         gpio-line-names = /* GPIO4 A 0-7 */
549                           "I2S_MCLK",
550                           "AP_I2C_EXPANSION_SDA",
551                           "AP_I2C_EXPANSION_SCL",
552                           "DMIC_EN",
553                           "",
554                           "",
555                           "",
556                           "",
557 
558                           /* GPIO4 B 0-7 */
559                           "",
560                           "",
561                           "",
562                           "",
563                           "",
564                           "",
565                           "",
566                           "",
567 
568                           /* GPIO4 C 0-7 */
569                           "AP_I2C_TS_SDA",
570                           "AP_I2C_TS_SCL",
571                           "GPU_DVS_PWM",
572                           "UART_DBG_TX_AP_RX",
573                           "UART_AP_TX_DBG_RX",
574                           "BL_EN",
575                           "BL_PWM",
576                           "",
577 
578                           /* GPIO4 D 0-5 */
579                           "",
580                           "DISPLAY_RST_L",
581                           "",
582                           "PPVARP_LCD_EN",
583                           "PPVARN_LCD_EN",
584                           "SD_SLOT_PWR_EN";
585 };
586 
587 &i2c_tunnel {
588         google,remote-bus = <0>;
589 };
590 
591 &io_domains {
592         bt656-supply = <&pp1800_s0>;            /* APIO2_VDD;  2a 2b */
593         audio-supply = <&pp1800_s0>;            /* APIO5_VDD;  3d 4a */
594         gpio1830-supply = <&pp1800_s0>;         /* APIO4_VDD;  4c 4d */
595 };
596 
597 &isp0 {
598         status = "okay";
599 
600         ports {
601                 port@0 {
602                         mipi_in_wcam: endpoint@0 {
603                                 reg = <0>;
604                                 remote-endpoint = <&wcam_out>;
605                                 data-lanes = <1 2>;
606                         };
607 
608                         mipi_in_ucam: endpoint@1 {
609                                 reg = <1>;
610                                 remote-endpoint = <&ucam_out>;
611                                 data-lanes = <1>;
612                         };
613                 };
614         };
615 };
616 
617 &isp0_mmu {
618         status = "okay";
619 };
620 
621 &max98357a {
622         sdmode-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
623 };
624 
625 &mipi_dphy_rx0 {
626         status = "okay";
627 };
628 
629 &mipi_dsi {
630         status = "okay";
631         clock-master;
632 
633         ports {
634                 mipi_out: port@1 {
635                         reg = <1>;
636 
637                         mipi_out_panel: endpoint {
638                                 remote-endpoint = <&mipi_in_panel>;
639                         };
640                 };
641         };
642 
643         mipi_panel: panel@0 {
644                 /* 2 different panels are used, compatibles are in dts files */
645                 reg = <0>;
646                 backlight = <&backlight>;
647                 enable-gpios = <&gpio4 25 GPIO_ACTIVE_HIGH>;
648                 pinctrl-names = "default";
649                 pinctrl-0 = <&display_rst_l>;
650 
651                 ports {
652                         #address-cells = <1>;
653                         #size-cells = <0>;
654 
655                         port@0 {
656                                 reg = <0>;
657 
658                                 mipi_in_panel: endpoint {
659                                         remote-endpoint = <&mipi_out_panel>;
660                                 };
661                         };
662 
663                         port@1 {
664                                 reg = <1>;
665 
666                                 mipi1_in_panel: endpoint {
667                                         remote-endpoint = <&mipi1_out_panel>;
668                                 };
669                         };
670                 };
671         };
672 };
673 
674 &mipi_dsi1 {
675         status = "okay";
676 
677         ports {
678                 mipi1_out: port@1 {
679                         reg = <1>;
680 
681                         mipi1_out_panel: endpoint {
682                                 remote-endpoint = <&mipi1_in_panel>;
683                         };
684                 };
685         };
686 };
687 
688 &pcie0 {
689         ep-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
690 
691         /* PERST# asserted in S3 */
692 
693         vpcie3v3-supply = <&wlan_3v3>;
694         vpcie1v8-supply = <&pp1800_pcie>;
695 };
696 
697 &sdmmc {
698         cd-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
699 };
700 
701 &sound {
702         rockchip,codec = <&max98357a &dmic &codec &cdn_dp>;
703 };
704 
705 &spi2 {
706         status = "okay";
707 
708         tpm@0 {
709                 compatible = "google,cr50";
710                 reg = <0>;
711                 interrupt-parent = <&gpio1>;
712                 interrupts = <17 IRQ_TYPE_EDGE_RISING>;
713                 pinctrl-names = "default";
714                 pinctrl-0 = <&h1_int_od_l>;
715                 spi-max-frequency = <800000>;
716         };
717 };
718 
719 &usb_host0_ohci {
720         #address-cells = <1>;
721         #size-cells = <0>;
722 
723         qca_bt: bluetooth@1 {
724                 compatible = "usbcf3,e300", "usb4ca,301a";
725                 reg = <1>;
726                 pinctrl-names = "default";
727                 pinctrl-0 = <&bt_host_wake_l>;
728                 interrupt-parent = <&gpio1>;
729                 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
730                 interrupt-names = "wakeup";
731         };
732 };
733 
734 /* PINCTRL OVERRIDES */
735 &ap_fw_wp {
736         rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
737 };
738 
739 &bl_en {
740         rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
741 };
742 
743 &bt_host_wake_l {
744         rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
745 };
746 
747 &ec_ap_int_l {
748         rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>;
749 };
750 
751 &headset_int_l {
752         rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
753 };
754 
755 &i2s0_8ch_bus {
756         rockchip,pins =
757                 <3 RK_PD0 1 &pcfg_pull_none_6ma>,
758                 <3 RK_PD1 1 &pcfg_pull_none_6ma>,
759                 <3 RK_PD2 1 &pcfg_pull_none_6ma>,
760                 <3 RK_PD3 1 &pcfg_pull_none_6ma>,
761                 <3 RK_PD7 1 &pcfg_pull_none_6ma>,
762                 <4 RK_PA0 1 &pcfg_pull_none_6ma>;
763 };
764 
765 &i2s0_8ch_bus_bclk_off {
766         rockchip,pins =
767                 <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none_6ma>,
768                 <3 RK_PD1 1 &pcfg_pull_none_6ma>,
769                 <3 RK_PD2 1 &pcfg_pull_none_6ma>,
770                 <3 RK_PD3 1 &pcfg_pull_none_6ma>,
771                 <3 RK_PD7 1 &pcfg_pull_none_6ma>,
772                 <4 RK_PA0 1 &pcfg_pull_none_6ma>;
773 };
774 
775 /* there is no external pull up, so need to set this pin pull up */
776 &sdmmc_cd_pin {
777         rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>;
778 };
779 
780 &sd_pwr_1800_sel {
781         rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
782 };
783 
784 &sdmode_en {
785         rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_down>;
786 };
787 
788 &touch_reset_l {
789         rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
790 };
791 
792 &touch_int_l {
793         rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
794 };
795 
796 &pinctrl {
797         pinctrl-0 = <
798                 &ap_pwroff      /* AP will auto-assert this when in S3 */
799                 &clk_32k        /* This pin is always 32k on gru boards */
800                 &wlan_rf_kill_1v8_l
801         >;
802 
803         pcfg_pull_none_6ma: pcfg-pull-none-6ma {
804                 bias-disable;
805                 drive-strength = <6>;
806         };
807 
808         camera {
809                 pp1250_cam_en: pp1250-dvdd {
810                         rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
811                 };
812 
813                 pp2800_cam_en: pp2800-avdd {
814                         rockchip,pins = <2 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
815                 };
816 
817                 ucam_rst: ucam_rst {
818                         rockchip,pins = <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
819                 };
820 
821                 wcam_rst: wcam_rst {
822                         rockchip,pins = <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
823                 };
824         };
825 
826         digitizer {
827                 pen_int_odl: pen-int-odl {
828                         rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
829                 };
830 
831                 pen_reset_l: pen-reset-l {
832                         rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
833                 };
834         };
835 
836         discrete-regulators {
837                 display_rst_l: display-rst-l {
838                         rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_down>;
839                 };
840 
841                 ppvarp_lcd_en: ppvarp-lcd-en {
842                         rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
843                 };
844 
845                 ppvarn_lcd_en: ppvarn-lcd-en {
846                         rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
847                 };
848         };
849 
850         dmic {
851                 dmic_en: dmic-en {
852                         rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
853                 };
854         };
855 
856         pen {
857                 pen_eject_odl: pen-eject-odl {
858                         rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
859                 };
860         };
861 
862         tpm {
863                 h1_int_od_l: h1-int-od-l {
864                         rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
865                 };
866         };
867 };
868 
869 &wifi {
870         bt_en_1v8_l: bt-en-1v8-l {
871                 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
872         };
873 
874         wlan_pd_1v8_l: wlan-pd-1v8-l {
875                 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
876         };
877 
878         /* Default pull-up, but just to be clear */
879         wlan_rf_kill_1v8_l: wlan-rf-kill-1v8-l {
880                 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
881         };
882 
883         wifi_perst_l: wifi-perst-l {
884                 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
885         };
886 
887         wlan_host_wake_l: wlan-host-wake-l {
888                 rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
889         };
890 };

~ [ 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