~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/pinctrl/qcom,pmic-mpp.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Qualcomm PMIC Multi-Purpose Pin (MPP) block
  8 
  9 maintainers:
 10   - Bjorn Andersson <bjorn.andersson@linaro.org>
 11 
 12 description:
 13   This binding describes the MPP block(s) found in the 8xxx series of
 14   PMIC's from Qualcomm.
 15 
 16 properties:
 17   compatible:
 18     oneOf:
 19       - items:
 20           - enum:
 21               - qcom,pm8019-mpp
 22               - qcom,pm8226-mpp
 23               - qcom,pm8841-mpp
 24               - qcom,pm8916-mpp
 25               - qcom,pm8941-mpp
 26               - qcom,pm8950-mpp
 27               - qcom,pmi8950-mpp
 28               - qcom,pm8994-mpp
 29               - qcom,pma8084-mpp
 30               - qcom,pmi8994-mpp
 31           - const: qcom,spmi-mpp
 32       - items:
 33           - enum:
 34               - qcom,pm8018-mpp
 35               - qcom,pm8038-mpp
 36               - qcom,pm8058-mpp
 37               - qcom,pm8821-mpp
 38               - qcom,pm8901-mpp
 39               - qcom,pm8917-mpp
 40               - qcom,pm8921-mpp
 41           - const: qcom,ssbi-mpp
 42 
 43   reg:
 44     maxItems: 1
 45 
 46   interrupt-controller: true
 47 
 48   '#interrupt-cells':
 49     const: 2
 50 
 51   gpio-controller: true
 52   gpio-line-names: true
 53 
 54   gpio-ranges:
 55     maxItems: 1
 56 
 57   '#gpio-cells':
 58     const: 2
 59     description:
 60       The first cell will be used to define gpio number and the
 61       second denotes the flags for this gpio
 62 
 63 additionalProperties: false
 64 
 65 required:
 66   - compatible
 67   - reg
 68   - gpio-controller
 69   - '#gpio-cells'
 70   - gpio-ranges
 71   - interrupt-controller
 72 
 73 patternProperties:
 74   '-state$':
 75     oneOf:
 76       - $ref: "#/$defs/qcom-pmic-mpp-state"
 77       - patternProperties:
 78           '-pins$':
 79             $ref: "#/$defs/qcom-pmic-mpp-state"
 80         additionalProperties: false
 81 
 82 $defs:
 83   qcom-pmic-mpp-state:
 84     type: object
 85     allOf:
 86       - $ref: pinmux-node.yaml
 87       - $ref: pincfg-node.yaml
 88     properties:
 89       pins:
 90         description:
 91           List of gpio pins affected by the properties specified in
 92           this subnode.  Valid pins are
 93                  - mpp1-mpp4 for pm8841
 94                  - mpp1-mpp4 for pm8916
 95                  - mpp1-mpp8 for pm8941
 96                  - mpp1-mpp4 for pm8950
 97                  - mpp1-mpp4 for pmi8950
 98                  - mpp1-mpp4 for pma8084
 99 
100         items:
101           pattern: "^mpp([0-9]+)$"
102 
103       function:
104         items:
105           - enum:
106               - digital
107               - analog
108               - sink
109 
110       bias-disable: true
111       bias-pull-up: true
112       bias-high-impedance: true
113       input-enable: true
114       output-high: true
115       output-low: true
116       power-source: true
117 
118       qcom,analog-level:
119         $ref: /schemas/types.yaml#/definitions/uint32
120         description:
121           Selects the source for analog output. Valued values are defined in
122           <dt-binding/pinctrl/qcom,pmic-mpp.h> PMIC_MPP_AOUT_LVL_*
123         enum: [0, 1, 2, 3, 4, 5, 6, 7]
124 
125       qcom,atest:
126         $ref: /schemas/types.yaml#/definitions/uint32
127         description:
128           Selects ATEST rail to route to GPIO when it's
129           configured in analog-pass-through mode.
130         enum: [1, 2, 3, 4]
131 
132       qcom,dtest:
133         $ref: /schemas/types.yaml#/definitions/uint32
134         description:
135           Selects DTEST rail to route to GPIO when it's
136           configured as digital input.
137         enum: [1, 2, 3, 4]
138 
139       qcom,amux-route:
140         $ref: /schemas/types.yaml#/definitions/uint32
141         description:
142           Selects the source for analog input. Valid values are defined in
143           <dt-bindings/pinctrl/qcom,pmic-mpp.h> PMIC_MPP_AMUX_ROUTE_CH5,
144           PMIC_MPP_AMUX_ROUTE_CH6...
145         enum: [0, 1, 2, 3, 4, 5, 6, 7]
146 
147       qcom,paired:
148         type: boolean
149         description:
150           Indicates that the pin should be operating in paired mode.
151 
152     required:
153       - pins
154       - function
155 
156     additionalProperties: false
157 
158 examples:
159   - |
160     #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
161 
162     pmic {
163         #address-cells = <1>;
164         #size-cells = <0>;
165 
166         pm8841_mpp: mpps@a000 {
167             compatible = "qcom,pm8841-mpp", "qcom,spmi-mpp";
168             reg = <0xa000>;
169 
170             gpio-controller;
171             #gpio-cells = <2>;
172             gpio-ranges = <&pm8841_mpp 0 0 4>;
173             gpio-line-names = "VDD_PX_BIAS", "WLAN_LED_CTRL",
174                               "BT_LED_CTRL", "GPIO-F";
175             interrupt-controller;
176             #interrupt-cells = <2>;
177 
178             pinctrl-names = "default";
179             pinctrl-0 = <&pm8841_default>;
180 
181             mpp1-state {
182                 pins = "mpp1";
183                 function = "digital";
184                 input-enable;
185                 power-source = <PM8841_MPP_S3>;
186             };
187 
188             default-state {
189                 gpio-pins {
190                     pins = "mpp1", "mpp2", "mpp3", "mpp4";
191                     function = "digital";
192                     input-enable;
193                     power-source = <PM8841_MPP_S3>;
194                 };
195             };
196         };
197     };
198 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php