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/Bindings/pinctrl/qcom,pmic-gpio.txt

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 Qualcomm PMIC GPIO block
    2 
    3 This binding describes the GPIO block(s) found in the 8xxx series of
    4 PMIC's from Qualcomm.
    5 
    6 - compatible:
    7         Usage: required
    8         Value type: <string>
    9         Definition: must be one of:
   10                     "qcom,pm8005-gpio"
   11                     "qcom,pm8018-gpio"
   12                     "qcom,pm8038-gpio"
   13                     "qcom,pm8058-gpio"
   14                     "qcom,pm8916-gpio"
   15                     "qcom,pm8917-gpio"
   16                     "qcom,pm8921-gpio"
   17                     "qcom,pm8941-gpio"
   18                     "qcom,pm8950-gpio"
   19                     "qcom,pm8994-gpio"
   20                     "qcom,pm8998-gpio"
   21                     "qcom,pma8084-gpio"
   22                     "qcom,pmi8950-gpio"
   23                     "qcom,pmi8994-gpio"
   24                     "qcom,pmi8998-gpio"
   25                     "qcom,pms405-gpio"
   26                     "qcom,pm660-gpio"
   27                     "qcom,pm660l-gpio"
   28                     "qcom,pm8150-gpio"
   29                     "qcom,pm8150b-gpio"
   30                     "qcom,pm8350-gpio"
   31                     "qcom,pm8350b-gpio"
   32                     "qcom,pm8350c-gpio"
   33                     "qcom,pmk8350-gpio"
   34                     "qcom,pm7325-gpio"
   35                     "qcom,pmr735a-gpio"
   36                     "qcom,pmr735b-gpio"
   37                     "qcom,pm6150-gpio"
   38                     "qcom,pm6150l-gpio"
   39                     "qcom,pm8008-gpio"
   40                     "qcom,pmx55-gpio"
   41 
   42                     And must contain either "qcom,spmi-gpio" or "qcom,ssbi-gpio"
   43                     if the device is on an spmi bus or an ssbi bus respectively
   44 
   45 - reg:
   46         Usage: required
   47         Value type: <prop-encoded-array>
   48         Definition: Register base of the GPIO block and length.
   49 
   50 - interrupts:
   51         Usage: required
   52         Value type: <prop-encoded-array>
   53         Definition: Must contain an array of encoded interrupt specifiers for
   54                     each available GPIO
   55 
   56 - gpio-controller:
   57         Usage: required
   58         Value type: <none>
   59         Definition: Mark the device node as a GPIO controller
   60 
   61 - #gpio-cells:
   62         Usage: required
   63         Value type: <u32>
   64         Definition: Must be 2;
   65                     the first cell will be used to define gpio number and the
   66                     second denotes the flags for this gpio
   67 
   68 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
   69 a general description of GPIO and interrupt bindings.
   70 
   71 Please refer to pinctrl-bindings.txt in this directory for details of the
   72 common pinctrl bindings used by client devices, including the meaning of the
   73 phrase "pin configuration node".
   74 
   75 The pin configuration nodes act as a container for an arbitrary number of
   76 subnodes. Each of these subnodes represents some desired configuration for a
   77 pin or a list of pins. This configuration can include the
   78 mux function to select on those pin(s), and various pin configuration
   79 parameters, as listed below.
   80 
   81 
   82 SUBNODES:
   83 
   84 The name of each subnode is not important; all subnodes should be enumerated
   85 and processed purely based on their content.
   86 
   87 Each subnode only affects those parameters that are explicitly listed. In
   88 other words, a subnode that lists a mux function but no pin configuration
   89 parameters implies no information about any pin configuration parameters.
   90 Similarly, a pin subnode that describes a pullup parameter implies no
   91 information about e.g. the mux function.
   92 
   93 The following generic properties as defined in pinctrl-bindings.txt are valid
   94 to specify in a pin configuration subnode:
   95 
   96 - pins:
   97         Usage: required
   98         Value type: <string-array>
   99         Definition: List of gpio pins affected by the properties specified in
  100                     this subnode.  Valid pins are:
  101                     gpio1-gpio4 for pm8005
  102                     gpio1-gpio6 for pm8018
  103                     gpio1-gpio12 for pm8038
  104                     gpio1-gpio40 for pm8058
  105                     gpio1-gpio4 for pm8916
  106                     gpio1-gpio38 for pm8917
  107                     gpio1-gpio44 for pm8921
  108                     gpio1-gpio36 for pm8941
  109                     gpio1-gpio8 for pm8950 (hole on gpio3)
  110                     gpio1-gpio22 for pm8994
  111                     gpio1-gpio26 for pm8998
  112                     gpio1-gpio22 for pma8084
  113                     gpio1-gpio2 for pmi8950
  114                     gpio1-gpio10 for pmi8994
  115                     gpio1-gpio12 for pms405 (holes on gpio1, gpio9 and gpio10)
  116                     gpio1-gpio10 for pm8150 (holes on gpio2, gpio5, gpio7
  117                                              and gpio8)
  118                     gpio1-gpio12 for pm8150b (holes on gpio3, gpio4, gpio7)
  119                     gpio1-gpio12 for pm8150l (hole on gpio7)
  120                     gpio1-gpio10 for pm8350
  121                     gpio1-gpio8 for pm8350b
  122                     gpio1-gpio9 for pm8350c
  123                     gpio1-gpio4 for pmk8350
  124                     gpio1-gpio10 for pm7325
  125                     gpio1-gpio4 for pmr735a
  126                     gpio1-gpio4 for pmr735b
  127                     gpio1-gpio10 for pm6150
  128                     gpio1-gpio12 for pm6150l
  129                     gpio1-gpio2 for pm8008
  130                     gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10
  131                                             and gpio11)
  132 
  133 - function:
  134         Usage: required
  135         Value type: <string>
  136         Definition: Specify the alternative function to be configured for the
  137                     specified pins.  Valid values are:
  138                     "normal",
  139                     "paired",
  140                     "func1",
  141                     "func2",
  142                     "dtest1",
  143                     "dtest2",
  144                     "dtest3",
  145                     "dtest4",
  146                     And following values are supported by LV/MV GPIO subtypes:
  147                     "func3",
  148                     "func4"
  149 
  150 - bias-disable:
  151         Usage: optional
  152         Value type: <none>
  153         Definition: The specified pins should be configured as no pull.
  154 
  155 - bias-pull-down:
  156         Usage: optional
  157         Value type: <none>
  158         Definition: The specified pins should be configured as pull down.
  159 
  160 - bias-pull-up:
  161         Usage: optional
  162         Value type: <empty>
  163         Definition: The specified pins should be configured as pull up.
  164 
  165 - qcom,pull-up-strength:
  166         Usage: optional
  167         Value type: <u32>
  168         Definition: Specifies the strength to use for pull up, if selected.
  169                     Valid values are; as defined in
  170                     <dt-bindings/pinctrl/qcom,pmic-gpio.h>:
  171                     1: 30uA                     (PMIC_GPIO_PULL_UP_30)
  172                     2: 1.5uA                    (PMIC_GPIO_PULL_UP_1P5)
  173                     3: 31.5uA                   (PMIC_GPIO_PULL_UP_31P5)
  174                     4: 1.5uA + 30uA boost       (PMIC_GPIO_PULL_UP_1P5_30)
  175                     If this property is omitted 30uA strength will be used if
  176                     pull up is selected
  177 
  178 - bias-high-impedance:
  179         Usage: optional
  180         Value type: <none>
  181         Definition: The specified pins will put in high-Z mode and disabled.
  182 
  183 - input-enable:
  184         Usage: optional
  185         Value type: <none>
  186         Definition: The specified pins are put in input mode.
  187 
  188 - output-high:
  189         Usage: optional
  190         Value type: <none>
  191         Definition: The specified pins are configured in output mode, driven
  192                     high.
  193 
  194 - output-low:
  195         Usage: optional
  196         Value type: <none>
  197         Definition: The specified pins are configured in output mode, driven
  198                     low.
  199 
  200 - power-source:
  201         Usage: optional
  202         Value type: <u32>
  203         Definition: Selects the power source for the specified pins. Valid
  204                     power sources are defined per chip in
  205                     <dt-bindings/pinctrl/qcom,pmic-gpio.h>
  206 
  207 - qcom,drive-strength:
  208         Usage: optional
  209         Value type: <u32>
  210         Definition: Selects the drive strength for the specified pins. Value
  211                     drive strengths are:
  212                     0: no (PMIC_GPIO_STRENGTH_NO)
  213                     1: high (PMIC_GPIO_STRENGTH_HIGH) 0.9mA @ 1.8V - 1.9mA @ 2.6V
  214                     2: medium (PMIC_GPIO_STRENGTH_MED) 0.6mA @ 1.8V - 1.25mA @ 2.6V
  215                     3: low (PMIC_GPIO_STRENGTH_LOW) 0.15mA @ 1.8V - 0.3mA @ 2.6V
  216                     as defined in <dt-bindings/pinctrl/qcom,pmic-gpio.h>
  217 
  218 - drive-push-pull:
  219         Usage: optional
  220         Value type: <none>
  221         Definition: The specified pins are configured in push-pull mode.
  222 
  223 - drive-open-drain:
  224         Usage: optional
  225         Value type: <none>
  226         Definition: The specified pins are configured in open-drain mode.
  227 
  228 - drive-open-source:
  229         Usage: optional
  230         Value type: <none>
  231         Definition: The specified pins are configured in open-source mode.
  232 
  233 - qcom,analog-pass:
  234         Usage: optional
  235         Value type: <none>
  236         Definition: The specified pins are configured in analog-pass-through mode.
  237 
  238 - qcom,atest:
  239         Usage: optional
  240         Value type: <u32>
  241         Definition: Selects ATEST rail to route to GPIO when it's configured
  242                     in analog-pass-through mode.
  243                     Valid values are 1-4 corresponding to ATEST1 to ATEST4.
  244 
  245 - qcom,dtest-buffer:
  246         Usage: optional
  247         Value type: <u32>
  248         Definition: Selects DTEST rail to route to GPIO when it's configured
  249                     as digital input.
  250                     Valid values are 1-4 corresponding to DTEST1 to DTEST4.
  251 
  252 Example:
  253 
  254         pm8921_gpio: gpio@150 {
  255                 compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
  256                 reg = <0x150 0x160>;
  257                 interrupts = <192 1>, <193 1>, <194 1>,
  258                              <195 1>, <196 1>, <197 1>,
  259                              <198 1>, <199 1>, <200 1>,
  260                              <201 1>, <202 1>, <203 1>,
  261                              <204 1>, <205 1>, <206 1>,
  262                              <207 1>, <208 1>, <209 1>,
  263                              <210 1>, <211 1>, <212 1>,
  264                              <213 1>, <214 1>, <215 1>,
  265                              <216 1>, <217 1>, <218 1>,
  266                              <219 1>, <220 1>, <221 1>,
  267                              <222 1>, <223 1>, <224 1>,
  268                              <225 1>, <226 1>, <227 1>,
  269                              <228 1>, <229 1>, <230 1>,
  270                              <231 1>, <232 1>, <233 1>,
  271                              <234 1>, <235 1>;
  272 
  273                 gpio-controller;
  274                 #gpio-cells = <2>;
  275 
  276                 pm8921_gpio_keys: gpio-keys {
  277                         volume-keys {
  278                                 pins = "gpio20", "gpio21";
  279                                 function = "normal";
  280 
  281                                 input-enable;
  282                                 bias-pull-up;
  283                                 drive-push-pull;
  284                                 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  285                                 power-source = <PM8921_GPIO_S4>;
  286                         };
  287                 };
  288         };

Cache object: 888bba79a53a39ecf7e9b5cc279ad706


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