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/spmi/qcom,spmi-pmic-arb.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 SPMI Controller (PMIC Arbiter)
    2 
    3 The SPMI PMIC Arbiter is found on Snapdragon chipsets.  It is an SPMI
    4 controller with wrapping arbitration logic to allow for multiple on-chip
    5 devices to control a single SPMI master.
    6 
    7 The PMIC Arbiter can also act as an interrupt controller, providing interrupts
    8 to slave devices.
    9 
   10 See Documentation/devicetree/bindings/spmi/spmi.yaml for the generic SPMI
   11 controller binding requirements for child nodes.
   12 
   13 See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
   14 generic interrupt controller binding documentation.
   15 
   16 Required properties:
   17 - compatible : should be "qcom,spmi-pmic-arb".
   18 - reg-names  : must contain:
   19      "core" - core registers
   20      "intr" - interrupt controller registers
   21      "cnfg" - configuration registers
   22    Registers used only for V2 PMIC Arbiter:
   23      "chnls"  - tx-channel per virtual slave registers.
   24      "obsrvr" - rx-channel (called observer) per virtual slave registers.
   25 
   26 - reg : address + size pairs describing the PMIC arb register sets; order must
   27         correspond with the order of entries in reg-names
   28 - #address-cells : must be set to 2
   29 - #size-cells : must be set to 0
   30 - qcom,ee : indicates the active Execution Environment identifier (0-5)
   31 - qcom,channel : which of the PMIC Arb provided channels to use for accesses (0-5)
   32 - interrupts : interrupt list for the PMIC Arb controller, must contain a
   33                single interrupt entry for the peripheral interrupt
   34 - interrupt-names : corresponding interrupt names for the interrupts
   35                     listed in the 'interrupts' property, must contain:
   36      "periph_irq" - summary interrupt for PMIC peripherals
   37 - interrupt-controller : boolean indicator that the PMIC arbiter is an interrupt controller
   38 - #interrupt-cells :  must be set to 4. Interrupts are specified as a 4-tuple:
   39     cell 1: slave ID for the requested interrupt (0-15)
   40     cell 2: peripheral ID for requested interrupt (0-255)
   41     cell 3: the requested peripheral interrupt (0-7)
   42     cell 4: interrupt flags indicating level-sense information, as defined in
   43             dt-bindings/interrupt-controller/irq.h
   44 
   45 Example:
   46 
   47         spmi {
   48                 compatible = "qcom,spmi-pmic-arb";
   49                 reg-names = "core", "intr", "cnfg";
   50                 reg = <0xfc4cf000 0x1000>,
   51                       <0xfc4cb000 0x1000>,
   52                       <0xfc4ca000 0x1000>;
   53 
   54                 interrupt-names = "periph_irq";
   55                 interrupts = <0 190 0>;
   56 
   57                 qcom,ee = <0>;
   58                 qcom,channel = <0>;
   59 
   60                 #address-cells = <2>;
   61                 #size-cells = <0>;
   62 
   63                 interrupt-controller;
   64                 #interrupt-cells = <4>;
   65         };

Cache object: ef5dd4f47402d8a7b545cb4e22003ed2


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