The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm64/qcom/sc7180-trogdor.dtsi

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
    2 /*
    3  * Google Trogdor device tree source (common between revisions)
    4  *
    5  * Copyright 2019 Google LLC.
    6  */
    7 
    8 #include <dt-bindings/gpio/gpio.h>
    9 #include <dt-bindings/input/gpio-keys.h>
   10 #include <dt-bindings/input/input.h>
   11 #include <dt-bindings/leds/common.h>
   12 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
   13 #include <dt-bindings/sound/sc7180-lpass.h>
   14 
   15 #include "sc7180.dtsi"
   16 /* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */
   17 #include "pm6150.dtsi"
   18 #include "pm6150l.dtsi"
   19 
   20 / {
   21         thermal-zones {
   22                 charger_thermal: charger-thermal {
   23                         polling-delay-passive = <0>;
   24                         polling-delay = <0>;
   25 
   26                         thermal-sensors = <&pm6150_adc_tm 0>;
   27 
   28                         trips {
   29                                 charger-crit {
   30                                         temperature = <125000>;
   31                                         hysteresis = <1000>;
   32                                         type = "critical";
   33                                 };
   34                         };
   35                 };
   36         };
   37 };
   38 
   39 /*
   40  * Reserved memory changes
   41  *
   42  * Delete all unused memory nodes and define the peripheral memory regions
   43  * required by the board dts.
   44  */
   45 
   46 /delete-node/ &hyp_mem;
   47 /delete-node/ &ipa_fw_mem;
   48 /delete-node/ &xbl_mem;
   49 /delete-node/ &aop_mem;
   50 /delete-node/ &sec_apps_mem;
   51 /delete-node/ &tz_mem;
   52 
   53 /* Increase the size from 2MB to 8MB */
   54 &rmtfs_mem {
   55         reg = <0x0 0x94600000 0x0 0x800000>;
   56 };
   57 
   58 / {
   59         reserved-memory {
   60                 atf_mem: memory@80b00000 {
   61                         reg = <0x0 0x80b00000 0x0 0x100000>;
   62                         no-map;
   63                 };
   64 
   65                 mpss_mem: memory@86000000 {
   66                         reg = <0x0 0x86000000 0x0 0x2000000>;
   67                         no-map;
   68                 };
   69 
   70                 venus_mem: memory@8f600000 {
   71                         reg = <0 0x8f600000 0 0x500000>;
   72                         no-map;
   73                 };
   74 
   75                 wlan_mem: memory@94100000 {
   76                         reg = <0x0 0x94100000 0x0 0x200000>;
   77                         no-map;
   78                 };
   79 
   80                 mba_mem: memory@94400000 {
   81                         reg = <0x0 0x94400000 0x0 0x200000>;
   82                         no-map;
   83                 };
   84         };
   85 
   86         aliases {
   87                 bluetooth0 = &bluetooth;
   88                 hsuart0 = &uart3;
   89                 serial0 = &uart8;
   90                 wifi0 = &wifi;
   91         };
   92 
   93         chosen {
   94                 stdout-path = "serial0:115200n8";
   95         };
   96 
   97         /* FIXED REGULATORS - parents above children */
   98 
   99         /* This is the top level supply and variable voltage */
  100         ppvar_sys: ppvar-sys-regulator {
  101                 compatible = "regulator-fixed";
  102                 regulator-name = "ppvar_sys";
  103                 regulator-always-on;
  104                 regulator-boot-on;
  105         };
  106 
  107         /* This divides ppvar_sys by 2, so voltage is variable */
  108         src_vph_pwr: src-vph-pwr-regulator {
  109                 compatible = "regulator-fixed";
  110                 regulator-name = "src_vph_pwr";
  111 
  112                 /* EC turns on with switchcap_on; always on for AP */
  113                 regulator-always-on;
  114                 regulator-boot-on;
  115 
  116                 vin-supply = <&ppvar_sys>;
  117         };
  118 
  119         pp5000_a: pp5000-a-regulator {
  120                 compatible = "regulator-fixed";
  121                 regulator-name = "pp5000_a";
  122 
  123                 /* EC turns on with en_pp5000_a; always on for AP */
  124                 regulator-always-on;
  125                 regulator-boot-on;
  126                 regulator-min-microvolt = <5000000>;
  127                 regulator-max-microvolt = <5000000>;
  128 
  129                 vin-supply = <&ppvar_sys>;
  130         };
  131 
  132         pp3300_a: pp3300-a-regulator {
  133                 compatible = "regulator-fixed";
  134                 regulator-name = "pp3300_a";
  135 
  136                 /* EC turns on with en_pp3300_a; always on for AP */
  137                 regulator-always-on;
  138                 regulator-boot-on;
  139                 regulator-min-microvolt = <3300000>;
  140                 regulator-max-microvolt = <3300000>;
  141 
  142                 /*
  143                  * Actually should be pp3300 but that's practically an alias for
  144                  * pp3300_a so we use pp3300's vin-supply here to avoid one more
  145                  * node.
  146                  */
  147                 vin-supply = <&ppvar_sys>;
  148         };
  149 
  150         pp1800_ec:
  151         pp1800_sensors:
  152         pp1800_ldo: pp1800-ldo-regulator {
  153                 compatible = "regulator-fixed";
  154                 regulator-name = "pp1800_ldo";
  155 
  156                 /* EC turns on with hibernate_l; always on for AP */
  157                 regulator-always-on;
  158                 regulator-boot-on;
  159                 regulator-min-microvolt = <1800000>;
  160                 regulator-max-microvolt = <1800000>;
  161 
  162                 /*
  163                  * Actually should be pp1800_h1 but we don't have any need to
  164                  * model that so we use the parent of pp1800_h1.
  165                  */
  166                 vin-supply = <&pp3300_a>;
  167         };
  168 
  169         pp1800_uf_cam: pp1800-uf-cam-regulator {
  170                 compatible = "regulator-fixed";
  171                 regulator-name = "pp1800_uf_cam";
  172                 status = "disabled";
  173 
  174                 regulator-min-microvolt = <1800000>;
  175                 regulator-max-microvolt = <1800000>;
  176 
  177                 gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
  178                 enable-active-high;
  179                 pinctrl-names = "default";
  180                 pinctrl-0 = <&uf_cam_en>;
  181 
  182                 vin-supply = <&pp1800_ldo>;
  183                 regulator-enable-ramp-delay = <1000>;
  184         };
  185 
  186         pp1800_wf_cam: pp1800-wf-cam-regulator {
  187                 compatible = "regulator-fixed";
  188                 regulator-name = "pp1800_wf_cam";
  189                 status = "disabled";
  190 
  191                 regulator-min-microvolt = <1800000>;
  192                 regulator-max-microvolt = <1800000>;
  193 
  194                 gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
  195                 enable-active-high;
  196                 pinctrl-names = "default";
  197                 pinctrl-0 = <&wf_cam_en>;
  198 
  199                 vin-supply = <&pp1800_ldo>;
  200                 regulator-enable-ramp-delay = <1000>;
  201         };
  202 
  203         pp2800_uf_cam: pp2800-uf-cam-regulator {
  204                 compatible = "regulator-fixed";
  205                 regulator-name = "pp2800_uf_cam";
  206                 status = "disabled";
  207 
  208                 regulator-min-microvolt = <2850000>;
  209                 regulator-max-microvolt = <2850000>;
  210 
  211                 gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
  212                 enable-active-high;
  213                 /*
  214                  * The pinconf can only be referenced once so we put it on the
  215                  * first regulator and comment it out here.
  216                  * pinctrl-names = "default";
  217                  * pinctrl-0 = <&uf_cam_en>;
  218                  */
  219 
  220                 vin-supply = <&pp3300_a>;
  221         };
  222 
  223         pp2800_vcm_wf_cam:
  224         pp2800_wf_cam: pp2800-wf-cam-regulator {
  225                 compatible = "regulator-fixed";
  226                 regulator-name = "pp2800_wf_cam";
  227                 status = "disabled";
  228 
  229                 regulator-min-microvolt = <2850000>;
  230                 regulator-max-microvolt = <2850000>;
  231 
  232                 gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
  233                 enable-active-high;
  234                 /*
  235                  * The pinconf can only be referenced once so we put it on the
  236                  * first regulator and comment it out here.
  237                  * pinctrl-names = "default";
  238                  * pinctrl-0 = <&wf_cam_en>;
  239                  */
  240 
  241                 vin-supply = <&pp3300_a>;
  242         };
  243 
  244         pp3300_audio:
  245         pp3300_codec: pp3300-codec-regulator {
  246                 compatible = "regulator-fixed";
  247                 regulator-name = "pp3300_codec";
  248 
  249                 regulator-min-microvolt = <3300000>;
  250                 regulator-max-microvolt = <3300000>;
  251 
  252                 gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
  253                 enable-active-high;
  254                 pinctrl-names = "default";
  255                 pinctrl-0 = <&en_pp3300_codec>;
  256 
  257                 vin-supply = <&pp3300_a>;
  258         };
  259 
  260         pp3300_dx_edp:
  261         pp3300_ts: pp3300-dx-edp-regulator {
  262                 compatible = "regulator-fixed";
  263                 regulator-name = "pp3300_dx_edp";
  264 
  265                 regulator-min-microvolt = <3300000>;
  266                 regulator-max-microvolt = <3300000>;
  267 
  268                 gpio = <&tlmm 30 GPIO_ACTIVE_HIGH>;
  269                 enable-active-high;
  270                 pinctrl-names = "default";
  271                 pinctrl-0 = <&en_pp3300_dx_edp>;
  272 
  273                 vin-supply = <&pp3300_a>;
  274         };
  275 
  276         pp3300_fp_tp: pp3300-fp-tp-regulator {
  277                 compatible = "regulator-fixed";
  278                 regulator-name = "pp3300_fp_tp";
  279 
  280                 regulator-min-microvolt = <3300000>;
  281                 regulator-max-microvolt = <3300000>;
  282 
  283                 /* AP turns on with PP1800_VIO_OUT; always on for AP */
  284                 regulator-always-on;
  285                 regulator-boot-on;
  286 
  287                 vin-supply = <&pp3300_a>;
  288         };
  289 
  290         pp3300_hub: pp3300-hub-regulator {
  291                 compatible = "regulator-fixed";
  292                 regulator-name = "pp3300_hub";
  293 
  294                 regulator-min-microvolt = <3300000>;
  295                 regulator-max-microvolt = <3300000>;
  296 
  297                 gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
  298                 enable-active-high;
  299                 pinctrl-names = "default";
  300                 pinctrl-0 = <&en_pp3300_hub>;
  301 
  302                 regulator-always-on;
  303                 regulator-boot-on;
  304 
  305                 vin-supply = <&pp3300_a>;
  306         };
  307 
  308         /* BOARD-SPECIFIC TOP LEVEL NODES */
  309 
  310         backlight: backlight {
  311                 compatible = "pwm-backlight";
  312 
  313                 /* The panels don't seem to like anything below ~ 5% */
  314                 brightness-levels = <
  315                         196 256 324 400 484 576 676 784 900 1024 1156 1296
  316                         1444 1600 1764 1936 2116 2304 2500 2704 2916 3136
  317                         3364 3600 3844 4096
  318                 >;
  319                 num-interpolated-steps = <64>;
  320                 default-brightness-level = <951>;
  321 
  322                 pwms = <&cros_ec_pwm 1>;
  323                 enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
  324                 power-supply = <&ppvar_sys>;
  325                 pinctrl-names = "default";
  326                 pinctrl-0 = <&ap_edp_bklten>;
  327         };
  328 
  329         gpio_keys: gpio-keys {
  330                 compatible = "gpio-keys";
  331                 status = "disabled";
  332                 pinctrl-names = "default";
  333                 pinctrl-0 = <&pen_pdct_l>;
  334 
  335                 pen_insert: switch-pen-insert {
  336                         label = "Pen Insert";
  337 
  338                         /* Insert = low, eject = high */
  339                         gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
  340                         linux,code = <SW_PEN_INSERTED>;
  341                         linux,input-type = <EV_SW>;
  342                         wakeup-event-action = <EV_ACT_DEASSERTED>;
  343                         wakeup-source;
  344                 };
  345         };
  346 
  347         max98360a: audio-codec-0 {
  348                 compatible = "maxim,max98360a";
  349                 pinctrl-names = "default";
  350                 pinctrl-0 = <&amp_en>;
  351                 sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
  352                 #sound-dai-cells = <0>;
  353         };
  354 
  355         pwmleds {
  356                 compatible = "pwm-leds";
  357                 keyboard_backlight: keyboard-backlight {
  358                         status = "disabled";
  359                         label = "cros_ec::kbd_backlight";
  360                         function = LED_FUNCTION_KBD_BACKLIGHT;
  361                         pwms = <&cros_ec_pwm 0>;
  362                         max-brightness = <1023>;
  363                 };
  364         };
  365 
  366         sound: sound {
  367                 compatible = "google,sc7180-trogdor";
  368                 model = "sc7180-rt5682-max98357a-1mic";
  369 
  370                 audio-routing =
  371                         "Headphone Jack", "HPOL",
  372                         "Headphone Jack", "HPOR";
  373 
  374                 #address-cells = <1>;
  375                 #size-cells = <0>;
  376 
  377                 dai-link@0 {
  378                         link-name = "MultiMedia0";
  379                         reg = <MI2S_PRIMARY>;
  380                         cpu {
  381                                 sound-dai = <&lpass_cpu MI2S_PRIMARY>;
  382                         };
  383 
  384                         sound_multimedia0_codec: codec {
  385                                 sound-dai = <&alc5682 0 /* aif1 */>;
  386                         };
  387                 };
  388 
  389                 dai-link@1 {
  390                         link-name = "MultiMedia1";
  391                         reg = <MI2S_SECONDARY>;
  392                         cpu {
  393                                 sound-dai = <&lpass_cpu MI2S_SECONDARY>;
  394                         };
  395 
  396                         sound_multimedia1_codec: codec {
  397                                 sound-dai = <&max98360a>;
  398                         };
  399                 };
  400 
  401                 dai-link@5 {
  402                         link-name = "MultiMedia2";
  403                         reg = <LPASS_DP_RX>;
  404                         cpu {
  405                                 sound-dai = <&lpass_cpu LPASS_DP_RX>;
  406                         };
  407 
  408                         codec {
  409                                 sound-dai = <&mdss_dp>;
  410                         };
  411                 };
  412         };
  413 };
  414 
  415 &qfprom {
  416         vcc-supply = <&pp1800_l11a>;
  417 };
  418 
  419 &qspi {
  420         status = "okay";
  421         pinctrl-names = "default";
  422         pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data01>;
  423 
  424         flash@0 {
  425                 compatible = "jedec,spi-nor";
  426                 reg = <0>;
  427 
  428                 spi-max-frequency = <37500000>;
  429                 spi-tx-bus-width = <2>;
  430                 spi-rx-bus-width = <2>;
  431         };
  432 };
  433 
  434 &apps_rsc {
  435         pm6150-rpmh-regulators {
  436                 compatible = "qcom,pm6150-rpmh-regulators";
  437                 qcom,pmic-id = "a";
  438 
  439                 vddpx_1:
  440                 vdd2:
  441                 pp1125_s1a: smps1 {
  442                         regulator-min-microvolt = <1128000>;
  443                         regulator-max-microvolt = <1128000>;
  444                 };
  445 
  446                 vdd_qlink_lv:
  447                 vdd_qlink_lv_ck:
  448                 vdd_qusb_hs0_core:
  449                 vdd_ufs1_core:
  450                 vdda_mipi_csi0_0p9:
  451                 vdda_mipi_csi1_0p9:
  452                 vdda_mipi_csi2_0p9:
  453                 vdda_mipi_csi3_0p9:
  454                 vdda_mipi_dsi0_pll:
  455                 vdda_pll_cc_ebi01:
  456                 vdda_qrefs_0p9:
  457                 vdda_usb_ss_dp_core:
  458                 pp900_l4a: ldo4 {
  459                         regulator-min-microvolt = <824000>;
  460                         regulator-max-microvolt = <928000>;
  461                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  462                 };
  463 
  464                 vdd_cx_wlan:
  465                 pp800_l9a: ldo9 {
  466                         regulator-min-microvolt = <488000>;
  467                         regulator-max-microvolt = <800000>;
  468                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  469                 };
  470 
  471                 vdd1:
  472                 vddpx_3:
  473                 vddpx_7:
  474                 vio_in:
  475                 pp1800_l10a: ldo10 {
  476                         regulator-min-microvolt = <1800000>;
  477                         regulator-max-microvolt = <1800000>;
  478                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  479                 };
  480 
  481                 vdd_qfprom:
  482                 vdda_apc1_cs_1p8:
  483                 vdda_qrefs_1p8:
  484                 vdda_qusb_hs0_1p8:
  485                 vddpx_11:
  486                 vreg_bb_clk:
  487                 pp1800_l11a: ldo11 {
  488                         regulator-min-microvolt = <1800000>;
  489                         regulator-max-microvolt = <1800000>;
  490                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  491                 };
  492 
  493                 mcp_vccq:
  494                 pp1800_l12a_r: ldo12 {
  495                         regulator-min-microvolt = <1800000>;
  496                         regulator-max-microvolt = <1800000>;
  497                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  498                 };
  499 
  500                 /*
  501                  * On trogdor this needs to match l10a since we use it to
  502                  * give power to things like SPI flash which communicate back
  503                  * on lines powered by l10a.  Thus we force to 1.8V.
  504                  */
  505                 pp1800_l13a: ldo13 {
  506                         regulator-min-microvolt = <1800000>;
  507                         regulator-max-microvolt = <1800000>;
  508                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  509                 };
  510 
  511                 pp1800_prox:
  512                 pp1800_l14a: ldo14 {
  513                         regulator-min-microvolt = <1800000>;
  514                         regulator-max-microvolt = <1800000>;
  515                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  516                 };
  517 
  518                 pp1800_alc5682:
  519                 pp1800_l15a: ldo15 {
  520                         regulator-min-microvolt = <1800000>;
  521                         regulator-max-microvolt = <1800000>;
  522                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  523                 };
  524 
  525                 vdda_qusb_hs0_3p1:
  526                 vdd_pdphy:
  527                 pp3100_l17a: ldo17 {
  528                         regulator-min-microvolt = <2920000>;
  529                         regulator-max-microvolt = <3232000>;
  530                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  531                 };
  532 
  533                 pp1800_pen:
  534                 pp1800_l18a: ldo18 {
  535                         regulator-min-microvolt = <1800000>;
  536                         regulator-max-microvolt = <1800000>;
  537                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  538                 };
  539 
  540                 mcp_vcc:
  541                 pp2850_l19a: ldo19 {
  542                         regulator-min-microvolt = <2960000>;
  543                         regulator-max-microvolt = <2960000>;
  544                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  545                 };
  546         };
  547 
  548         pm6150l-rpmh-regulators {
  549                 compatible = "qcom,pm6150l-rpmh-regulators";
  550                 qcom,pmic-id = "c";
  551 
  552                 pp1300_s8c: smps8 {
  553                         regulator-min-microvolt = <1120000>;
  554                         regulator-max-microvolt = <1408000>;
  555                 };
  556 
  557                 pp1800_l1c: ldo1 {
  558                         regulator-min-microvolt = <1616000>;
  559                         regulator-max-microvolt = <1984000>;
  560                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  561                 };
  562 
  563                 vdd_wcss_adc_dac:
  564                 pp1300_l2c: ldo2 {
  565                         regulator-min-microvolt = <1168000>;
  566                         regulator-max-microvolt = <1304000>;
  567                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  568                 };
  569 
  570                 pp1200_brij:
  571                 vdd_ufs1_1p2:
  572                 vdda_csi0_1p25:
  573                 vdda_csi1_1p25:
  574                 vdda_csi2_1p25:
  575                 vdda_csi3_1p25:
  576                 vdda_hv_ebi0:
  577                 vdda_mipi_dsi0_1p2:
  578                 vdda_usb_ss_dp_1p2:
  579                 vddpx_10:
  580                 pp1200_l3c: ldo3 {
  581                         regulator-min-microvolt = <1200000>;
  582                         regulator-max-microvolt = <1200000>;
  583                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  584                 };
  585 
  586                 vddpx_2:
  587                 ppvar_l6c: ldo6 {
  588                         regulator-min-microvolt = <1800000>;
  589                         regulator-max-microvolt = <2952000>;
  590                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  591                 };
  592 
  593                 pp3300_l7c: ldo7 {
  594                         regulator-min-microvolt = <3304000>;
  595                         regulator-max-microvolt = <3304000>;
  596                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  597                 };
  598 
  599                 pp1800_brij_vccio:
  600                 pp1800_edp_vpll:
  601                 pp1800_l8c: ldo8 {
  602                         regulator-min-microvolt = <1800000>;
  603                         regulator-max-microvolt = <1800000>;
  604                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  605                 };
  606 
  607                 pp2950_l9c: ldo9 {
  608                         regulator-min-microvolt = <2952000>;
  609                         regulator-max-microvolt = <2952000>;
  610                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  611                 };
  612 
  613                 pp3300_l10c: ldo10 {
  614                         regulator-min-microvolt = <3000000>;
  615                         regulator-max-microvolt = <3400000>;
  616                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  617                 };
  618 
  619                 pp3300_l11c: ldo11 {
  620                         regulator-min-microvolt = <3000000>;
  621                         regulator-max-microvolt = <3400000>;
  622                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  623                 };
  624 
  625                 src_vreg_bob: bob {
  626                         regulator-min-microvolt = <3008000>;
  627                         regulator-max-microvolt = <3960000>;
  628                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
  629                 };
  630         };
  631 };
  632 
  633 ap_ec_spi: &spi6 {
  634         status = "okay";
  635         cros_ec: ec@0 {
  636                 compatible = "google,cros-ec-spi";
  637                 reg = <0>;
  638                 interrupt-parent = <&tlmm>;
  639                 interrupts = <94 IRQ_TYPE_LEVEL_LOW>;
  640                 pinctrl-names = "default";
  641                 pinctrl-0 = <&ap_ec_int_l>;
  642                 spi-max-frequency = <3000000>;
  643 
  644                 cros_ec_pwm: pwm {
  645                         compatible = "google,cros-ec-pwm";
  646                         #pwm-cells = <1>;
  647                 };
  648 
  649                 i2c_tunnel: i2c-tunnel {
  650                         compatible = "google,cros-ec-i2c-tunnel";
  651                         google,remote-bus = <0>;
  652                         #address-cells = <1>;
  653                         #size-cells = <0>;
  654                 };
  655 
  656                 typec {
  657                         compatible = "google,cros-ec-typec";
  658                         #address-cells = <1>;
  659                         #size-cells = <0>;
  660 
  661                         usb_c0: connector@0 {
  662                                 compatible = "usb-c-connector";
  663                                 reg = <0>;
  664                                 label = "left";
  665                                 power-role = "dual";
  666                                 data-role = "host";
  667                                 try-power-role = "source";
  668                         };
  669 
  670                         usb_c1: connector@1 {
  671                                 compatible = "usb-c-connector";
  672                                 reg = <1>;
  673                                 label = "right";
  674                                 power-role = "dual";
  675                                 data-role = "host";
  676                                 try-power-role = "source";
  677                         };
  678                 };
  679         };
  680 };
  681 
  682 ap_h1_spi: &spi0 {
  683         status = "okay";
  684         cr50: tpm@0 {
  685                 compatible = "google,cr50";
  686                 reg = <0>;
  687                 pinctrl-names = "default";
  688                 pinctrl-0 = <&h1_ap_int_odl>;
  689                 spi-max-frequency = <800000>;
  690                 interrupt-parent = <&tlmm>;
  691                 interrupts = <42 IRQ_TYPE_EDGE_RISING>;
  692         };
  693 };
  694 
  695 &camcc {
  696         status = "disabled";
  697 };
  698 
  699 &dsi0 {
  700         status = "okay";
  701         vdda-supply = <&vdda_mipi_dsi0_1p2>;
  702 };
  703 
  704 &dsi0_out {
  705         data-lanes = <0 1 2 3>;
  706 };
  707 
  708 &dsi_phy {
  709         status = "okay";
  710         vdds-supply = <&vdda_mipi_dsi0_pll>;
  711 };
  712 
  713 ap_sar_sensor_i2c: &i2c5 {
  714         clock-frequency = <400000>;
  715 
  716         ap_sar_sensor: proximity@28 {
  717                 compatible = "semtech,sx9310";
  718                 reg = <0x28>;
  719                 #io-channel-cells = <1>;
  720                 pinctrl-names = "default";
  721                 pinctrl-0 = <&p_sensor_int_l>;
  722 
  723                 interrupt-parent = <&tlmm>;
  724                 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
  725 
  726                 vdd-supply = <&pp3300_a>;
  727                 svdd-supply = <&pp1800_prox>;
  728 
  729                 label = "proximity-wifi";
  730         };
  731 };
  732 
  733 ap_tp_i2c: &i2c7 {
  734         clock-frequency = <400000>;
  735 
  736         trackpad: trackpad@15 {
  737                 compatible = "elan,ekth3000";
  738                 reg = <0x15>;
  739                 pinctrl-names = "default";
  740                 pinctrl-0 = <&tp_int_odl>;
  741 
  742                 interrupt-parent = <&tlmm>;
  743                 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
  744 
  745                 vcc-supply = <&pp3300_fp_tp>;
  746 
  747                 wakeup-source;
  748         };
  749 };
  750 
  751 hp_i2c: &i2c9 {
  752         status = "okay";
  753         clock-frequency = <400000>;
  754 
  755         alc5682: codec@1a {
  756                 compatible = "realtek,rt5682i";
  757                 reg = <0x1a>;
  758                 pinctrl-names = "default";
  759                 pinctrl-0 = <&hp_irq>;
  760 
  761                 #sound-dai-cells = <1>;
  762 
  763                 interrupt-parent = <&tlmm>;
  764                 /*
  765                  * This will get ignored because the interrupt type
  766                  * is set in rt5682.c.
  767                  */
  768                 interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
  769 
  770                 AVDD-supply = <&pp1800_alc5682>;
  771                 MICVDD-supply = <&pp3300_codec>;
  772                 VBAT-supply = <&pp3300_audio>;
  773 
  774                 realtek,dmic1-data-pin = <1>;
  775                 realtek,dmic1-clk-pin = <1>;
  776                 realtek,jd-src = <1>;
  777         };
  778 };
  779 
  780 &lpass_cpu {
  781         status = "okay";
  782 
  783         pinctrl-names = "default";
  784         pinctrl-0 = <&sec_mi2s_active>, <&pri_mi2s_active>, <&pri_mi2s_mclk_active>;
  785 
  786         #address-cells = <1>;
  787         #size-cells = <0>;
  788 
  789         mi2s@0 {
  790                 reg = <MI2S_PRIMARY>;
  791                 qcom,playback-sd-lines = <1>;
  792                 qcom,capture-sd-lines = <0>;
  793         };
  794 
  795         secondary_mi2s: mi2s@1 {
  796                 reg = <MI2S_SECONDARY>;
  797                 qcom,playback-sd-lines = <0>;
  798         };
  799 
  800         hdmi@5 {
  801                 reg = <LPASS_DP_RX>;
  802         };
  803 };
  804 
  805 &mdp {
  806         status = "okay";
  807 };
  808 
  809 &mdss {
  810         status = "okay";
  811 };
  812 
  813 &mdss_dp {
  814         status = "okay";
  815         pinctrl-names = "default";
  816         pinctrl-0 = <&dp_hot_plug_det>;
  817         data-lanes = <0 1>;
  818 };
  819 
  820 &pm6150_adc {
  821         charger-thermistor@4f {
  822                 reg = <ADC5_AMUX_THM3_100K_PU>;
  823                 qcom,ratiometric;
  824                 qcom,hw-settle-time = <200>;
  825         };
  826 };
  827 
  828 &pm6150_adc_tm {
  829         status = "okay";
  830 
  831         charger-thermistor@0 {
  832                 reg = <0>;
  833                 io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>;
  834                 qcom,ratiometric;
  835                 qcom,hw-settle-time-us = <200>;
  836         };
  837 };
  838 
  839 &pm6150_pon {
  840         status = "disabled";
  841 };
  842 
  843 &qupv3_id_0 {
  844         status = "okay";
  845 };
  846 
  847 &qupv3_id_1 {
  848         status = "okay";
  849 };
  850 
  851 &remoteproc_mpss {
  852         status = "okay";
  853         compatible = "qcom,sc7180-mss-pil";
  854         iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>;
  855         memory-region = <&mba_mem &mpss_mem>;
  856 
  857         /* This gets overridden for SKUs with LTE support. */
  858         firmware-name = "qcom/sc7180-trogdor/modem-nolte/mba.mbn",
  859                         "qcom/sc7180-trogdor/modem-nolte/qdsp6sw.mbn";
  860 };
  861 
  862 &sdhc_1 {
  863         status = "okay";
  864 
  865         pinctrl-names = "default", "sleep";
  866         pinctrl-0 = <&sdc1_on>;
  867         pinctrl-1 = <&sdc1_off>;
  868         vmmc-supply = <&mcp_vcc>;
  869         vqmmc-supply = <&mcp_vccq>;
  870 };
  871 
  872 &sdhc_2 {
  873         pinctrl-names = "default", "sleep";
  874         pinctrl-0 = <&sdc2_on>;
  875         pinctrl-1 = <&sdc2_off>;
  876         vmmc-supply = <&pp2950_l9c>;
  877         vqmmc-supply = <&ppvar_l6c>;
  878 
  879         cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
  880 };
  881 
  882 &spi0 {
  883         pinctrl-0 = <&qup_spi0_cs_gpio_init_high>, <&qup_spi0_cs_gpio>;
  884         cs-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
  885 };
  886 
  887 &spi6 {
  888         pinctrl-0 = <&qup_spi6_cs_gpio_init_high>, <&qup_spi6_cs_gpio>;
  889         cs-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
  890 };
  891 
  892 ap_spi_fp: &spi10 {
  893         pinctrl-0 = <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>;
  894         cs-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
  895 
  896         cros_ec_fp: ec@0 {
  897                 compatible = "google,cros-ec-spi";
  898                 reg = <0>;
  899                 interrupt-parent = <&tlmm>;
  900                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
  901                 pinctrl-names = "default";
  902                 pinctrl-0 = <&fp_to_ap_irq_l>;
  903                 spi-max-frequency = <3000000>;
  904         };
  905 };
  906 
  907 #include <arm/cros-ec-sbs.dtsi>
  908 
  909 &uart3 {
  910         status = "okay";
  911 
  912         /delete-property/interrupts;
  913         interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
  914                                 <&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
  915 
  916         pinctrl-names = "default", "sleep";
  917         pinctrl-1 = <&qup_uart3_sleep>;
  918 
  919         bluetooth: bluetooth {
  920                 compatible = "qcom,wcn3991-bt";
  921                 vddio-supply = <&pp1800_l10a>;
  922                 vddxo-supply = <&pp1800_l1c>;
  923                 vddrf-supply = <&pp1300_l2c>;
  924                 vddch0-supply = <&pp3300_l10c>;
  925                 max-speed = <3200000>;
  926         };
  927 };
  928 
  929 &uart8 {
  930         status = "okay";
  931 };
  932 
  933 &usb_1 {
  934         status = "okay";
  935 };
  936 
  937 &usb_1_dwc3 {
  938         dr_mode = "host";
  939 };
  940 
  941 &usb_1_hsphy {
  942         status = "okay";
  943         vdd-supply = <&vdd_qusb_hs0_core>;
  944         vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
  945         vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
  946         qcom,imp-res-offset-value = <8>;
  947         qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
  948         qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
  949         qcom,bias-ctrl-value = <0x22>;
  950         qcom,charge-ctrl-value = <3>;
  951         qcom,hsdisc-trim-value = <0>;
  952 };
  953 
  954 &usb_1_qmpphy {
  955         status = "okay";
  956         vdda-phy-supply = <&vdda_usb_ss_dp_1p2>;
  957         vdda-pll-supply = <&vdda_usb_ss_dp_core>;
  958 };
  959 
  960 &venus {
  961         video-firmware {
  962                 iommus = <&apps_smmu 0x0c42 0x0>;
  963         };
  964 };
  965 
  966 &wifi {
  967         status = "okay";
  968         vdd-0.8-cx-mx-supply = <&vdd_cx_wlan>;
  969         vdd-1.8-xo-supply = <&pp1800_l1c>;
  970         vdd-1.3-rfa-supply = <&pp1300_l2c>;
  971         vdd-3.3-ch0-supply = <&pp3300_l10c>;
  972         vdd-3.3-ch1-supply = <&pp3300_l11c>;
  973 
  974         wifi-firmware {
  975                 iommus = <&apps_smmu 0xc2 0x1>;
  976         };
  977 };
  978 
  979 /* PINCTRL - additions to nodes defined in sc7180.dtsi */
  980 
  981 &dp_hot_plug_det {
  982         pinconf {
  983                 pins = "gpio117";
  984                 bias-disable;
  985         };
  986 };
  987 
  988 &pri_mi2s_active {
  989         pinconf {
  990                 pins = "gpio53", "gpio54", "gpio55", "gpio56";
  991                 drive-strength = <2>;
  992                 bias-pull-down;
  993         };
  994 };
  995 
  996 &pri_mi2s_mclk_active {
  997         pinconf {
  998                 pins = "gpio57";
  999                 drive-strength = <2>;
 1000                 bias-pull-down;
 1001         };
 1002 };
 1003 
 1004 &qspi_cs0 {
 1005         pinconf {
 1006                 pins = "gpio68";
 1007                 bias-disable;
 1008         };
 1009 };
 1010 
 1011 &qspi_clk {
 1012         pinconf {
 1013                 pins = "gpio63";
 1014                 drive-strength = <8>;
 1015                 bias-disable;
 1016         };
 1017 };
 1018 
 1019 &qspi_data01 {
 1020         pinconf {
 1021                 pins = "gpio64", "gpio65";
 1022 
 1023                 /* High-Z when no transfers; nice to park the lines */
 1024                 bias-pull-up;
 1025         };
 1026 };
 1027 
 1028 &qup_i2c2_default {
 1029         pinconf {
 1030                 pins = "gpio15", "gpio16";
 1031                 drive-strength = <2>;
 1032 
 1033                 /* Has external pullup */
 1034                 bias-disable;
 1035         };
 1036 };
 1037 
 1038 &qup_i2c4_default {
 1039         pinconf {
 1040                 pins = "gpio115", "gpio116";
 1041                 drive-strength = <2>;
 1042 
 1043                 /* Has external pullup */
 1044                 bias-disable;
 1045         };
 1046 };
 1047 
 1048 &qup_i2c5_default {
 1049         pinconf {
 1050                 pins = "gpio25", "gpio26";
 1051                 drive-strength = <2>;
 1052 
 1053                 /* Has external pullup */
 1054                 bias-disable;
 1055         };
 1056 };
 1057 
 1058 &qup_i2c7_default {
 1059         pinconf {
 1060                 pins = "gpio6", "gpio7";
 1061                 drive-strength = <2>;
 1062 
 1063                 /* Has external pullup */
 1064                 bias-disable;
 1065         };
 1066 };
 1067 
 1068 &qup_i2c9_default {
 1069         pinconf {
 1070                 pins = "gpio46", "gpio47";
 1071                 drive-strength = <2>;
 1072 
 1073                 /* Has external pullup */
 1074                 bias-disable;
 1075         };
 1076 };
 1077 
 1078 &qup_spi0_cs_gpio {
 1079         pinconf {
 1080                 pins = "gpio34", "gpio35", "gpio36", "gpio37";
 1081                 drive-strength = <2>;
 1082                 bias-disable;
 1083         };
 1084 };
 1085 
 1086 &qup_spi6_cs_gpio {
 1087         pinconf {
 1088                 pins = "gpio59", "gpio60", "gpio61", "gpio62";
 1089                 drive-strength = <2>;
 1090                 bias-disable;
 1091         };
 1092 };
 1093 
 1094 &qup_spi10_cs_gpio {
 1095         pinconf {
 1096                 pins = "gpio86", "gpio87", "gpio88", "gpio89";
 1097                 drive-strength = <2>;
 1098                 bias-disable;
 1099         };
 1100 };
 1101 
 1102 &qup_uart3_default {
 1103         pinconf-cts {
 1104                 /*
 1105                  * Configure a pull-down on CTS to match the pull of
 1106                  * the Bluetooth module.
 1107                  */
 1108                 pins = "gpio38";
 1109                 bias-pull-down;
 1110         };
 1111 
 1112         pinconf-rts-tx {
 1113                 /* We'll drive RTS and TX, so no pull */
 1114                 pins = "gpio39", "gpio40";
 1115                 drive-strength = <2>;
 1116                 bias-disable;
 1117         };
 1118 
 1119         pinconf-rx {
 1120                 /*
 1121                  * Configure a pull-up on RX. This is needed to avoid
 1122                  * garbage data when the TX pin of the Bluetooth module is
 1123                  * in tri-state (module powered off or not driving the
 1124                  * signal yet).
 1125                  */
 1126                 pins = "gpio41";
 1127                 bias-pull-up;
 1128         };
 1129 };
 1130 
 1131 &qup_uart8_default {
 1132         pinconf-tx {
 1133                 pins = "gpio44";
 1134                 drive-strength = <2>;
 1135                 bias-disable;
 1136         };
 1137 
 1138         pinconf-rx {
 1139                 pins = "gpio45";
 1140                 drive-strength = <2>;
 1141                 bias-pull-up;
 1142         };
 1143 };
 1144 
 1145 &sec_mi2s_active {
 1146         pinconf {
 1147                 pins = "gpio49", "gpio50", "gpio51";
 1148                 drive-strength = <2>;
 1149                 bias-pull-down;
 1150         };
 1151 };
 1152 
 1153 /* PINCTRL - board-specific pinctrl */
 1154 
 1155 &pm6150_gpio {
 1156         status = "disabled"; /* No GPIOs are connected */
 1157 };
 1158 
 1159 &pm6150l_gpio {
 1160         gpio-line-names = "AP_SUSPEND",
 1161                           "",
 1162                           "",
 1163                           "",
 1164                           "",
 1165                           "",
 1166                           "",
 1167                           "",
 1168                           "",
 1169                           "",
 1170                           "",
 1171                           "";
 1172 };
 1173 
 1174 &tlmm {
 1175         /*
 1176          * pinctrl settings for pins that have no real owners.
 1177          */
 1178         pinctrl-names = "default";
 1179         pinctrl-0 = <&bios_flash_wp_l>, <&ap_suspend_l_neuter>;
 1180 
 1181         amp_en: amp-en {
 1182                 pinmux {
 1183                         pins = "gpio23";
 1184                         function = "gpio";
 1185                 };
 1186 
 1187                 pinconf {
 1188                         pins = "gpio23";
 1189                         bias-pull-down;
 1190                 };
 1191         };
 1192 
 1193         ap_ec_int_l: ap-ec-int-l {
 1194                 pinmux {
 1195                         pins = "gpio94";
 1196                         function = "gpio";
 1197                         input-enable;
 1198                 };
 1199 
 1200                 pinconf {
 1201                         pins = "gpio94";
 1202                         bias-pull-up;
 1203                 };
 1204         };
 1205 
 1206         ap_edp_bklten: ap-edp-bklten {
 1207                 pinmux {
 1208                         pins = "gpio12";
 1209                         function = "gpio";
 1210                 };
 1211 
 1212                 pinconf {
 1213                         pins = "gpio12";
 1214                         drive-strength = <2>;
 1215                         bias-disable;
 1216 
 1217                         /* Force backlight to be disabled to match state at boot. */
 1218                         output-low;
 1219                 };
 1220         };
 1221 
 1222         ap_suspend_l_neuter: ap-suspend-l-neuter {
 1223                 pinmux  {
 1224                         pins = "gpio27";
 1225                         function = "gpio";
 1226                 };
 1227 
 1228                 pinconf {
 1229                         pins = "gpio27";
 1230                         bias-disable;
 1231                 };
 1232         };
 1233 
 1234         bios_flash_wp_l: bios-flash-wp-l {
 1235                 pinmux {
 1236                         pins = "gpio66";
 1237                         function = "gpio";
 1238                         input-enable;
 1239                 };
 1240 
 1241                 pinconf {
 1242                         pins = "gpio66";
 1243                         bias-disable;
 1244                 };
 1245         };
 1246 
 1247         edp_brij_en: edp-brij-en {
 1248                 pinmux {
 1249                         pins = "gpio104";
 1250                         function = "gpio";
 1251                 };
 1252 
 1253                 pinconf {
 1254                         pins = "gpio104";
 1255                         drive-strength = <2>;
 1256                         bias-disable;
 1257                 };
 1258         };
 1259 
 1260         en_pp3300_codec: en-pp3300-codec {
 1261                 pinmux {
 1262                         pins = "gpio83";
 1263                         function = "gpio";
 1264                 };
 1265 
 1266                 pinconf {
 1267                         pins = "gpio83";
 1268                         drive-strength = <2>;
 1269                         bias-disable;
 1270                 };
 1271         };
 1272 
 1273         en_pp3300_dx_edp: en-pp3300-dx-edp {
 1274                 pinmux {
 1275                         pins = "gpio30";
 1276                         function = "gpio";
 1277                 };
 1278 
 1279                 pinconf {
 1280                         pins = "gpio30";
 1281                         drive-strength = <2>;
 1282                         bias-disable;
 1283                 };
 1284         };
 1285 
 1286         en_pp3300_hub: en-pp3300-hub {
 1287                 pinmux {
 1288                         pins = "gpio84";
 1289                         function = "gpio";
 1290                 };
 1291 
 1292                 pinconf {
 1293                         pins = "gpio84";
 1294                         drive-strength = <2>;
 1295                         bias-disable;
 1296                 };
 1297         };
 1298 
 1299         fp_to_ap_irq_l: fp-to-ap-irq-l {
 1300                 pinmux {
 1301                         pins = "gpio4";
 1302                         function = "gpio";
 1303                         input-enable;
 1304                 };
 1305 
 1306                 pinconf {
 1307                         pins = "gpio4";
 1308 
 1309                         /* Has external pullup */
 1310                         bias-disable;
 1311                 };
 1312         };
 1313 
 1314         h1_ap_int_odl: h1-ap-int-odl {
 1315                 pinmux {
 1316                         pins = "gpio42";
 1317                         function = "gpio";
 1318                         input-enable;
 1319                 };
 1320 
 1321                 pinconf {
 1322                         pins = "gpio42";
 1323                         bias-pull-up;
 1324                 };
 1325         };
 1326 
 1327         hp_irq: hp-irq {
 1328                 pinmux {
 1329                         pins = "gpio28";
 1330                         function = "gpio";
 1331                 };
 1332 
 1333                 pinconf {
 1334                         pins = "gpio28";
 1335                         bias-pull-up;
 1336                 };
 1337         };
 1338 
 1339         pen_irq_l: pen-irq-l {
 1340                 pinmux {
 1341                         pins = "gpio21";
 1342                         function = "gpio";
 1343                 };
 1344 
 1345                 pinconf {
 1346                         pins = "gpio21";
 1347 
 1348                         /* Has external pullup */
 1349                         bias-disable;
 1350                 };
 1351         };
 1352 
 1353         pen_pdct_l: pen-pdct-l {
 1354                 pinmux {
 1355                         pins = "gpio52";
 1356                         function = "gpio";
 1357                 };
 1358 
 1359                 pinconf {
 1360                         pins = "gpio52";
 1361 
 1362                         /* Has external pullup */
 1363                         bias-disable;
 1364                 };
 1365         };
 1366 
 1367         pen_rst_odl: pen-rst-odl {
 1368                 pinmux  {
 1369                         pins = "gpio18";
 1370                         function = "gpio";
 1371                 };
 1372 
 1373                 pinconf {
 1374                         pins = "gpio18";
 1375                         bias-disable;
 1376                         drive-strength = <2>;
 1377 
 1378                         /*
 1379                          * The pen driver doesn't currently support
 1380                          * driving this reset line.  By specifying
 1381                          * output-high here we're relying on the fact
 1382                          * that this pin has a default pulldown at boot
 1383                          * (which makes sure the pen was in reset if it
 1384                          * was powered) and then we set it high here to
 1385                          * take it out of reset.  Better would be if the
 1386                          * pen driver could control this and we could
 1387                          * remove "output-high" here.
 1388                          */
 1389                         output-high; /* TODO: Remove this? */
 1390                 };
 1391         };
 1392 
 1393         p_sensor_int_l: p-sensor-int-l {
 1394                 pinmux {
 1395                         pins = "gpio24";
 1396                         function = "gpio";
 1397                         input-enable;
 1398                 };
 1399 
 1400                 pinconf {
 1401                         pins = "gpio24";
 1402                         /* Has external pullup */
 1403                         bias-disable;
 1404                 };
 1405         };
 1406 
 1407         qup_spi0_cs_gpio_init_high: qup-spi0-cs-gpio-init-high {
 1408                 pinconf {
 1409                         pins = "gpio37";
 1410                         output-high;
 1411                 };
 1412         };
 1413 
 1414         qup_spi6_cs_gpio_init_high: qup-spi6-cs-gpio-init-high {
 1415                 pinconf {
 1416                         pins = "gpio62";
 1417                         output-high;
 1418                 };
 1419         };
 1420 
 1421         qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high {
 1422                 pinconf {
 1423                         pins = "gpio89";
 1424                         output-high;
 1425                 };
 1426         };
 1427 
 1428         qup_uart3_sleep: qup-uart3-sleep {
 1429                 pinmux {
 1430                         pins = "gpio38", "gpio39",
 1431                                "gpio40", "gpio41";
 1432                         function = "gpio";
 1433                 };
 1434 
 1435                 pinconf-cts {
 1436                         /*
 1437                          * Configure a pull-down on CTS to match the pull of
 1438                          * the Bluetooth module.
 1439                          */
 1440                         pins = "gpio38";
 1441                         bias-pull-down;
 1442                 };
 1443 
 1444                 pinconf-rts {
 1445                         /*
 1446                          * Configure pull-down on RTS. As RTS is active low
 1447                          * signal, pull it low to indicate the BT SoC that it
 1448                          * can wakeup the system anytime from suspend state by
 1449                          * pulling RX low (by sending wakeup bytes).
 1450                          */
 1451                          pins = "gpio39";
 1452                          bias-pull-down;
 1453                 };
 1454 
 1455                 pinconf-tx {
 1456                         /*
 1457                          * Configure pull-up on TX when it isn't actively driven
 1458                          * to prevent BT SoC from receiving garbage during sleep.
 1459                          */
 1460                         pins = "gpio40";
 1461                         bias-pull-up;
 1462                 };
 1463 
 1464                 pinconf-rx {
 1465                         /*
 1466                          * Configure a pull-up on RX. This is needed to avoid
 1467                          * garbage data when the TX pin of the Bluetooth module
 1468                          * is floating which may cause spurious wakeups.
 1469                          */
 1470                         pins = "gpio41";
 1471                         bias-pull-up;
 1472                 };
 1473         };
 1474 
 1475         /* Named trackpad_int_1v8_odl on earlier revision schematics */
 1476         trackpad_int_1v8_odl:
 1477         tp_int_odl: tp-int-odl {
 1478                 pinmux {
 1479                         pins = "gpio0";
 1480                         function = "gpio";
 1481                 };
 1482 
 1483                 pinconf {
 1484                         pins = "gpio0";
 1485 
 1486                         /* Has external pullup */
 1487                         bias-disable;
 1488                 };
 1489         };
 1490 
 1491         ts_int_l: ts-int-l {
 1492                 pinmux  {
 1493                         pins = "gpio9";
 1494                         function = "gpio";
 1495                 };
 1496 
 1497                 pinconf {
 1498                         pins = "gpio9";
 1499                         bias-pull-up;
 1500                 };
 1501         };
 1502 
 1503         ts_reset_l: ts-reset-l {
 1504                 pinmux  {
 1505                         pins = "gpio8";
 1506                         function = "gpio";
 1507                 };
 1508 
 1509                 pinconf {
 1510                         pins = "gpio8";
 1511                         bias-disable;
 1512                         drive-strength = <2>;
 1513                 };
 1514         };
 1515 
 1516         sdc1_on: sdc1-on {
 1517                 pinconf-clk {
 1518                         pins = "sdc1_clk";
 1519                         bias-disable;
 1520                         drive-strength = <16>;
 1521                 };
 1522 
 1523                 pinconf-cmd {
 1524                         pins = "sdc1_cmd";
 1525                         bias-pull-up;
 1526                         drive-strength = <16>;
 1527                 };
 1528 
 1529                 pinconf-data {
 1530                         pins = "sdc1_data";
 1531                         bias-pull-up;
 1532                         drive-strength = <16>;
 1533                 };
 1534 
 1535                 pinconf-rclk {
 1536                         pins = "sdc1_rclk";
 1537                         bias-pull-down;
 1538                 };
 1539         };
 1540 
 1541         sdc1_off: sdc1-off {
 1542                 pinconf-clk {
 1543                         pins = "sdc1_clk";
 1544                         bias-disable;
 1545                         drive-strength = <2>;
 1546                 };
 1547 
 1548                 pinconf-cmd {
 1549                         pins = "sdc1_cmd";
 1550                         bias-pull-up;
 1551                         drive-strength = <2>;
 1552                 };
 1553 
 1554                 pinconf-data {
 1555                         pins = "sdc1_data";
 1556                         bias-pull-up;
 1557                         drive-strength = <2>;
 1558                 };
 1559 
 1560                 pinconf-rclk {
 1561                         pins = "sdc1_rclk";
 1562                         bias-pull-down;
 1563                 };
 1564         };
 1565 
 1566         sdc2_on: sdc2-on {
 1567                 pinconf-clk {
 1568                         pins = "sdc2_clk";
 1569                         bias-disable;
 1570                         drive-strength = <16>;
 1571                 };
 1572 
 1573                 pinconf-cmd {
 1574                         pins = "sdc2_cmd";
 1575                         bias-pull-up;
 1576                         drive-strength = <10>;
 1577                 };
 1578 
 1579                 pinconf-data {
 1580                         pins = "sdc2_data";
 1581                         bias-pull-up;
 1582                         drive-strength = <10>;
 1583                 };
 1584 
 1585                 pinconf-sd-cd {
 1586                         pins = "gpio69";
 1587                         bias-pull-up;
 1588                         drive-strength = <2>;
 1589                 };
 1590         };
 1591 
 1592         sdc2_off: sdc2-off {
 1593                 pinconf-clk {
 1594                         pins = "sdc2_clk";
 1595                         bias-disable;
 1596                         drive-strength = <2>;
 1597                 };
 1598 
 1599                 pinconf-cmd {
 1600                         pins = "sdc2_cmd";
 1601                         bias-pull-up;
 1602                         drive-strength = <2>;
 1603                 };
 1604 
 1605                 pinconf-data {
 1606                         pins = "sdc2_data";
 1607                         bias-pull-up;
 1608                         drive-strength = <2>;
 1609                 };
 1610 
 1611                 pinconf-sd-cd {
 1612                         pins = "gpio69";
 1613                         bias-pull-up;
 1614                         drive-strength = <2>;
 1615                 };
 1616         };
 1617 
 1618         uf_cam_en: uf-cam-en {
 1619                 pinmux {
 1620                         pins = "gpio6";
 1621                         function = "gpio";
 1622                 };
 1623 
 1624                 pinconf {
 1625                         pins = "gpio6";
 1626                         drive-strength = <2>;
 1627                         /* External pull down */
 1628                         bias-disable;
 1629                 };
 1630         };
 1631 
 1632         wf_cam_en: wf-cam-en {
 1633                 pinmux {
 1634                         pins = "gpio7";
 1635                         function = "gpio";
 1636                 };
 1637 
 1638                 pinconf {
 1639                         pins = "gpio7";
 1640                         drive-strength = <2>;
 1641                         /* External pull down */
 1642                         bias-disable;
 1643                 };
 1644         };
 1645 };

Cache object: bdcf1d7c0b120f998cdb2e5b34a700a5


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.