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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.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 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml (Version linux-6.0.19)


  1 # SPDX-License-Identifier: GPL-2.0-only             1 # SPDX-License-Identifier: GPL-2.0-only
  2 %YAML 1.2                                           2 %YAML 1.2
  3 ---                                                 3 ---
  4 $id: http://devicetree.org/schemas/mfd/qcom,sp      4 $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml#
  5 $schema: http://devicetree.org/meta-schemas/co      5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6                                                     6 
  7 title: Qualcomm SPMI PMICs multi-function devi      7 title: Qualcomm SPMI PMICs multi-function device
  8                                                     8 
  9 description: |                                      9 description: |
 10   Some Qualcomm PMICs used with the Snapdragon     10   Some Qualcomm PMICs used with the Snapdragon series SoCs are interfaced
 11   to the chip via the SPMI (System Power Manag     11   to the chip via the SPMI (System Power Management Interface) bus.
 12   Support for multiple independent functions a     12   Support for multiple independent functions are implemented by splitting the
 13   16-bit SPMI peripheral address space into 25     13   16-bit SPMI peripheral address space into 256 smaller fixed-size regions, 256 bytes
 14   each. A function can consume one or more of      14   each. A function can consume one or more of these fixed-size register regions.
 15                                                    15 
 16   The Qualcomm SPMI series includes the PM8941     16   The Qualcomm SPMI series includes the PM8941, PM8841, PMA8084, PM8998 and other
 17   PMICs.  These PMICs use a "QPNP" scheme thro     17   PMICs.  These PMICs use a "QPNP" scheme through SPMI interface.
 18   QPNP is effectively a partitioning scheme fo     18   QPNP is effectively a partitioning scheme for dividing the SPMI extended
 19   register space up into logical pieces, and s     19   register space up into logical pieces, and set of fixed register
 20   locations/definitions within these regions,      20   locations/definitions within these regions, with some of these regions
 21   specifically used for interrupt handling.        21   specifically used for interrupt handling.
 22                                                    22 
 23 maintainers:                                       23 maintainers:
 24   - Stephen Boyd <sboyd@kernel.org>                 24   - Stephen Boyd <sboyd@kernel.org>
 25                                                    25 
 26 properties:                                        26 properties:
 27   $nodename:                                       27   $nodename:
 28     oneOf:                                         28     oneOf:
 29       - pattern: '^pmic@.*$'                       29       - pattern: '^pmic@.*$'
 30       - pattern: '^pm(a|s)?[0-9]*@.*$'             30       - pattern: '^pm(a|s)?[0-9]*@.*$'
 31         deprecated: true                           31         deprecated: true
 32                                                    32 
 33   compatible:                                      33   compatible:
 34     items:                                         34     items:
 35       - enum:                                      35       - enum:
 36           - qcom,pm2250                        !!  36           - qcom,pm660
 37           - qcom,pm6125                        !!  37           - qcom,pm660l
 38           - qcom,pm6150                            38           - qcom,pm6150
 39           - qcom,pm6150l                           39           - qcom,pm6150l
 40           - qcom,pm6350                            40           - qcom,pm6350
 41           - qcom,pm660                         << 
 42           - qcom,pm660l                        << 
 43           - qcom,pm7250b                       << 
 44           - qcom,pm7550ba                      << 
 45           - qcom,pm7325                            41           - qcom,pm7325
 46           - qcom,pm8004                            42           - qcom,pm8004
 47           - qcom,pm8005                            43           - qcom,pm8005
 48           - qcom,pm8009                            44           - qcom,pm8009
 49           - qcom,pm8010                        << 
 50           - qcom,pm8019                            45           - qcom,pm8019
 51           - qcom,pm8028                        << 
 52           - qcom,pm8110                            46           - qcom,pm8110
 53           - qcom,pm8150                            47           - qcom,pm8150
 54           - qcom,pm8150b                           48           - qcom,pm8150b
 55           - qcom,pm8150c                       << 
 56           - qcom,pm8150l                           49           - qcom,pm8150l
 57           - qcom,pm8226                            50           - qcom,pm8226
 58           - qcom,pm8350                            51           - qcom,pm8350
 59           - qcom,pm8350b                           52           - qcom,pm8350b
 60           - qcom,pm8350c                           53           - qcom,pm8350c
 61           - qcom,pm8450                        << 
 62           - qcom,pm8550                        << 
 63           - qcom,pm8550b                       << 
 64           - qcom,pm8550ve                      << 
 65           - qcom,pm8550vs                      << 
 66           - qcom,pm8841                            54           - qcom,pm8841
 67           - qcom,pm8909                            55           - qcom,pm8909
 68           - qcom,pm8916                            56           - qcom,pm8916
 69           - qcom,pm8937                        << 
 70           - qcom,pm8941                            57           - qcom,pm8941
 71           - qcom,pm8950                            58           - qcom,pm8950
 72           - qcom,pm8953                        << 
 73           - qcom,pm8994                            59           - qcom,pm8994
 74           - qcom,pm8998                            60           - qcom,pm8998
 75           - qcom,pma8084                           61           - qcom,pma8084
 76           - qcom,pmc8180                       << 
 77           - qcom,pmc8180c                      << 
 78           - qcom,pmc8380                       << 
 79           - qcom,pmd9635                           62           - qcom,pmd9635
 80           - qcom,pmi632                        << 
 81           - qcom,pmi8950                           63           - qcom,pmi8950
 82           - qcom,pmi8962                           64           - qcom,pmi8962
 83           - qcom,pmi8994                           65           - qcom,pmi8994
 84           - qcom,pmi8998                           66           - qcom,pmi8998
 85           - qcom,pmk8002                       << 
 86           - qcom,pmk8350                           67           - qcom,pmk8350
 87           - qcom,pmk8550                       << 
 88           - qcom,pmm8155au                         68           - qcom,pmm8155au
 89           - qcom,pmm8654au                     << 
 90           - qcom,pmp8074                       << 
 91           - qcom,pmr735a                           69           - qcom,pmr735a
 92           - qcom,pmr735b                           70           - qcom,pmr735b
 93           - qcom,pmr735d                       << 
 94           - qcom,pms405                            71           - qcom,pms405
 95           - qcom,pmx55                             72           - qcom,pmx55
 96           - qcom,pmx65                             73           - qcom,pmx65
 97           - qcom,pmx75                         << 
 98           - qcom,smb2351                           74           - qcom,smb2351
 99           - qcom,smb2360                       << 
100       - const: qcom,spmi-pmic                      75       - const: qcom,spmi-pmic
101                                                    76 
102   reg:                                             77   reg:
103     minItems: 1                                    78     minItems: 1
104     maxItems: 2                                    79     maxItems: 2
105                                                    80 
106   '#address-cells':                                81   '#address-cells':
107     const: 1                                       82     const: 1
108                                                    83 
109   '#size-cells':                                   84   '#size-cells':
110     const: 0                                       85     const: 0
111                                                    86 
112   labibb:                                          87   labibb:
113     type: object                                   88     type: object
114     $ref: /schemas/regulator/qcom-labibb-regul     89     $ref: /schemas/regulator/qcom-labibb-regulator.yaml#
115                                                    90 
116   regulators:                                      91   regulators:
117     type: object                                   92     type: object
118     $ref: /schemas/regulator/qcom,spmi-regulat !!  93     $ref: /schemas/regulator/regulator.yaml#
119                                                    94 
120   pwm:                                             95   pwm:
121     type: object                                   96     type: object
122     $ref: /schemas/leds/leds-qcom-lpg.yaml#        97     $ref: /schemas/leds/leds-qcom-lpg.yaml#
123                                                    98 
124 patternProperties:                                 99 patternProperties:
125   "^adc@[0-9a-f]+$":                              100   "^adc@[0-9a-f]+$":
126     type: object                                  101     type: object
127     oneOf:                                     !! 102     $ref: /schemas/iio/adc/qcom,spmi-vadc.yaml#
128       - $ref: /schemas/iio/adc/qcom,spmi-iadc. << 
129       - $ref: /schemas/iio/adc/qcom,spmi-rradc << 
130       - $ref: /schemas/iio/adc/qcom,spmi-vadc. << 
131                                                   103 
132   "^adc-tm@[0-9a-f]+$":                           104   "^adc-tm@[0-9a-f]+$":
133     type: object                                  105     type: object
134     # ref depends on compatible, see allOf bel !! 106     $ref: /schemas/thermal/qcom-spmi-adc-tm5.yaml#
135                                                   107 
136   "^audio-codec@[0-9a-f]+$":                      108   "^audio-codec@[0-9a-f]+$":
137     type: object                                  109     type: object
138     $ref: /schemas/sound/qcom,pm8916-wcd-analo !! 110     additionalProperties: true # FIXME qcom,pm8916-wcd-analog-codec binding not converted yet
139                                                << 
140   "^battery@[0-9a-f]+$":                       << 
141     type: object                               << 
142     oneOf:                                     << 
143       - $ref: /schemas/power/supply/qcom,pm891 << 
144                                                   111 
145   "^charger@[0-9a-f]+$":                       !! 112   "extcon@[0-9a-f]+$":
146     type: object                                  113     type: object
147     oneOf:                                     !! 114     $ref: /schemas/extcon/qcom,pm8941-misc.yaml#
148       - $ref: /schemas/power/supply/qcom,pm891 << 
149       - $ref: /schemas/power/supply/qcom,pm894 << 
150       - $ref: /schemas/power/supply/qcom,pm894 << 
151       - $ref: /schemas/power/supply/qcom,pmi89 << 
152                                                   115 
153   "gpio@[0-9a-f]+$":                           !! 116   "gpio(s)?@[0-9a-f]+$":
154     type: object                                  117     type: object
155     $ref: /schemas/pinctrl/qcom,pmic-gpio.yaml    118     $ref: /schemas/pinctrl/qcom,pmic-gpio.yaml#
156                                                   119 
157   "^led-controller@[0-9a-f]+$":                << 
158     type: object                               << 
159     $ref: /schemas/leds/qcom,spmi-flash-led.ya << 
160                                                << 
161   "^nvram@[0-9a-f]+$":                         << 
162     type: object                               << 
163     $ref: /schemas/nvmem/qcom,spmi-sdam.yaml#  << 
164                                                << 
165   "^pbs@[0-9a-f]+$":                           << 
166     type: object                               << 
167     $ref: /schemas/soc/qcom/qcom,pbs.yaml#     << 
168                                                << 
169   "phy@[0-9a-f]+$":                            << 
170     type: object                               << 
171     $ref: /schemas/phy/qcom,snps-eusb2-repeate << 
172                                                << 
173   "pon@[0-9a-f]+$":                               120   "pon@[0-9a-f]+$":
174     type: object                                  121     type: object
175     $ref: /schemas/power/reset/qcom,pon.yaml#     122     $ref: /schemas/power/reset/qcom,pon.yaml#
176                                                   123 
177   "^rtc@[0-9a-f]+$":                              124   "^rtc@[0-9a-f]+$":
178     type: object                                  125     type: object
179     $ref: /schemas/rtc/qcom-pm8xxx-rtc.yaml#      126     $ref: /schemas/rtc/qcom-pm8xxx-rtc.yaml#
180                                                   127 
181   "^temp-alarm@[0-9a-f]+$":                       128   "^temp-alarm@[0-9a-f]+$":
182     type: object                                  129     type: object
183     $ref: /schemas/thermal/qcom,spmi-temp-alar    130     $ref: /schemas/thermal/qcom,spmi-temp-alarm.yaml#
184                                                   131 
185   "^typec@[0-9a-f]+$":                         << 
186     type: object                               << 
187     $ref: /schemas/usb/qcom,pmic-typec.yaml#   << 
188                                                << 
189   "^usb-detect@[0-9a-f]+$":                    << 
190     type: object                               << 
191     $ref: /schemas/extcon/qcom,pm8941-misc.yam << 
192                                                << 
193   "^usb-vbus-regulator@[0-9a-f]+$":            << 
194     type: object                               << 
195     $ref: /schemas/regulator/qcom,usb-vbus-reg << 
196                                                << 
197   "^vibrator@[0-9a-f]+$":                         132   "^vibrator@[0-9a-f]+$":
198     type: object                                  133     type: object
199     $ref: /schemas/input/qcom,pm8xxx-vib.yaml# !! 134     additionalProperties: true # FIXME qcom,pm8916-vib binding not converted yet
200                                                   135 
201   "^mpps@[0-9a-f]+$":                             136   "^mpps@[0-9a-f]+$":
202     type: object                                  137     type: object
203     $ref: /schemas/pinctrl/qcom,pmic-mpp.yaml#    138     $ref: /schemas/pinctrl/qcom,pmic-mpp.yaml#
204                                                   139 
205   "(.*)?(wled|leds)@[0-9a-f]+$":                  140   "(.*)?(wled|leds)@[0-9a-f]+$":
206     type: object                                  141     type: object
207     $ref: /schemas/leds/backlight/qcom-wled.ya    142     $ref: /schemas/leds/backlight/qcom-wled.yaml#
208     unevaluatedProperties: false                  143     unevaluatedProperties: false
209                                                   144 
210 required:                                         145 required:
211   - compatible                                    146   - compatible
212   - reg                                           147   - reg
213                                                   148 
214 allOf:                                         << 
215   - if:                                        << 
216       properties:                              << 
217         compatible:                            << 
218           contains:                            << 
219             enum:                              << 
220               - qcom,pm8998                    << 
221     then:                                      << 
222       patternProperties:                       << 
223         "^adc-tm@[0-9a-f]+$":                  << 
224           $ref: /schemas/thermal/qcom-spmi-adc << 
225     else:                                      << 
226       patternProperties:                       << 
227         "^adc-tm@[0-9a-f]+$":                  << 
228           $ref: /schemas/thermal/qcom-spmi-adc << 
229                                                << 
230 additionalProperties: false                       149 additionalProperties: false
231                                                   150 
232 examples:                                         151 examples:
233   - |                                             152   - |
234     #include <dt-bindings/spmi/spmi.h>            153     #include <dt-bindings/spmi/spmi.h>
235     #include <dt-bindings/interrupt-controller    154     #include <dt-bindings/interrupt-controller/irq.h>
236     #include <dt-bindings/interrupt-controller    155     #include <dt-bindings/interrupt-controller/arm-gic.h>
237                                                   156 
238     spmi@c440000 {                                157     spmi@c440000 {
239         compatible = "qcom,spmi-pmic-arb";        158         compatible = "qcom,spmi-pmic-arb";
240         reg = <0x0c440000 0x1100>,                159         reg = <0x0c440000 0x1100>,
241               <0x0c600000 0x2000000>,             160               <0x0c600000 0x2000000>,
242               <0x0e600000 0x100000>,              161               <0x0e600000 0x100000>,
243               <0x0e700000 0xa0000>,               162               <0x0e700000 0xa0000>,
244               <0x0c40a000 0x26000>;               163               <0x0c40a000 0x26000>;
245         reg-names = "core", "chnls", "obsrvr",    164         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
246         interrupt-names = "periph_irq";           165         interrupt-names = "periph_irq";
247         interrupts = <GIC_SPI 481 IRQ_TYPE_LEV    166         interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>;
248         qcom,ee = <0>;                            167         qcom,ee = <0>;
249         qcom,channel = <0>;                       168         qcom,channel = <0>;
250         #address-cells = <2>;                     169         #address-cells = <2>;
251         #size-cells = <0>;                        170         #size-cells = <0>;
252         interrupt-controller;                     171         interrupt-controller;
253         #interrupt-cells = <4>;                   172         #interrupt-cells = <4>;
254                                                   173 
255         pmic@2 {                               !! 174         pmi8998_lsid0: pmic@2 {
256             compatible = "qcom,pmi8998", "qcom    175             compatible = "qcom,pmi8998", "qcom,spmi-pmic";
257             reg = <0x2 SPMI_USID>;                176             reg = <0x2 SPMI_USID>;
258             #address-cells = <1>;                 177             #address-cells = <1>;
259             #size-cells = <0>;                    178             #size-cells = <0>;
260                                                   179 
261             gpio@c000 {                        !! 180             pmi8998_gpio: gpios@c000 {
262                 compatible = "qcom,pmi8998-gpi    181                 compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
263                 reg = <0xc000>;                   182                 reg = <0xc000>;
264                 gpio-controller;                  183                 gpio-controller;
265                 gpio-ranges = <&pmi8998_gpio 0    184                 gpio-ranges = <&pmi8998_gpio 0 0 14>;
266                 #gpio-cells = <2>;                185                 #gpio-cells = <2>;
267                 interrupt-controller;             186                 interrupt-controller;
268                 #interrupt-cells = <2>;           187                 #interrupt-cells = <2>;
269             };                                    188             };
270         };                                     << 
271     };                                         << 
272                                                << 
273   - |                                          << 
274     #include <dt-bindings/input/input.h>       << 
275     #include <dt-bindings/interrupt-controller << 
276     #include <dt-bindings/interrupt-controller << 
277     #include <dt-bindings/iio/qcom,spmi-vadc.h << 
278     #include <dt-bindings/spmi/spmi.h>         << 
279                                                << 
280     pmic@0 {                                   << 
281         compatible = "qcom,pm6150", "qcom,spmi << 
282         reg = <0x0 SPMI_USID>;                 << 
283         #address-cells = <1>;                  << 
284         #size-cells = <0>;                     << 
285                                                << 
286         pon@800 {                              << 
287             compatible = "qcom,pm8998-pon";    << 
288             reg = <0x800>;                     << 
289             mode-bootloader = <0x2>;           << 
290             mode-recovery = <0x1>;             << 
291                                                << 
292             pwrkey {                           << 
293                 compatible = "qcom,pm8941-pwrk << 
294                 interrupts = <0x0 0x8 0 IRQ_TY << 
295                 debounce = <15625>;            << 
296                 bias-pull-up;                  << 
297                 linux,code = <KEY_POWER>;      << 
298             };                                 << 
299         };                                     << 
300                                                << 
301         temp-alarm@2400 {                      << 
302             compatible = "qcom,spmi-temp-alarm << 
303             reg = <0x2400>;                    << 
304             interrupts = <0x0 0x24 0x0 IRQ_TYP << 
305             io-channels = <&pm6150_adc ADC5_DI << 
306             io-channel-names = "thermal";      << 
307             #thermal-sensor-cells = <0>;       << 
308         };                                     << 
309                                                << 
310         pm6150_adc: adc@3100 {                 << 
311             compatible = "qcom,spmi-adc5";     << 
312             reg = <0x3100>;                    << 
313             interrupts = <0x0 0x31 0x0 IRQ_TYP << 
314             #address-cells = <1>;              << 
315             #size-cells = <0>;                 << 
316             #io-channel-cells = <1>;           << 
317                                                << 
318             channel@6 {                        << 
319                 reg = <ADC5_DIE_TEMP>;         << 
320                 label = "die_temp";            << 
321             };                                 << 
322                                                << 
323             channel@4f {                       << 
324                 reg = <ADC5_AMUX_THM3_100K_PU> << 
325                 qcom,ratiometric;              << 
326                 qcom,hw-settle-time = <200>;   << 
327             };                                 << 
328         };                                     << 
329                                                << 
330         adc-tm@3500 {                          << 
331             compatible = "qcom,spmi-adc-tm5";  << 
332             reg = <0x3500>;                    << 
333             interrupts = <0x0 0x35 0x0 IRQ_TYP << 
334             #thermal-sensor-cells = <1>;       << 
335             #address-cells = <1>;              << 
336             #size-cells = <0>;                 << 
337                                                << 
338             charger-thermistor@0 {             << 
339                 reg = <0>;                     << 
340                 io-channels = <&pm6150_adc ADC << 
341                 qcom,ratiometric;              << 
342                 qcom,hw-settle-time-us = <200> << 
343             };                                 << 
344         };                                     << 
345                                                << 
346         gpio@c000 {                            << 
347             compatible = "qcom,pm6150-gpio", " << 
348             reg = <0xc000>;                    << 
349             gpio-controller;                   << 
350             gpio-ranges = <&pm6150_gpio 0 0 10 << 
351             #gpio-cells = <2>;                 << 
352             interrupt-controller;              << 
353             #interrupt-cells = <2>;            << 
354         };                                        189         };
355     };                                            190     };
                                                      

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