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/arm/qcom-msm8974-lge-nexus5-hammerhead.dts

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
    2 #include "qcom-msm8974.dtsi"
    3 #include "qcom-pm8841.dtsi"
    4 #include "qcom-pm8941.dtsi"
    5 #include <dt-bindings/input/input.h>
    6 #include <dt-bindings/leds/common.h>
    7 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
    8 
    9 / {
   10         model = "LGE MSM 8974 HAMMERHEAD";
   11         compatible = "lge,hammerhead", "qcom,msm8974";
   12 
   13         aliases {
   14                 serial0 = &blsp1_uart1;
   15                 serial1 = &blsp2_uart4;
   16         };
   17 
   18         chosen {
   19                 stdout-path = "serial0:115200n8";
   20         };
   21 
   22         gpio-keys {
   23                 compatible = "gpio-keys";
   24 
   25                 pinctrl-names = "default";
   26                 pinctrl-0 = <&gpio_keys_pin_a>;
   27 
   28                 key-volume-up {
   29                         label = "volume_up";
   30                         gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
   31                         linux,input-type = <1>;
   32                         linux,code = <KEY_VOLUMEUP>;
   33                 };
   34 
   35                 key-volume-down {
   36                         label = "volume_down";
   37                         gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
   38                         linux,input-type = <1>;
   39                         linux,code = <KEY_VOLUMEDOWN>;
   40                 };
   41         };
   42 
   43         vreg_wlan: wlan-regulator {
   44                 compatible = "regulator-fixed";
   45 
   46                 regulator-name = "wl-reg";
   47                 regulator-min-microvolt = <3300000>;
   48                 regulator-max-microvolt = <3300000>;
   49 
   50                 gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>;
   51                 enable-active-high;
   52 
   53                 pinctrl-names = "default";
   54                 pinctrl-0 = <&wlan_regulator_pin>;
   55         };
   56 };
   57 
   58 &blsp1_i2c1 {
   59         status = "okay";
   60         clock-frequency = <100000>;
   61 
   62         charger: bq24192@6b {
   63                 compatible = "ti,bq24192";
   64                 reg = <0x6b>;
   65                 interrupts-extended = <&spmi_bus 0 0xd5 0 IRQ_TYPE_EDGE_FALLING>;
   66 
   67                 omit-battery-class;
   68 
   69                 usb_otg_vbus: usb-otg-vbus { };
   70         };
   71 
   72         fuelgauge: max17048@36 {
   73                 compatible = "maxim,max17048";
   74                 reg = <0x36>;
   75 
   76                 maxim,double-soc;
   77                 maxim,rcomp = /bits/ 8 <0x4d>;
   78 
   79                 interrupt-parent = <&tlmm>;
   80                 interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
   81 
   82                 pinctrl-names = "default";
   83                 pinctrl-0 = <&fuelgauge_pin>;
   84 
   85                 maxim,alert-low-soc-level = <2>;
   86         };
   87 };
   88 
   89 &blsp1_i2c2 {
   90         status = "okay";
   91         clock-frequency = <355000>;
   92 
   93         synaptics@70 {
   94                 compatible = "syna,rmi4-i2c";
   95                 reg = <0x70>;
   96 
   97                 interrupts-extended = <&tlmm 5 IRQ_TYPE_EDGE_FALLING>;
   98                 vdd-supply = <&pm8941_l22>;
   99                 vio-supply = <&pm8941_lvs3>;
  100 
  101                 pinctrl-names = "default";
  102                 pinctrl-0 = <&touch_pin>;
  103 
  104                 #address-cells = <1>;
  105                 #size-cells = <0>;
  106 
  107                 rmi4-f01@1 {
  108                         reg = <0x1>;
  109                         syna,nosleep-mode = <1>;
  110                 };
  111 
  112                 rmi4-f12@12 {
  113                         reg = <0x12>;
  114                         syna,sensor-type = <1>;
  115                 };
  116         };
  117 };
  118 
  119 &blsp1_i2c3 {
  120         status = "okay";
  121         clock-frequency = <100000>;
  122 
  123         avago_apds993@39 {
  124                 compatible = "avago,apds9930";
  125                 reg = <0x39>;
  126                 interrupts-extended = <&tlmm 61 IRQ_TYPE_EDGE_FALLING>;
  127                 vdd-supply = <&pm8941_l17>;
  128                 vddio-supply = <&pm8941_lvs1>;
  129                 led-max-microamp = <100000>;
  130                 amstaos,proximity-diodes = <0>;
  131         };
  132 };
  133 
  134 &blsp2_i2c5 {
  135         status = "okay";
  136         clock-frequency = <355000>;
  137 
  138         led-controller@38 {
  139                 compatible = "ti,lm3630a";
  140                 status = "okay";
  141                 reg = <0x38>;
  142 
  143                 #address-cells = <1>;
  144                 #size-cells = <0>;
  145 
  146                 led@0 {
  147                         reg = <0>;
  148                         led-sources = <0 1>;
  149                         label = "lcd-backlight";
  150                         default-brightness = <200>;
  151                 };
  152         };
  153 };
  154 
  155 &blsp2_i2c6 {
  156         status = "okay";
  157         clock-frequency = <100000>;
  158 
  159         mpu6515@68 {
  160                 compatible = "invensense,mpu6515";
  161                 reg = <0x68>;
  162                 interrupts-extended = <&tlmm 73 IRQ_TYPE_EDGE_FALLING>;
  163                 vddio-supply = <&pm8941_lvs1>;
  164 
  165                 pinctrl-names = "default";
  166                 pinctrl-0 = <&mpu6515_pin>;
  167 
  168                 mount-matrix = "0", "-1", "0",
  169                                 "-1", "0", "0",
  170                                 "0", "0", "1";
  171 
  172                 i2c-gate {
  173                         #address-cells = <1>;
  174                         #size-cells = <0>;
  175                         ak8963@f {
  176                                 compatible = "asahi-kasei,ak8963";
  177                                 reg = <0x0f>;
  178                                 gpios = <&tlmm 67 0>;
  179                                 vid-supply = <&pm8941_lvs1>;
  180                                 vdd-supply = <&pm8941_l17>;
  181                         };
  182 
  183                         bmp280@76 {
  184                                 compatible = "bosch,bmp280";
  185                                 reg = <0x76>;
  186                                 vdda-supply = <&pm8941_lvs1>;
  187                                 vddd-supply = <&pm8941_l17>;
  188                         };
  189                 };
  190         };
  191 };
  192 
  193 &blsp1_uart1 {
  194         status = "okay";
  195 };
  196 
  197 &blsp2_uart4 {
  198         status = "okay";
  199 
  200         bluetooth {
  201                 compatible = "brcm,bcm43438-bt";
  202                 max-speed = <3000000>;
  203 
  204                 pinctrl-names = "default";
  205                 pinctrl-0 = <&bt_pin>;
  206 
  207                 host-wakeup-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
  208                 device-wakeup-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>;
  209                 shutdown-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>;
  210         };
  211 };
  212 
  213 &dsi0 {
  214         status = "okay";
  215 
  216         vdda-supply = <&pm8941_l2>;
  217         vdd-supply = <&pm8941_lvs3>;
  218         vddio-supply = <&pm8941_l12>;
  219 
  220         panel: panel@0 {
  221                 reg = <0>;
  222                 compatible = "lg,acx467akm-7";
  223 
  224                 pinctrl-names = "default";
  225                 pinctrl-0 = <&panel_pin>;
  226 
  227                 port {
  228                         panel_in: endpoint {
  229                                 remote-endpoint = <&dsi0_out>;
  230                         };
  231                 };
  232         };
  233 };
  234 
  235 &dsi0_out {
  236         remote-endpoint = <&panel_in>;
  237         data-lanes = <0 1 2 3>;
  238 };
  239 
  240 &dsi0_phy {
  241         status = "okay";
  242 
  243         vddio-supply = <&pm8941_l12>;
  244 };
  245 
  246 &mdss {
  247         status = "okay";
  248 };
  249 
  250 &otg {
  251         status = "okay";
  252 
  253         phys = <&usb_hs1_phy>;
  254         phy-select = <&tcsr 0xb000 0>;
  255 
  256         extcon = <&charger>, <&usb_id>;
  257         vbus-supply = <&usb_otg_vbus>;
  258 
  259         hnp-disable;
  260         srp-disable;
  261         adp-disable;
  262 
  263         ulpi {
  264                 phy@a {
  265                         status = "okay";
  266 
  267                         v1p8-supply = <&pm8941_l6>;
  268                         v3p3-supply = <&pm8941_l24>;
  269 
  270                         qcom,init-seq = /bits/ 8 <0x1 0x64>;
  271                 };
  272         };
  273 };
  274 
  275 &pm8941_gpios {
  276         gpio_keys_pin_a: gpio-keys-active-state {
  277                 pins = "gpio2", "gpio3";
  278                 function = "normal";
  279 
  280                 bias-pull-up;
  281                 power-source = <PM8941_GPIO_S3>;
  282         };
  283 
  284         fuelgauge_pin: fuelgauge-int-state {
  285                 pins = "gpio9";
  286                 function = "normal";
  287 
  288                 bias-disable;
  289                 input-enable;
  290                 power-source = <PM8941_GPIO_S3>;
  291         };
  292 
  293         wlan_sleep_clk_pin: wl-sleep-clk-state {
  294                 pins = "gpio16";
  295                 function = "func2";
  296 
  297                 output-high;
  298                 power-source = <PM8941_GPIO_S3>;
  299         };
  300 
  301         wlan_regulator_pin: wl-reg-active-state {
  302                 pins = "gpio17";
  303                 function = "normal";
  304 
  305                 bias-disable;
  306                 power-source = <PM8941_GPIO_S3>;
  307         };
  308 
  309         otg {
  310                 gpio-hog;
  311                 gpios = <35 GPIO_ACTIVE_HIGH>;
  312                 output-high;
  313                 line-name = "otg-gpio";
  314         };
  315 };
  316 
  317 &pm8941_lpg {
  318         status = "okay";
  319 
  320         qcom,power-source = <1>;
  321 
  322         multi-led {
  323                 color = <LED_COLOR_ID_RGB>;
  324                 function = LED_FUNCTION_STATUS;
  325 
  326                 #address-cells = <1>;
  327                 #size-cells = <0>;
  328 
  329                 led@7 {
  330                         reg = <7>;
  331                         color = <LED_COLOR_ID_RED>;
  332                 };
  333 
  334                 led@6 {
  335                         reg = <6>;
  336                         color = <LED_COLOR_ID_GREEN>;
  337                 };
  338 
  339                 led@5 {
  340                         reg = <5>;
  341                         color = <LED_COLOR_ID_BLUE>;
  342                 };
  343         };
  344 };
  345 
  346 &rpm_requests {
  347         pm8841-regulators {
  348                 compatible = "qcom,rpm-pm8841-regulators";
  349 
  350                 pm8841_s1: s1 {
  351                         regulator-min-microvolt = <675000>;
  352                         regulator-max-microvolt = <1050000>;
  353                 };
  354 
  355                 pm8841_s2: s2 {
  356                         regulator-min-microvolt = <500000>;
  357                         regulator-max-microvolt = <1050000>;
  358                 };
  359 
  360                 pm8841_s3: s3 {
  361                         regulator-min-microvolt = <1050000>;
  362                         regulator-max-microvolt = <1050000>;
  363                 };
  364 
  365                 pm8841_s4: s4 {
  366                         regulator-min-microvolt = <815000>;
  367                         regulator-max-microvolt = <900000>;
  368                 };
  369         };
  370 
  371         pm8941-regulators {
  372                 compatible = "qcom,rpm-pm8941-regulators";
  373 
  374                 vdd_l1_l3-supply = <&pm8941_s1>;
  375                 vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
  376                 vdd_l4_l11-supply = <&pm8941_s1>;
  377                 vdd_l5_l7-supply = <&pm8941_s2>;
  378                 vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
  379                 vdd_l8_l16_l18_l19-supply = <&vreg_vph_pwr>;
  380                 vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
  381                 vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
  382                 vdd_l21-supply = <&vreg_boost>;
  383 
  384                 pm8941_s1: s1 {
  385                         regulator-min-microvolt = <1300000>;
  386                         regulator-max-microvolt = <1300000>;
  387                         regulator-always-on;
  388                         regulator-boot-on;
  389                 };
  390 
  391                 pm8941_s2: s2 {
  392                         regulator-min-microvolt = <2150000>;
  393                         regulator-max-microvolt = <2150000>;
  394                         regulator-boot-on;
  395                 };
  396 
  397                 pm8941_s3: s3 {
  398                         regulator-min-microvolt = <1800000>;
  399                         regulator-max-microvolt = <1800000>;
  400                         regulator-always-on;
  401                         regulator-boot-on;
  402                 };
  403 
  404                 pm8941_l1: l1 {
  405                         regulator-min-microvolt = <1225000>;
  406                         regulator-max-microvolt = <1225000>;
  407                         regulator-always-on;
  408                         regulator-boot-on;
  409                 };
  410 
  411                 pm8941_l2: l2 {
  412                         regulator-min-microvolt = <1200000>;
  413                         regulator-max-microvolt = <1200000>;
  414                 };
  415 
  416                 pm8941_l3: l3 {
  417                         regulator-min-microvolt = <1225000>;
  418                         regulator-max-microvolt = <1225000>;
  419                 };
  420 
  421                 pm8941_l4: l4 {
  422                         regulator-min-microvolt = <1225000>;
  423                         regulator-max-microvolt = <1225000>;
  424                 };
  425 
  426                 pm8941_l5: l5 {
  427                         regulator-min-microvolt = <1800000>;
  428                         regulator-max-microvolt = <1800000>;
  429                 };
  430 
  431                 pm8941_l6: l6 {
  432                         regulator-min-microvolt = <1800000>;
  433                         regulator-max-microvolt = <1800000>;
  434                         regulator-boot-on;
  435                 };
  436 
  437                 pm8941_l7: l7 {
  438                         regulator-min-microvolt = <1800000>;
  439                         regulator-max-microvolt = <1800000>;
  440                         regulator-boot-on;
  441                 };
  442 
  443                 pm8941_l8: l8 {
  444                         regulator-min-microvolt = <1800000>;
  445                         regulator-max-microvolt = <1800000>;
  446                 };
  447 
  448                 pm8941_l9: l9 {
  449                         regulator-min-microvolt = <1800000>;
  450                         regulator-max-microvolt = <2950000>;
  451                 };
  452 
  453                 pm8941_l10: l10 {
  454                         regulator-min-microvolt = <1800000>;
  455                         regulator-max-microvolt = <2950000>;
  456                 };
  457 
  458                 pm8941_l11: l11 {
  459                         regulator-min-microvolt = <1300000>;
  460                         regulator-max-microvolt = <1300000>;
  461                 };
  462 
  463                 pm8941_l12: l12 {
  464                         regulator-min-microvolt = <1800000>;
  465                         regulator-max-microvolt = <1800000>;
  466                         regulator-always-on;
  467                         regulator-boot-on;
  468                 };
  469 
  470                 pm8941_l13: l13 {
  471                         regulator-min-microvolt = <1800000>;
  472                         regulator-max-microvolt = <2950000>;
  473                         regulator-boot-on;
  474                 };
  475 
  476                 pm8941_l14: l14 {
  477                         regulator-min-microvolt = <1800000>;
  478                         regulator-max-microvolt = <1800000>;
  479                 };
  480 
  481                 pm8941_l15: l15 {
  482                         regulator-min-microvolt = <2050000>;
  483                         regulator-max-microvolt = <2050000>;
  484                 };
  485 
  486                 pm8941_l16: l16 {
  487                         regulator-min-microvolt = <2700000>;
  488                         regulator-max-microvolt = <2700000>;
  489                 };
  490 
  491                 pm8941_l17: l17 {
  492                         regulator-min-microvolt = <2850000>;
  493                         regulator-max-microvolt = <2850000>;
  494                 };
  495 
  496                 pm8941_l18: l18 {
  497                         regulator-min-microvolt = <2850000>;
  498                         regulator-max-microvolt = <2850000>;
  499                 };
  500 
  501                 pm8941_l19: l19 {
  502                         regulator-min-microvolt = <3000000>;
  503                         regulator-max-microvolt = <3300000>;
  504                 };
  505 
  506                 pm8941_l20: l20 {
  507                         regulator-min-microvolt = <2950000>;
  508                         regulator-max-microvolt = <2950000>;
  509                         regulator-system-load = <200000>;
  510                         regulator-allow-set-load;
  511                         regulator-boot-on;
  512                 };
  513 
  514                 pm8941_l21: l21 {
  515                         regulator-min-microvolt = <2950000>;
  516                         regulator-max-microvolt = <2950000>;
  517                         regulator-boot-on;
  518                 };
  519 
  520                 pm8941_l22: l22 {
  521                         regulator-min-microvolt = <3000000>;
  522                         regulator-max-microvolt = <3300000>;
  523                 };
  524 
  525                 pm8941_l23: l23 {
  526                         regulator-min-microvolt = <3000000>;
  527                         regulator-max-microvolt = <3000000>;
  528                 };
  529 
  530                 pm8941_l24: l24 {
  531                         regulator-min-microvolt = <3075000>;
  532                         regulator-max-microvolt = <3075000>;
  533                         regulator-boot-on;
  534                 };
  535 
  536                 pm8941_lvs1: lvs1 {};
  537                 pm8941_lvs3: lvs3 {};
  538         };
  539 };
  540 
  541 &sdhc_1 {
  542         status = "okay";
  543 
  544         vmmc-supply = <&pm8941_l20>;
  545         vqmmc-supply = <&pm8941_s3>;
  546 
  547         pinctrl-names = "default", "sleep";
  548         pinctrl-0 = <&sdc1_on>;
  549         pinctrl-1 = <&sdc1_off>;
  550 };
  551 
  552 &sdhc_2 {
  553         status = "okay";
  554 
  555         max-frequency = <100000000>;
  556         vmmc-supply = <&vreg_wlan>;
  557         vqmmc-supply = <&pm8941_s3>;
  558         non-removable;
  559 
  560         pinctrl-names = "default", "sleep";
  561         pinctrl-0 = <&sdc2_on>;
  562         pinctrl-1 = <&sdc2_off>;
  563 
  564         bcrmf@1 {
  565                 compatible = "brcm,bcm4339-fmac", "brcm,bcm4329-fmac";
  566                 reg = <1>;
  567 
  568                 brcm,drive-strength = <10>;
  569 
  570                 pinctrl-names = "default";
  571                 pinctrl-0 = <&wlan_sleep_clk_pin>;
  572         };
  573 };
  574 
  575 &tlmm {
  576         sdc1_on: sdc1-on {
  577                 clk {
  578                         pins = "sdc1_clk";
  579                         drive-strength = <16>;
  580                         bias-disable;
  581                 };
  582 
  583                 cmd-data {
  584                         pins = "sdc1_cmd", "sdc1_data";
  585                         drive-strength = <10>;
  586                         bias-pull-up;
  587                 };
  588         };
  589 
  590         sdc2_on: sdc2-on {
  591                 clk {
  592                         pins = "sdc2_clk";
  593                         drive-strength = <6>;
  594                         bias-disable;
  595                 };
  596 
  597                 cmd-data {
  598                         pins = "sdc2_cmd", "sdc2_data";
  599                         drive-strength = <6>;
  600                         bias-pull-up;
  601                 };
  602         };
  603 
  604         mpu6515_pin: mpu6515 {
  605                 pins = "gpio73";
  606                 function = "gpio";
  607                 bias-disable;
  608                 input-enable;
  609         };
  610 
  611         touch_pin: touch {
  612                 int {
  613                         pins = "gpio5";
  614                         function = "gpio";
  615 
  616                         drive-strength = <2>;
  617                         bias-disable;
  618                         input-enable;
  619                 };
  620 
  621                 reset {
  622                         pins = "gpio8";
  623                         function = "gpio";
  624 
  625                         drive-strength = <2>;
  626                         bias-pull-up;
  627                 };
  628         };
  629 
  630         panel_pin: panel {
  631                 pins = "gpio12";
  632                 function = "mdp_vsync";
  633                 drive-strength = <2>;
  634                 bias-disable;
  635         };
  636 
  637         bt_pin: bt {
  638                 hostwake {
  639                         pins = "gpio42";
  640                         function = "gpio";
  641                 };
  642 
  643                 devwake {
  644                         pins = "gpio62";
  645                         function = "gpio";
  646                 };
  647 
  648                 shutdown {
  649                         pins = "gpio41";
  650                         function = "gpio";
  651                 };
  652         };
  653 };

Cache object: 11ec79c5f685fa4d82098d3c03225973


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