^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Qualcomm PM8xxx PMIC multi-function devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) The PM8xxx family of Power Management ICs are used to provide regulated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) voltages and other various functionality to Qualcomm SoCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) = PROPERTIES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - compatible:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Usage: required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Value type: <string>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Definition: must be one of:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) "qcom,pm8058"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) "qcom,pm8821"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) "qcom,pm8921"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - #address-cells:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Usage: required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Value type: <u32>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Definition: must be 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) - #size-cells:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Usage: required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Value type: <u32>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) Definition: must be 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) - interrupts:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) Usage: required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Value type: <prop-encoded-array>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) Definition: specifies the interrupt that indicates a subdevice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) has generated an interrupt (summary interrupt). The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) format of the specifier is defined by the binding document
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) describing the node's interrupt parent.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) - #interrupt-cells:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Usage: required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Value type : <u32>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) Definition: must be 2. Specifies the number of cells needed to encode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) an interrupt source. The 1st cell contains the interrupt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) number. The 2nd cell is the trigger type and level flags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) encoded as follows:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 1 = low-to-high edge triggered
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 2 = high-to-low edge triggered
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 4 = active high level-sensitive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 8 = active low level-sensitive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) - interrupt-controller:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) Usage: required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) Value type: <empty>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Definition: identifies this node as an interrupt controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) = SUBCOMPONENTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) The PMIC contains multiple independent functions, each described in a subnode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) The below bindings specify the set of valid subnodes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) == Real-Time Clock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) - compatible:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) Usage: required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) Value type: <string>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) Definition: must be one of:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) "qcom,pm8058-rtc"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) "qcom,pm8921-rtc"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) "qcom,pm8941-rtc"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) "qcom,pm8018-rtc"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) - reg:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) Usage: required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) Value type: <prop-encoded-array>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Definition: single entry specifying the base address of the RTC registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) - interrupts:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) Usage: required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) Value type: <prop-encoded-array>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) Definition: single entry specifying the RTC's alarm interrupt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) - allow-set-time:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) Usage: optional
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) Value type: <empty>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) Definition: indicates that the setting of RTC time is allowed by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) the host CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) = EXAMPLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) pmicintc: pmic@0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) compatible = "qcom,pm8921";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) interrupts = <104 8>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) #interrupt-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) interrupt-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) rtc@11d {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) compatible = "qcom,pm8921-rtc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) reg = <0x11d>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) interrupts = <0x27 0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) };