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/sc7280-idp.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: BSD-3-Clause
    2 /*
    3  * sc7280 IDP board device tree source (common between SKU1 and SKU2)
    4  *
    5  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
    6  */
    7 
    8 #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
    9 #include <dt-bindings/input/linux-event-codes.h>
   10 #include "sc7280.dtsi"
   11 #include "pm7325.dtsi"
   12 #include "pm8350c.dtsi"
   13 #include "pmk8350.dtsi"
   14 
   15 #include "sc7280-chrome-common.dtsi"
   16 
   17 / {
   18         aliases {
   19                 bluetooth0 = &bluetooth;
   20                 serial1 = &uart7;
   21         };
   22 
   23         gpio-keys {
   24                 compatible = "gpio-keys";
   25                 label = "gpio-keys";
   26 
   27                 pinctrl-names = "default";
   28                 pinctrl-0 = <&key_vol_up_default>;
   29 
   30                 key-volume-up {
   31                         label = "volume_up";
   32                         gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
   33                         linux,input-type = <1>;
   34                         linux,code = <KEY_VOLUMEUP>;
   35                         gpio-key,wakeup;
   36                         debounce-interval = <15>;
   37                         linux,can-disable;
   38                 };
   39         };
   40 
   41         nvme_3v3_regulator: nvme-3v3-regulator {
   42                 compatible = "regulator-fixed";
   43                 regulator-name = "VLDO_3V3";
   44 
   45                 regulator-min-microvolt = <3300000>;
   46                 regulator-max-microvolt = <3300000>;
   47 
   48                 enable-active-high;
   49                 pinctrl-names = "default";
   50                 pinctrl-0 = <&nvme_pwren>;
   51         };
   52 };
   53 
   54 &apps_rsc {
   55         pm7325-regulators {
   56                 compatible = "qcom,pm7325-rpmh-regulators";
   57                 qcom,pmic-id = "b";
   58 
   59                 vreg_s1b_1p8: smps1 {
   60                         regulator-min-microvolt = <1856000>;
   61                         regulator-max-microvolt = <2040000>;
   62                 };
   63 
   64                 vreg_s7b_0p9: smps7 {
   65                         regulator-min-microvolt = <535000>;
   66                         regulator-max-microvolt = <1120000>;
   67                 };
   68 
   69                 vreg_s8b_1p2: smps8 {
   70                         regulator-min-microvolt = <1256000>;
   71                         regulator-max-microvolt = <1500000>;
   72                 };
   73 
   74                 vreg_l1b_0p8: ldo1 {
   75                         regulator-min-microvolt = <825000>;
   76                         regulator-max-microvolt = <925000>;
   77                 };
   78 
   79                 vreg_l2b_3p0: ldo2 {
   80                         regulator-min-microvolt = <2700000>;
   81                         regulator-max-microvolt = <3544000>;
   82                 };
   83 
   84                 vreg_l6b_1p2: ldo6 {
   85                         regulator-min-microvolt = <1140000>;
   86                         regulator-max-microvolt = <1260000>;
   87                 };
   88 
   89                 vreg_l7b_2p9: ldo7 {
   90                         regulator-min-microvolt = <2960000>;
   91                         regulator-max-microvolt = <2960000>;
   92                 };
   93 
   94                 vreg_l8b_0p9: ldo8 {
   95                         regulator-min-microvolt = <870000>;
   96                         regulator-max-microvolt = <970000>;
   97                 };
   98 
   99                 vreg_l9b_1p2: ldo9 {
  100                         regulator-min-microvolt = <1080000>;
  101                         regulator-max-microvolt = <1304000>;
  102                 };
  103 
  104                 vreg_l11b_1p7: ldo11 {
  105                         regulator-min-microvolt = <1504000>;
  106                         regulator-max-microvolt = <2000000>;
  107                 };
  108 
  109                 vreg_l12b_0p8: ldo12 {
  110                         regulator-min-microvolt = <751000>;
  111                         regulator-max-microvolt = <824000>;
  112                 };
  113 
  114                 vreg_l13b_0p8: ldo13 {
  115                         regulator-min-microvolt = <530000>;
  116                         regulator-max-microvolt = <824000>;
  117                 };
  118 
  119                 vreg_l14b_1p2: ldo14 {
  120                         regulator-min-microvolt = <1080000>;
  121                         regulator-max-microvolt = <1304000>;
  122                 };
  123 
  124                 vreg_l15b_0p8: ldo15 {
  125                         regulator-min-microvolt = <765000>;
  126                         regulator-max-microvolt = <1020000>;
  127                 };
  128 
  129                 vreg_l16b_1p2: ldo16 {
  130                         regulator-min-microvolt = <1100000>;
  131                         regulator-max-microvolt = <1300000>;
  132                 };
  133 
  134                 vreg_l17b_1p8: ldo17 {
  135                         regulator-min-microvolt = <1700000>;
  136                         regulator-max-microvolt = <1900000>;
  137                 };
  138 
  139                 vreg_l18b_1p8: ldo18 {
  140                         regulator-min-microvolt = <1800000>;
  141                         regulator-max-microvolt = <2000000>;
  142                 };
  143 
  144                 vreg_l19b_1p8: ldo19 {
  145                         regulator-min-microvolt = <1800000>;
  146                         regulator-max-microvolt = <1800000>;
  147                 };
  148         };
  149 
  150         pm8350c-regulators {
  151                 compatible = "qcom,pm8350c-rpmh-regulators";
  152                 qcom,pmic-id = "c";
  153 
  154                 vreg_s1c_2p2: smps1 {
  155                         regulator-min-microvolt = <2190000>;
  156                         regulator-max-microvolt = <2210000>;
  157                 };
  158 
  159                 vreg_s9c_1p0: smps9 {
  160                         regulator-min-microvolt = <1010000>;
  161                         regulator-max-microvolt = <1170000>;
  162                 };
  163 
  164                 vreg_l1c_1p8: ldo1 {
  165                         regulator-min-microvolt = <1800000>;
  166                         regulator-max-microvolt = <1980000>;
  167                 };
  168 
  169                 vreg_l2c_1p8: ldo2 {
  170                         regulator-min-microvolt = <1620000>;
  171                         regulator-max-microvolt = <1980000>;
  172                 };
  173 
  174                 vreg_l3c_3p0: ldo3 {
  175                         regulator-min-microvolt = <2800000>;
  176                         regulator-max-microvolt = <3540000>;
  177                 };
  178 
  179                 vreg_l4c_1p8: ldo4 {
  180                         regulator-min-microvolt = <1620000>;
  181                         regulator-max-microvolt = <3300000>;
  182                 };
  183 
  184                 vreg_l5c_1p8: ldo5 {
  185                         regulator-min-microvolt = <1620000>;
  186                         regulator-max-microvolt = <3300000>;
  187                 };
  188 
  189                 vreg_l6c_2p9: ldo6 {
  190                         regulator-min-microvolt = <1800000>;
  191                         regulator-max-microvolt = <2950000>;
  192                 };
  193 
  194                 vreg_l7c_3p0: ldo7 {
  195                         regulator-min-microvolt = <3000000>;
  196                         regulator-max-microvolt = <3544000>;
  197                 };
  198 
  199                 vreg_l8c_1p8: ldo8 {
  200                         regulator-min-microvolt = <1620000>;
  201                         regulator-max-microvolt = <2000000>;
  202                 };
  203 
  204                 vreg_l9c_2p9: ldo9 {
  205                         regulator-min-microvolt = <2960000>;
  206                         regulator-max-microvolt = <2960000>;
  207                 };
  208 
  209                 vreg_l10c_0p8: ldo10 {
  210                         regulator-min-microvolt = <720000>;
  211                         regulator-max-microvolt = <1050000>;
  212                 };
  213 
  214                 vreg_l11c_2p8: ldo11 {
  215                         regulator-min-microvolt = <2800000>;
  216                         regulator-max-microvolt = <3544000>;
  217                 };
  218 
  219                 vreg_l12c_1p8: ldo12 {
  220                         regulator-min-microvolt = <1650000>;
  221                         regulator-max-microvolt = <2000000>;
  222                 };
  223 
  224                 vreg_l13c_3p0: ldo13 {
  225                         regulator-min-microvolt = <2700000>;
  226                         regulator-max-microvolt = <3544000>;
  227                 };
  228 
  229                 vreg_bob: bob {
  230                         regulator-min-microvolt = <3008000>;
  231                         regulator-max-microvolt = <3960000>;
  232                 };
  233         };
  234 };
  235 
  236 &gpi_dma0 {
  237         status = "okay";
  238 };
  239 
  240 &gpi_dma1 {
  241         status = "okay";
  242 };
  243 
  244 &ipa {
  245         status = "okay";
  246         modem-init;
  247 };
  248 
  249 &pcie1 {
  250         status = "okay";
  251         perst-gpio = <&tlmm 2 GPIO_ACTIVE_LOW>;
  252 
  253         vddpe-3v3-supply = <&nvme_3v3_regulator>;
  254 
  255         pinctrl-names = "default";
  256         pinctrl-0 = <&pcie1_reset_n>, <&pcie1_wake_n>;
  257 };
  258 
  259 &pcie1_phy {
  260         status = "okay";
  261 
  262         vdda-phy-supply = <&vreg_l10c_0p8>;
  263         vdda-pll-supply = <&vreg_l6b_1p2>;
  264 };
  265 
  266 &pmk8350_vadc {
  267         pmk8350_die_temp {
  268                 reg = <PMK8350_ADC7_DIE_TEMP>;
  269                 label = "pmk8350_die_temp";
  270                 qcom,pre-scaling = <1 1>;
  271         };
  272 };
  273 
  274 &qfprom {
  275         vcc-supply = <&vreg_l1c_1p8>;
  276 };
  277 
  278 &qupv3_id_0 {
  279         status = "okay";
  280 };
  281 
  282 &qupv3_id_1 {
  283         status = "okay";
  284 };
  285 
  286 &sdhc_1 {
  287         status = "okay";
  288 
  289         non-removable;
  290         no-sd;
  291         no-sdio;
  292 
  293         vmmc-supply = <&vreg_l7b_2p9>;
  294         vqmmc-supply = <&vreg_l19b_1p8>;
  295 };
  296 
  297 &sdhc_2 {
  298         status = "okay";
  299 
  300         pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd>;
  301         pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd>;
  302 
  303         vmmc-supply = <&vreg_l9c_2p9>;
  304         vqmmc-supply = <&vreg_l6c_2p9>;
  305 
  306         cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
  307 };
  308 
  309 &uart5 {
  310         compatible = "qcom,geni-debug-uart";
  311         status = "okay";
  312 };
  313 
  314 &usb_1 {
  315         status = "okay";
  316 };
  317 
  318 &usb_1_dwc3 {
  319         dr_mode = "host";
  320 };
  321 
  322 &usb_1_hsphy {
  323         status = "okay";
  324 
  325         vdda-pll-supply = <&vreg_l10c_0p8>;
  326         vdda33-supply = <&vreg_l2b_3p0>;
  327         vdda18-supply = <&vreg_l1c_1p8>;
  328 };
  329 
  330 &usb_1_qmpphy {
  331         status = "okay";
  332 
  333         vdda-phy-supply = <&vreg_l6b_1p2>;
  334         vdda-pll-supply = <&vreg_l1b_0p8>;
  335 };
  336 
  337 &uart7 {
  338         status = "okay";
  339 
  340         /delete-property/interrupts;
  341         interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
  342                                 <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
  343         pinctrl-names = "default", "sleep";
  344         pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
  345 
  346         bluetooth: bluetooth {
  347                 compatible = "qcom,wcn6750-bt";
  348                 pinctrl-names = "default";
  349                 pinctrl-0 = <&bt_en>, <&sw_ctrl>;
  350                 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
  351                 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
  352                 vddaon-supply = <&vreg_s7b_0p9>;
  353                 vddbtcxmx-supply = <&vreg_s7b_0p9>;
  354                 vddrfacmn-supply = <&vreg_s7b_0p9>;
  355                 vddrfa0p8-supply = <&vreg_s7b_0p9>;
  356                 vddrfa1p7-supply = <&vreg_s1b_1p8>;
  357                 vddrfa1p2-supply = <&vreg_s8b_1p2>;
  358                 vddrfa2p2-supply = <&vreg_s1c_2p2>;
  359                 vddasd-supply = <&vreg_l11c_2p8>;
  360                 max-speed = <3200000>;
  361         };
  362 };
  363 
  364 /* PINCTRL - additions to nodes defined in sc7280.dtsi */
  365 
  366 &dp_hot_plug_det {
  367         bias-disable;
  368 };
  369 
  370 &lpass_dmic01_clk {
  371         drive-strength = <8>;
  372         bias-disable;
  373 };
  374 
  375 &lpass_dmic01_clk_sleep {
  376         drive-strength = <2>;
  377 };
  378 
  379 &lpass_dmic01_data {
  380         bias-pull-down;
  381 };
  382 
  383 &lpass_dmic23_clk {
  384         drive-strength = <8>;
  385         bias-disable;
  386 };
  387 
  388 &lpass_dmic23_clk_sleep {
  389         drive-strength = <2>;
  390 };
  391 
  392 &lpass_dmic23_data {
  393         bias-pull-down;
  394 };
  395 
  396 &lpass_rx_swr_clk {
  397         drive-strength = <2>;
  398         slew-rate = <1>;
  399         bias-disable;
  400 };
  401 
  402 &lpass_rx_swr_clk_sleep {
  403         bias-pull-down;
  404 };
  405 
  406 &lpass_rx_swr_data {
  407         drive-strength = <2>;
  408         slew-rate = <1>;
  409         bias-bus-hold;
  410 };
  411 
  412 &lpass_rx_swr_data_sleep {
  413         bias-pull-down;
  414 };
  415 
  416 &lpass_tx_swr_clk {
  417         drive-strength = <2>;
  418         slew-rate = <1>;
  419         bias-disable;
  420 };
  421 
  422 &lpass_tx_swr_clk_sleep {
  423         bias-pull-down;
  424 };
  425 
  426 &lpass_tx_swr_data {
  427         drive-strength = <2>;
  428         slew-rate = <1>;
  429         bias-bus-hold;
  430 };
  431 
  432 &mi2s1_data0 {
  433         drive-strength = <6>;
  434         bias-disable;
  435 };
  436 
  437 &mi2s1_sclk {
  438         drive-strength = <6>;
  439         bias-disable;
  440 };
  441 
  442 &mi2s1_ws {
  443         drive-strength = <6>;
  444 };
  445 
  446 &pm7325_gpios {
  447         key_vol_up_default: key-vol-up-state {
  448                 pins = "gpio6";
  449                 function = "normal";
  450                 input-enable;
  451                 bias-pull-up;
  452                 power-source = <0>;
  453                 qcom,drive-strength = <3>;
  454         };
  455 };
  456 
  457 &pcie1_clkreq_n {
  458         bias-pull-up;
  459         drive-strength = <2>;
  460 };
  461 
  462 &qspi_cs0 {
  463         bias-disable;
  464 };
  465 
  466 &qspi_clk {
  467         bias-disable;
  468 };
  469 
  470 &qspi_data01 {
  471         /* High-Z when no transfers; nice to park the lines */
  472         bias-pull-up;
  473 };
  474 
  475 &qup_uart5_tx {
  476         drive-strength = <2>;
  477         bias-disable;
  478 };
  479 
  480 &qup_uart5_rx {
  481         drive-strength = <2>;
  482         bias-pull-up;
  483 };
  484 
  485 &qup_uart7_cts {
  486         /*
  487          * Configure a bias-bus-hold on CTS to lower power
  488          * usage when Bluetooth is turned off. Bus hold will
  489          * maintain a low power state regardless of whether
  490          * the Bluetooth module drives the pin in either
  491          * direction or leaves the pin fully unpowered.
  492          */
  493         bias-bus-hold;
  494 };
  495 
  496 &qup_uart7_rts {
  497         /* We'll drive RTS, so no pull */
  498         drive-strength = <2>;
  499         bias-disable;
  500 };
  501 
  502 &qup_uart7_tx {
  503         /* We'll drive TX, so no pull */
  504         drive-strength = <2>;
  505         bias-disable;
  506 };
  507 
  508 &qup_uart7_rx {
  509         /*
  510          * Configure a pull-up on RX. This is needed to avoid
  511          * garbage data when the TX pin of the Bluetooth module is
  512          * in tri-state (module powered off or not driving the
  513          * signal yet).
  514          */
  515         bias-pull-up;
  516 };
  517 
  518 &sdc1_clk {
  519         bias-disable;
  520         drive-strength = <16>;
  521 };
  522 
  523 &sdc1_cmd {
  524         bias-pull-up;
  525         drive-strength = <10>;
  526 };
  527 
  528 &sdc1_data {
  529         bias-pull-up;
  530         drive-strength = <10>;
  531 };
  532 
  533 &sdc1_rclk {
  534         bias-pull-down;
  535 };
  536 
  537 &sdc2_clk {
  538         bias-disable;
  539         drive-strength = <16>;
  540 };
  541 
  542 &sdc2_cmd {
  543         bias-pull-up;
  544         drive-strength = <10>;
  545 };
  546 
  547 &sdc2_data {
  548         bias-pull-up;
  549         drive-strength = <10>;
  550 };
  551 
  552 &tlmm {
  553         bt_en: bt-en {
  554                 pins = "gpio85";
  555                 function = "gpio";
  556                 output-low;
  557                 bias-disable;
  558         };
  559 
  560         nvme_pwren: nvme-pwren {
  561                 function = "gpio";
  562         };
  563 
  564         pcie1_reset_n: pcie1-reset-n {
  565                 pins = "gpio2";
  566                 function = "gpio";
  567 
  568                 drive-strength = <16>;
  569                 output-low;
  570                 bias-disable;
  571         };
  572 
  573         pcie1_wake_n: pcie1-wake-n {
  574                 pins = "gpio3";
  575                 function = "gpio";
  576 
  577                 drive-strength = <2>;
  578                 bias-pull-up;
  579         };
  580 
  581         qup_uart7_sleep_cts: qup-uart7-sleep-cts {
  582                 pins = "gpio28";
  583                 function = "gpio";
  584                 /*
  585                  * Configure a bias-bus-hold on CTS to lower power
  586                  * usage when Bluetooth is turned off. Bus hold will
  587                  * maintain a low power state regardless of whether
  588                  * the Bluetooth module drives the pin in either
  589                  * direction or leaves the pin fully unpowered.
  590                  */
  591                 bias-bus-hold;
  592         };
  593 
  594         qup_uart7_sleep_rts: qup-uart7-sleep-rts {
  595                 pins = "gpio29";
  596                 function = "gpio";
  597                 /*
  598                  * Configure pull-down on RTS. As RTS is active low
  599                  * signal, pull it low to indicate the BT SoC that it
  600                  * can wakeup the system anytime from suspend state by
  601                  * pulling RX low (by sending wakeup bytes).
  602                  */
  603                 bias-pull-down;
  604         };
  605 
  606         qup_uart7_sleep_tx: qup-uart7-sleep-tx {
  607                 pins = "gpio30";
  608                 function = "gpio";
  609                 /*
  610                  * Configure pull-up on TX when it isn't actively driven
  611                  * to prevent BT SoC from receiving garbage during sleep.
  612                  */
  613                 bias-pull-up;
  614         };
  615 
  616         qup_uart7_sleep_rx: qup-uart7-sleep-rx {
  617                 pins = "gpio31";
  618                 function = "gpio";
  619                 /*
  620                  * Configure a pull-up on RX. This is needed to avoid
  621                  * garbage data when the TX pin of the Bluetooth module
  622                  * is floating which may cause spurious wakeups.
  623                  */
  624                 bias-pull-up;
  625         };
  626 
  627         sd_cd: sd-cd {
  628                 pins = "gpio91";
  629                 function = "gpio";
  630                 bias-pull-up;
  631         };
  632 
  633         sw_ctrl: sw-ctrl {
  634                 pins = "gpio86";
  635                 function = "gpio";
  636                 bias-pull-down;
  637         };
  638 };

Cache object: 03c04ae3c11953f78db96398687cb952


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