xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mfd/wm831x.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunCirrus Logic/Wolfson Microelectronics wm831x PMICs
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunSystem PMICs with a wide range of additional features.
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunRequired properties:
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun  - compatible : One of the following chip-specific strings:
8*4882a593Smuzhiyun        "wlf,wm8310"
9*4882a593Smuzhiyun        "wlf,wm8311"
10*4882a593Smuzhiyun        "wlf,wm8312"
11*4882a593Smuzhiyun        "wlf,wm8320"
12*4882a593Smuzhiyun        "wlf,wm8321"
13*4882a593Smuzhiyun        "wlf,wm8325"
14*4882a593Smuzhiyun        "wlf,wm8326"
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun  - reg : I2C slave address when connected using I2C, chip select number
17*4882a593Smuzhiyun    when using SPI.
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun  - gpio-controller : Indicates this device is a GPIO controller.
20*4882a593Smuzhiyun  - #gpio-cells : Must be 2. The first cell is the pin number and the
21*4882a593Smuzhiyun    second cell is used to specify optional parameters (currently unused).
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun  - interrupts : The interrupt line the IRQ signal for the device is
24*4882a593Smuzhiyun    connected to.
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun  - interrupt-controller : wm831x devices contain interrupt controllers and
27*4882a593Smuzhiyun    may provide interrupt services to other devices.
28*4882a593Smuzhiyun  - #interrupt-cells: Must be 2. The first cell is the IRQ number, and the
29*4882a593Smuzhiyun    second cell is the flags, encoded as the trigger masks from
30*4882a593Smuzhiyun    ../interrupt-controller/interrupts.txt
31*4882a593Smuzhiyun
32*4882a593SmuzhiyunOptional sub-nodes:
33*4882a593Smuzhiyun  - phys : Contains a phandle to the USB PHY.
34*4882a593Smuzhiyun  - regulators : Contains sub-nodes for each of the regulators supplied by
35*4882a593Smuzhiyun    the device. The regulators are bound using their names listed below:
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun    dcdc1 : DCDC1
38*4882a593Smuzhiyun    dcdc2 : DCDC2
39*4882a593Smuzhiyun    dcdc3 : DCDC3
40*4882a593Smuzhiyun    dcdc4 : DCDC3
41*4882a593Smuzhiyun    isink1 : ISINK1
42*4882a593Smuzhiyun    isink2 : ISINK2
43*4882a593Smuzhiyun    ldo1 : LDO1
44*4882a593Smuzhiyun    ldo2 : LDO2
45*4882a593Smuzhiyun    ldo3 : LDO3
46*4882a593Smuzhiyun    ldo4 : LDO4
47*4882a593Smuzhiyun    ldo5 : LDO5
48*4882a593Smuzhiyun    ldo7 : LDO7
49*4882a593Smuzhiyun    ldo11 : LDO11
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun    The bindings details of each regulator can be found in:
52*4882a593Smuzhiyun    ../regulator/regulator.txt
53*4882a593Smuzhiyun
54*4882a593SmuzhiyunExample:
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunwm8310: pmic@36 {
57*4882a593Smuzhiyun	compatible = "wlf,wm8310";
58*4882a593Smuzhiyun	reg = <0x36>;
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun	gpio-controller;
61*4882a593Smuzhiyun	#gpio-cells = <2>;
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun	interrupts = <347>;
64*4882a593Smuzhiyun	interrupt-parent = <&gic>;
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun	interrupt-controller;
67*4882a593Smuzhiyun	#interrupt-cells = <2>;
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun	regulators {
70*4882a593Smuzhiyun		dcdc1: dcdc1 {
71*4882a593Smuzhiyun			regulator-name = "DCDC1";
72*4882a593Smuzhiyun			regulator-min-microvolt = <600000>;
73*4882a593Smuzhiyun			regulator-max-microvolt = <600000>;
74*4882a593Smuzhiyun		};
75*4882a593Smuzhiyun		ldo1: ldo1 {
76*4882a593Smuzhiyun			regulator-name = "LDO1";
77*4882a593Smuzhiyun			regulator-min-microvolt = <1700000>;
78*4882a593Smuzhiyun			regulator-max-microvolt = <1700000>;
79*4882a593Smuzhiyun		};
80*4882a593Smuzhiyun	};
81*4882a593Smuzhiyun};
82