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/msm8916-longcheer-l8150.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-only
    2 
    3 /dts-v1/;
    4 
    5 #include "msm8916-pm8916.dtsi"
    6 #include <dt-bindings/gpio/gpio.h>
    7 #include <dt-bindings/input/input.h>
    8 #include <dt-bindings/interrupt-controller/irq.h>
    9 #include <dt-bindings/leds/common.h>
   10 
   11 / {
   12         model = "Longcheer L8150";
   13         compatible = "longcheer,l8150", "qcom,msm8916-v1-qrd/9-v1", "qcom,msm8916";
   14         chassis-type = "handset";
   15 
   16         aliases {
   17                 serial0 = &blsp1_uart2;
   18         };
   19 
   20         chosen {
   21                 stdout-path = "serial0";
   22         };
   23 
   24         reserved-memory {
   25                 // wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000
   26                 /delete-node/ wcnss@89300000;
   27 
   28                 wcnss_mem: wcnss@8b600000 {
   29                         reg = <0x0 0x8b600000 0x0 0x600000>;
   30                         no-map;
   31                 };
   32         };
   33 
   34         gpio-keys {
   35                 compatible = "gpio-keys";
   36 
   37                 pinctrl-names = "default";
   38                 pinctrl-0 = <&gpio_keys_default>;
   39 
   40                 label = "GPIO Buttons";
   41 
   42                 button-volume-up {
   43                         label = "Volume Up";
   44                         gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
   45                         linux,code = <KEY_VOLUMEUP>;
   46                 };
   47         };
   48 
   49         reg_ctp: regulator-ctp {
   50                 compatible = "regulator-fixed";
   51                 regulator-name = "ctp";
   52 
   53                 regulator-min-microvolt = <2800000>;
   54                 regulator-max-microvolt = <2800000>;
   55 
   56                 gpio = <&msmgpio 17 GPIO_ACTIVE_HIGH>;
   57                 enable-active-high;
   58 
   59                 pinctrl-names = "default";
   60                 pinctrl-0 = <&ctp_pwr_en_default>;
   61         };
   62 
   63         flash-led-controller {
   64                 compatible = "sgmicro,sgm3140";
   65                 flash-gpios = <&msmgpio 31 GPIO_ACTIVE_HIGH>;
   66                 enable-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
   67 
   68                 pinctrl-names = "default";
   69                 pinctrl-0 = <&camera_flash_default>;
   70 
   71                 flash_led: led {
   72                         function = LED_FUNCTION_FLASH;
   73                         color = <LED_COLOR_ID_WHITE>;
   74                         flash-max-timeout-us = <250000>;
   75                 };
   76         };
   77 };
   78 
   79 &blsp_i2c1 {
   80         status = "okay";
   81 
   82         led-controller@45 {
   83                 compatible = "awinic,aw2013";
   84                 reg = <0x45>;
   85                 #address-cells = <1>;
   86                 #size-cells = <0>;
   87 
   88                 vcc-supply = <&pm8916_l17>;
   89 
   90                 led@0 {
   91                         reg = <0>;
   92                         led-max-microamp = <5000>;
   93                         function = LED_FUNCTION_INDICATOR;
   94                         color = <LED_COLOR_ID_RED>;
   95                 };
   96 
   97                 led@1 {
   98                         reg = <1>;
   99                         led-max-microamp = <5000>;
  100                         function = LED_FUNCTION_INDICATOR;
  101                         color = <LED_COLOR_ID_GREEN>;
  102                 };
  103 
  104                 led@2 {
  105                         reg = <2>;
  106                         led-max-microamp = <5000>;
  107                         function = LED_FUNCTION_INDICATOR;
  108                         color = <LED_COLOR_ID_BLUE>;
  109                 };
  110         };
  111 };
  112 
  113 &blsp_i2c2 {
  114         status = "okay";
  115 
  116         accelerometer@10 {
  117                 compatible = "bosch,bmc156_accel";
  118                 reg = <0x10>;
  119 
  120                 /*
  121                  * For some reason the interrupt line is usually not connected
  122                  * to the BMC156. However, there are two pads next to the chip
  123                  * that can be shorted to make it work if needed.
  124                  *
  125                  * interrupt-parent = <&msmgpio>;
  126                  * interrupts = <116 IRQ_TYPE_EDGE_RISING>;
  127                  */
  128 
  129                 pinctrl-names = "default";
  130                 pinctrl-0 = <&accel_int_default>;
  131 
  132                 vdd-supply = <&pm8916_l17>;
  133                 vddio-supply = <&pm8916_l6>;
  134 
  135                 mount-matrix = "0", "1", "0",
  136                               "-1", "0", "0",
  137                                "0", "0", "1";
  138         };
  139 
  140         magnetometer@12 {
  141                 compatible = "bosch,bmc156_magn";
  142                 reg = <0x12>;
  143 
  144                 interrupt-parent = <&msmgpio>;
  145                 interrupts = <113 IRQ_TYPE_EDGE_RISING>;
  146 
  147                 pinctrl-names = "default";
  148                 pinctrl-0 = <&magn_int_default>;
  149 
  150                 vdd-supply = <&pm8916_l17>;
  151                 vddio-supply = <&pm8916_l6>;
  152         };
  153 
  154         light-sensor@23 {
  155                 compatible = "liteon,ltr559";
  156                 reg = <0x23>;
  157                 proximity-near-level = <75>;
  158 
  159                 interrupt-parent = <&msmgpio>;
  160                 interrupts = <115 IRQ_TYPE_EDGE_FALLING>;
  161 
  162                 pinctrl-names = "default";
  163                 pinctrl-0 = <&light_int_default>;
  164 
  165                 vdd-supply = <&pm8916_l17>;
  166                 vio-supply = <&pm8916_l6>;
  167         };
  168 
  169         gyroscope@68 {
  170                 compatible = "bosch,bmg160";
  171                 reg = <0x68>;
  172 
  173                 interrupt-parent = <&msmgpio>;
  174                 interrupts = <23 IRQ_TYPE_EDGE_RISING>,
  175                              <22 IRQ_TYPE_EDGE_RISING>;
  176 
  177                 pinctrl-names = "default";
  178                 pinctrl-0 = <&gyro_int_default>;
  179 
  180                 vdd-supply = <&pm8916_l17>;
  181                 vddio-supply = <&pm8916_l6>;
  182         };
  183 };
  184 
  185 &blsp_i2c5 {
  186         status = "okay";
  187 
  188         rmi4@20 {
  189                 compatible = "syna,rmi4-i2c";
  190                 reg = <0x20>;
  191                 #address-cells = <1>;
  192                 #size-cells = <0>;
  193 
  194                 interrupt-parent = <&msmgpio>;
  195                 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
  196 
  197                 vdd-supply = <&reg_ctp>;
  198                 vio-supply = <&pm8916_l6>;
  199 
  200                 pinctrl-names = "default";
  201                 pinctrl-0 = <&tp_int_default>;
  202 
  203                 syna,startup-delay-ms = <10>;
  204 
  205                 rmi4-f01@1 {
  206                         reg = <0x1>;
  207                         syna,nosleep-mode = <1>; // Allow sleeping
  208                 };
  209 
  210                 rmi4-f12@12 {
  211                         reg = <0x12>;
  212                         syna,sensor-type = <1>; // Touchscreen
  213                 };
  214         };
  215 };
  216 
  217 &blsp1_uart2 {
  218         status = "okay";
  219 };
  220 
  221 &pm8916_resin {
  222         status = "okay";
  223         linux,code = <KEY_VOLUMEDOWN>;
  224 };
  225 
  226 &pm8916_usbin {
  227         status = "okay";
  228 };
  229 
  230 &pm8916_vib {
  231         status = "okay";
  232 };
  233 
  234 &pronto {
  235         status = "okay";
  236 };
  237 
  238 &sdhc_1 {
  239         status = "okay";
  240 
  241         pinctrl-names = "default", "sleep";
  242         pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
  243         pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
  244 };
  245 
  246 &sdhc_2 {
  247         status = "okay";
  248 
  249         pinctrl-names = "default", "sleep";
  250         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
  251         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
  252 
  253         non-removable;
  254 };
  255 
  256 &usb {
  257         status = "okay";
  258         dr_mode = "peripheral";
  259         extcon = <&pm8916_usbin>;
  260 };
  261 
  262 &usb_hs_phy {
  263         extcon = <&pm8916_usbin>;
  264 };
  265 
  266 &smd_rpm_regulators {
  267         vdd_l1_l2_l3-supply = <&pm8916_s3>;
  268         vdd_l4_l5_l6-supply = <&pm8916_s4>;
  269         vdd_l7-supply = <&pm8916_s4>;
  270 
  271         s3 {
  272                 regulator-min-microvolt = <1200000>;
  273                 regulator-max-microvolt = <1300000>;
  274         };
  275 
  276         s4 {
  277                 regulator-min-microvolt = <1800000>;
  278                 regulator-max-microvolt = <2100000>;
  279         };
  280 
  281         l1 {
  282                 regulator-min-microvolt = <1225000>;
  283                 regulator-max-microvolt = <1225000>;
  284         };
  285 
  286         l2 {
  287                 regulator-min-microvolt = <1200000>;
  288                 regulator-max-microvolt = <1200000>;
  289         };
  290 
  291         l4 {
  292                 regulator-min-microvolt = <2050000>;
  293                 regulator-max-microvolt = <2050000>;
  294         };
  295 
  296         l5 {
  297                 regulator-min-microvolt = <1800000>;
  298                 regulator-max-microvolt = <1800000>;
  299         };
  300 
  301         l6 {
  302                 regulator-min-microvolt = <1800000>;
  303                 regulator-max-microvolt = <1800000>;
  304         };
  305 
  306         l7 {
  307                 regulator-min-microvolt = <1800000>;
  308                 regulator-max-microvolt = <1800000>;
  309         };
  310 
  311         l8 {
  312                 regulator-min-microvolt = <2850000>;
  313                 regulator-max-microvolt = <2900000>;
  314         };
  315 
  316         l9 {
  317                 regulator-min-microvolt = <3300000>;
  318                 regulator-max-microvolt = <3300000>;
  319         };
  320 
  321         l10 {
  322                 regulator-min-microvolt = <2700000>;
  323                 regulator-max-microvolt = <2800000>;
  324         };
  325 
  326         l11 {
  327                 regulator-min-microvolt = <1800000>;
  328                 regulator-max-microvolt = <2950000>;
  329                 regulator-allow-set-load;
  330                 regulator-system-load = <200000>;
  331         };
  332 
  333         l12 {
  334                 regulator-min-microvolt = <1800000>;
  335                 regulator-max-microvolt = <2950000>;
  336         };
  337 
  338         l13 {
  339                 regulator-min-microvolt = <3075000>;
  340                 regulator-max-microvolt = <3075000>;
  341         };
  342 
  343         l14 {
  344                 regulator-min-microvolt = <1800000>;
  345                 regulator-max-microvolt = <3300000>;
  346         };
  347 
  348         l15 {
  349                 regulator-min-microvolt = <1800000>;
  350                 regulator-max-microvolt = <3300000>;
  351         };
  352 
  353         l16 {
  354                 regulator-min-microvolt = <1800000>;
  355                 regulator-max-microvolt = <3300000>;
  356         };
  357 
  358         l17 {
  359                 regulator-min-microvolt = <2850000>;
  360                 regulator-max-microvolt = <2850000>;
  361         };
  362 
  363         l18 {
  364                 regulator-min-microvolt = <2700000>;
  365                 regulator-max-microvolt = <2700000>;
  366         };
  367 };
  368 
  369 &msmgpio {
  370         accel_int_default: accel-int-default {
  371                 pins = "gpio116";
  372                 function = "gpio";
  373 
  374                 drive-strength = <2>;
  375                 bias-disable;
  376         };
  377 
  378         camera_flash_default: camera-flash-default {
  379                 pins = "gpio31", "gpio32";
  380                 function = "gpio";
  381 
  382                 drive-strength = <2>;
  383                 bias-disable;
  384         };
  385 
  386         ctp_pwr_en_default: ctp-pwr-en-default {
  387                 pins = "gpio17";
  388                 function = "gpio";
  389 
  390                 drive-strength = <2>;
  391                 bias-disable;
  392         };
  393 
  394         gpio_keys_default: gpio-keys-default {
  395                 pins = "gpio107";
  396                 function = "gpio";
  397 
  398                 drive-strength = <2>;
  399                 bias-pull-up;
  400         };
  401 
  402         gyro_int_default: gyro-int-default {
  403                 pins = "gpio22", "gpio23";
  404                 function = "gpio";
  405 
  406                 drive-strength = <2>;
  407                 bias-disable;
  408         };
  409 
  410         light_int_default: light-int-default {
  411                 pins = "gpio115";
  412                 function = "gpio";
  413 
  414                 drive-strength = <2>;
  415                 bias-disable;
  416         };
  417 
  418         magn_int_default: magn-int-default {
  419                 pins = "gpio113";
  420                 function = "gpio";
  421 
  422                 drive-strength = <2>;
  423                 bias-disable;
  424         };
  425 
  426         tp_int_default: tp-int-default {
  427                 pins = "gpio13";
  428                 function = "gpio";
  429 
  430                 drive-strength = <2>;
  431                 bias-disable;
  432         };
  433 };

Cache object: 44571991a0775cfeb3404dca1e3377f0


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