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