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/mfd/qcom,spmi-pmic.yaml

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 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Qualcomm SPMI PMICs multi-function device
    8 
    9 description: |
   10   Some Qualcomm PMICs used with the Snapdragon series SoCs are interfaced
   11   to the chip via the SPMI (System Power Management Interface) bus.
   12   Support for multiple independent functions are implemented by splitting the
   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 these fixed-size register regions.
   15 
   16   The Qualcomm SPMI series includes the PM8941, PM8841, PMA8084, PM8998 and other
   17   PMICs.  These PMICs use a "QPNP" scheme through SPMI interface.
   18   QPNP is effectively a partitioning scheme for dividing the SPMI extended
   19   register space up into logical pieces, and set of fixed register
   20   locations/definitions within these regions, with some of these regions
   21   specifically used for interrupt handling.
   22 
   23 maintainers:
   24   - Stephen Boyd <sboyd@kernel.org>
   25 
   26 properties:
   27   $nodename:
   28     oneOf:
   29       - pattern: '^pmic@.*$'
   30       - pattern: '^pm(a|s)?[0-9]*@.*$'
   31         deprecated: true
   32 
   33   compatible:
   34     items:
   35       - enum:
   36           - qcom,pm660
   37           - qcom,pm660l
   38           - qcom,pm6150
   39           - qcom,pm6150l
   40           - qcom,pm6350
   41           - qcom,pm7325
   42           - qcom,pm8004
   43           - qcom,pm8005
   44           - qcom,pm8009
   45           - qcom,pm8019
   46           - qcom,pm8110
   47           - qcom,pm8150
   48           - qcom,pm8150b
   49           - qcom,pm8150l
   50           - qcom,pm8226
   51           - qcom,pm8350
   52           - qcom,pm8350b
   53           - qcom,pm8350c
   54           - qcom,pm8841
   55           - qcom,pm8909
   56           - qcom,pm8916
   57           - qcom,pm8941
   58           - qcom,pm8950
   59           - qcom,pm8994
   60           - qcom,pm8998
   61           - qcom,pma8084
   62           - qcom,pmd9635
   63           - qcom,pmi8950
   64           - qcom,pmi8962
   65           - qcom,pmi8994
   66           - qcom,pmi8998
   67           - qcom,pmk8350
   68           - qcom,pmm8155au
   69           - qcom,pmr735a
   70           - qcom,pmr735b
   71           - qcom,pms405
   72           - qcom,pmx55
   73           - qcom,pmx65
   74           - qcom,smb2351
   75       - const: qcom,spmi-pmic
   76 
   77   reg:
   78     minItems: 1
   79     maxItems: 2
   80 
   81   '#address-cells':
   82     const: 1
   83 
   84   '#size-cells':
   85     const: 0
   86 
   87   labibb:
   88     type: object
   89     $ref: /schemas/regulator/qcom-labibb-regulator.yaml#
   90 
   91   regulators:
   92     type: object
   93     $ref: /schemas/regulator/regulator.yaml#
   94 
   95 patternProperties:
   96   "^adc@[0-9a-f]+$":
   97     type: object
   98     $ref: /schemas/iio/adc/qcom,spmi-vadc.yaml#
   99 
  100   "^adc-tm@[0-9a-f]+$":
  101     type: object
  102     $ref: /schemas/thermal/qcom-spmi-adc-tm5.yaml#
  103 
  104   "^audio-codec@[0-9a-f]+$":
  105     type: object
  106     additionalProperties: true # FIXME qcom,pm8916-wcd-analog-codec binding not converted yet
  107 
  108   "extcon@[0-9a-f]+$":
  109     type: object
  110     $ref: /schemas/extcon/qcom,pm8941-misc.yaml#
  111 
  112   "gpio(s)?@[0-9a-f]+$":
  113     type: object
  114     $ref: /schemas/pinctrl/qcom,pmic-gpio.yaml#
  115 
  116   "pon@[0-9a-f]+$":
  117     type: object
  118     $ref: /schemas/power/reset/qcom,pon.yaml#
  119 
  120   "pwm@[0-9a-f]+$":
  121     type: object
  122     $ref: /schemas/leds/leds-qcom-lpg.yaml#
  123 
  124   "^rtc@[0-9a-f]+$":
  125     type: object
  126     $ref: /schemas/rtc/qcom-pm8xxx-rtc.yaml#
  127 
  128   "^temp-alarm@[0-9a-f]+$":
  129     type: object
  130     $ref: /schemas/thermal/qcom,spmi-temp-alarm.yaml#
  131 
  132   "^vibrator@[0-9a-f]+$":
  133     type: object
  134     additionalProperties: true # FIXME qcom,pm8916-vib binding not converted yet
  135 
  136   "^mpps@[0-9a-f]+$":
  137     type: object
  138     $ref: /schemas/pinctrl/qcom,pmic-mpp.yaml#
  139 
  140   "(.*)?(wled|leds)@[0-9a-f]+$":
  141     type: object
  142     $ref: /schemas/leds/backlight/qcom-wled.yaml#
  143     unevaluatedProperties: false
  144 
  145 required:
  146   - compatible
  147   - reg
  148 
  149 additionalProperties: false
  150 
  151 examples:
  152   - |
  153     #include <dt-bindings/spmi/spmi.h>
  154     #include <dt-bindings/interrupt-controller/irq.h>
  155     #include <dt-bindings/interrupt-controller/arm-gic.h>
  156 
  157     spmi@c440000 {
  158         compatible = "qcom,spmi-pmic-arb";
  159         reg = <0x0c440000 0x1100>,
  160               <0x0c600000 0x2000000>,
  161               <0x0e600000 0x100000>,
  162               <0x0e700000 0xa0000>,
  163               <0x0c40a000 0x26000>;
  164         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
  165         interrupt-names = "periph_irq";
  166         interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>;
  167         qcom,ee = <0>;
  168         qcom,channel = <0>;
  169         #address-cells = <2>;
  170         #size-cells = <0>;
  171         interrupt-controller;
  172         #interrupt-cells = <4>;
  173 
  174         pmi8998_lsid0: pmic@2 {
  175             compatible = "qcom,pmi8998", "qcom,spmi-pmic";
  176             reg = <0x2 SPMI_USID>;
  177             #address-cells = <1>;
  178             #size-cells = <0>;
  179 
  180             pmi8998_gpio: gpios@c000 {
  181                 compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
  182                 reg = <0xc000>;
  183                 gpio-controller;
  184                 gpio-ranges = <&pmi8998_gpio 0 0 14>;
  185                 #gpio-cells = <2>;
  186                 interrupt-controller;
  187                 #interrupt-cells = <2>;
  188             };
  189         };
  190     };

Cache object: c3f9fa59ca58be20aa13b6ef0de4d989


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