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-samsung-a2015-common.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-only
    2 
    3 #include "msm8916-pm8916.dtsi"
    4 #include <dt-bindings/gpio/gpio.h>
    5 #include <dt-bindings/input/input.h>
    6 #include <dt-bindings/interrupt-controller/irq.h>
    7 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
    8 
    9 / {
   10         aliases {
   11                 serial0 = &blsp1_uart2;
   12         };
   13 
   14         chosen {
   15                 stdout-path = "serial0";
   16         };
   17 
   18         reserved-memory {
   19                 /* Additional memory used by Samsung firmware modifications */
   20                 tz-apps@85500000 {
   21                         reg = <0x0 0x85500000 0x0 0xb00000>;
   22                         no-map;
   23                 };
   24         };
   25 
   26         gpio-keys {
   27                 compatible = "gpio-keys";
   28 
   29                 pinctrl-names = "default";
   30                 pinctrl-0 = <&gpio_keys_default>;
   31 
   32                 label = "GPIO Buttons";
   33 
   34                 button-volume-up {
   35                         label = "Volume Up";
   36                         gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
   37                         linux,code = <KEY_VOLUMEUP>;
   38                 };
   39 
   40                 button-home {
   41                         label = "Home";
   42                         gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
   43                         linux,code = <KEY_HOMEPAGE>;
   44                 };
   45         };
   46 
   47         gpio-hall-sensor {
   48                 compatible = "gpio-keys";
   49 
   50                 pinctrl-names = "default";
   51                 pinctrl-0 = <&gpio_hall_sensor_default>;
   52 
   53                 label = "GPIO Hall Effect Sensor";
   54 
   55                 event-hall-sensor {
   56                         label = "Hall Effect Sensor";
   57                         gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>;
   58                         linux,input-type = <EV_SW>;
   59                         linux,code = <SW_LID>;
   60                         linux,can-disable;
   61                 };
   62         };
   63 
   64         reg_vdd_tsp: regulator-vdd-tsp {
   65                 compatible = "regulator-fixed";
   66                 regulator-name = "vdd_tsp";
   67                 regulator-min-microvolt = <3300000>;
   68                 regulator-max-microvolt = <3300000>;
   69 
   70                 gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
   71                 enable-active-high;
   72 
   73                 pinctrl-names = "default";
   74                 pinctrl-0 = <&tsp_en_default>;
   75         };
   76 
   77         i2c-muic {
   78                 compatible = "i2c-gpio";
   79                 sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
   80                 scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
   81 
   82                 pinctrl-names = "default";
   83                 pinctrl-0 = <&muic_i2c_default>;
   84 
   85                 #address-cells = <1>;
   86                 #size-cells = <0>;
   87 
   88                 muic: extcon@25 {
   89                         compatible = "siliconmitus,sm5502-muic";
   90 
   91                         reg = <0x25>;
   92                         interrupt-parent = <&msmgpio>;
   93                         interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
   94 
   95                         pinctrl-names = "default";
   96                         pinctrl-0 = <&muic_int_default>;
   97                 };
   98         };
   99 
  100         i2c-tkey {
  101                 compatible = "i2c-gpio";
  102                 sda-gpios = <&msmgpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
  103                 scl-gpios = <&msmgpio 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
  104 
  105                 pinctrl-names = "default";
  106                 pinctrl-0 = <&tkey_i2c_default>;
  107 
  108                 #address-cells = <1>;
  109                 #size-cells = <0>;
  110 
  111                 touchkey: touchkey@20 {
  112                         /* Note: Actually an ABOV MCU that implements same interface */
  113                         compatible = "coreriver,tc360-touchkey";
  114                         reg = <0x20>;
  115 
  116                         interrupt-parent = <&msmgpio>;
  117                         interrupts = <98 IRQ_TYPE_EDGE_FALLING>;
  118 
  119                         /* vcc/vdd-supply are board-specific */
  120                         vddio-supply = <&pm8916_l6>;
  121 
  122                         linux,keycodes = <KEY_APPSELECT KEY_BACK>;
  123 
  124                         pinctrl-names = "default";
  125                         pinctrl-0 = <&tkey_default>;
  126                 };
  127         };
  128 
  129         i2c-nfc {
  130                 compatible = "i2c-gpio";
  131                 sda-gpios = <&msmgpio 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
  132                 scl-gpios = <&msmgpio 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
  133 
  134                 pinctrl-names = "default";
  135                 pinctrl-0 = <&nfc_i2c_default>;
  136 
  137                 #address-cells = <1>;
  138                 #size-cells = <0>;
  139 
  140                 nfc@27 {
  141                         compatible = "samsung,s3fwrn5-i2c";
  142                         reg = <0x27>;
  143 
  144                         interrupt-parent = <&msmgpio>;
  145                         interrupts = <21 IRQ_TYPE_EDGE_RISING>;
  146 
  147                         en-gpios = <&msmgpio 20 GPIO_ACTIVE_HIGH>;
  148                         wake-gpios = <&msmgpio 49 GPIO_ACTIVE_HIGH>;
  149 
  150                         clocks = <&rpmcc RPM_SMD_BB_CLK2_PIN>;
  151 
  152                         pinctrl-names = "default";
  153                         pinctrl-0 = <&nfc_default &nfc_clk_req>;
  154                 };
  155         };
  156 };
  157 
  158 &blsp_i2c2 {
  159         status = "okay";
  160 
  161         accelerometer: accelerometer@10 {
  162                 compatible = "bosch,bmc150_accel";
  163                 reg = <0x10>;
  164                 interrupt-parent = <&msmgpio>;
  165                 interrupts = <115 IRQ_TYPE_EDGE_RISING>;
  166 
  167                 vdd-supply = <&pm8916_l17>;
  168                 vddio-supply = <&pm8916_l5>;
  169 
  170                 pinctrl-names = "default";
  171                 pinctrl-0 = <&accel_int_default>;
  172         };
  173 
  174         magnetometer@12 {
  175                 compatible = "bosch,bmc150_magn";
  176                 reg = <0x12>;
  177 
  178                 vdd-supply = <&pm8916_l17>;
  179                 vddio-supply = <&pm8916_l5>;
  180         };
  181 };
  182 
  183 &blsp_i2c4 {
  184         status = "okay";
  185 
  186         battery@35 {
  187                 compatible = "richtek,rt5033-battery";
  188                 reg = <0x35>;
  189                 interrupt-parent = <&msmgpio>;
  190                 interrupts = <121 IRQ_TYPE_EDGE_BOTH>;
  191 
  192                 pinctrl-names = "default";
  193                 pinctrl-0 = <&fg_alert_default>;
  194         };
  195 };
  196 
  197 &blsp1_uart2 {
  198         status = "okay";
  199 };
  200 
  201 &dsi0 {
  202         pinctrl-names = "default", "sleep";
  203         pinctrl-0 = <&mdss_default>;
  204         pinctrl-1 = <&mdss_sleep>;
  205 };
  206 
  207 &mdss {
  208         status = "okay";
  209 };
  210 
  211 &pm8916_resin {
  212         status = "okay";
  213         linux,code = <KEY_VOLUMEDOWN>;
  214 };
  215 
  216 &pronto {
  217         status = "okay";
  218 };
  219 
  220 &sdhc_1 {
  221         status = "okay";
  222 
  223         pinctrl-names = "default", "sleep";
  224         pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
  225         pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
  226 };
  227 
  228 &sdhc_2 {
  229         status = "okay";
  230 
  231         pinctrl-names = "default", "sleep";
  232         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
  233         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
  234 
  235         cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
  236 };
  237 
  238 &usb {
  239         status = "okay";
  240         extcon = <&muic>, <&muic>;
  241 };
  242 
  243 &usb_hs_phy {
  244         extcon = <&muic>;
  245 };
  246 
  247 &smd_rpm_regulators {
  248         vdd_l1_l2_l3-supply = <&pm8916_s3>;
  249         vdd_l4_l5_l6-supply = <&pm8916_s4>;
  250         vdd_l7-supply = <&pm8916_s4>;
  251 
  252         s3 {
  253                 regulator-min-microvolt = <1200000>;
  254                 regulator-max-microvolt = <1300000>;
  255         };
  256 
  257         s4 {
  258                 regulator-min-microvolt = <1800000>;
  259                 regulator-max-microvolt = <2100000>;
  260         };
  261 
  262         l1 {
  263                 regulator-min-microvolt = <1225000>;
  264                 regulator-max-microvolt = <1225000>;
  265         };
  266 
  267         l2 {
  268                 regulator-min-microvolt = <1200000>;
  269                 regulator-max-microvolt = <1200000>;
  270         };
  271 
  272         l4 {
  273                 regulator-min-microvolt = <2050000>;
  274                 regulator-max-microvolt = <2050000>;
  275         };
  276 
  277         l5 {
  278                 regulator-min-microvolt = <1800000>;
  279                 regulator-max-microvolt = <1800000>;
  280         };
  281 
  282         l6 {
  283                 regulator-min-microvolt = <1800000>;
  284                 regulator-max-microvolt = <1800000>;
  285         };
  286 
  287         l7 {
  288                 regulator-min-microvolt = <1800000>;
  289                 regulator-max-microvolt = <1800000>;
  290         };
  291 
  292         l8 {
  293                 regulator-min-microvolt = <2850000>;
  294                 regulator-max-microvolt = <2900000>;
  295         };
  296 
  297         l9 {
  298                 regulator-min-microvolt = <3300000>;
  299                 regulator-max-microvolt = <3300000>;
  300         };
  301 
  302         l10 {
  303                 regulator-min-microvolt = <2700000>;
  304                 regulator-max-microvolt = <2800000>;
  305         };
  306 
  307         l11 {
  308                 regulator-min-microvolt = <1800000>;
  309                 regulator-max-microvolt = <2950000>;
  310                 regulator-allow-set-load;
  311                 regulator-system-load = <200000>;
  312         };
  313 
  314         l12 {
  315                 regulator-min-microvolt = <1800000>;
  316                 regulator-max-microvolt = <2950000>;
  317         };
  318 
  319         l13 {
  320                 regulator-min-microvolt = <3075000>;
  321                 regulator-max-microvolt = <3075000>;
  322         };
  323 
  324         l14 {
  325                 regulator-min-microvolt = <1800000>;
  326                 regulator-max-microvolt = <3300000>;
  327         };
  328 
  329         l15 {
  330                 regulator-min-microvolt = <1800000>;
  331                 regulator-max-microvolt = <3300000>;
  332         };
  333 
  334         l16 {
  335                 regulator-min-microvolt = <1800000>;
  336                 regulator-max-microvolt = <3300000>;
  337         };
  338 
  339         l17 {
  340                 regulator-min-microvolt = <2850000>;
  341                 regulator-max-microvolt = <2850000>;
  342         };
  343 
  344         l18 {
  345                 regulator-min-microvolt = <2700000>;
  346                 regulator-max-microvolt = <2700000>;
  347         };
  348 };
  349 
  350 &msmgpio {
  351         accel_int_default: accel-int-default {
  352                 pins = "gpio115";
  353                 function = "gpio";
  354 
  355                 drive-strength = <2>;
  356                 bias-disable;
  357         };
  358 
  359         fg_alert_default: fg-alert-default {
  360                 pins = "gpio121";
  361                 function = "gpio";
  362 
  363                 drive-strength = <2>;
  364                 bias-disable;
  365         };
  366 
  367         gpio_keys_default: gpio-keys-default {
  368                 pins = "gpio107", "gpio109";
  369                 function = "gpio";
  370 
  371                 drive-strength = <2>;
  372                 bias-pull-up;
  373         };
  374 
  375         gpio_hall_sensor_default: gpio-hall-sensor-default {
  376                 pins = "gpio52";
  377                 function = "gpio";
  378 
  379                 drive-strength = <2>;
  380                 bias-disable;
  381         };
  382 
  383         mdss {
  384                 mdss_default: mdss-default {
  385                         pins = "gpio25";
  386                         function = "gpio";
  387 
  388                         drive-strength = <8>;
  389                         bias-disable;
  390                 };
  391                 mdss_sleep: mdss-sleep {
  392                         pins = "gpio25";
  393                         function = "gpio";
  394 
  395                         drive-strength = <2>;
  396                         bias-pull-down;
  397                 };
  398         };
  399 
  400         muic_i2c_default: muic-i2c-default {
  401                 pins = "gpio105", "gpio106";
  402                 function = "gpio";
  403 
  404                 drive-strength = <2>;
  405                 bias-disable;
  406         };
  407 
  408         muic_int_default: muic-int-default {
  409                 pins = "gpio12";
  410                 function = "gpio";
  411 
  412                 drive-strength = <2>;
  413                 bias-disable;
  414         };
  415 
  416         nfc_default: nfc-default {
  417                 pins = "gpio20", "gpio49";
  418                 function = "gpio";
  419 
  420                 drive-strength = <2>;
  421                 bias-disable;
  422 
  423                 irq {
  424                         pins = "gpio21";
  425                         function = "gpio";
  426 
  427                         drive-strength = <2>;
  428                         bias-pull-down;
  429                 };
  430         };
  431 
  432         nfc_i2c_default: nfc-i2c-default {
  433                 pins = "gpio0", "gpio1";
  434                 function = "gpio";
  435 
  436                 drive-strength = <2>;
  437                 bias-disable;
  438         };
  439 
  440         tkey_default: tkey-default {
  441                 pins = "gpio98";
  442                 function = "gpio";
  443 
  444                 drive-strength = <2>;
  445                 bias-disable;
  446         };
  447 
  448         tkey_i2c_default: tkey-i2c-default {
  449                 pins = "gpio16", "gpio17";
  450                 function = "gpio";
  451 
  452                 drive-strength = <2>;
  453                 bias-disable;
  454         };
  455 
  456         tsp_en_default: tsp-en-default {
  457                 pins = "gpio73";
  458                 function = "gpio";
  459 
  460                 drive-strength = <2>;
  461                 bias-disable;
  462         };
  463 
  464         ts_int_default: ts-int-default {
  465                 pins = "gpio13";
  466                 function = "gpio";
  467 
  468                 drive-strength = <2>;
  469                 bias-disable;
  470         };
  471 };
  472 
  473 &pm8916_gpios {
  474         nfc_clk_req: nfc-clk-req-state {
  475                 pins = "gpio2";
  476                 function = "func1";
  477 
  478                 input-enable;
  479                 bias-disable;
  480                 power-source = <PM8916_GPIO_L2>;
  481         };
  482 };

Cache object: 76c67a34729a8f476b1d83c9b159938a


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