xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunBinding for sbs-manager
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible: "<vendor>,<part-number>", "sbs,sbs-charger" as fallback. The part
5*4882a593Smuzhiyun  number compatible string might be used in order to take care of vendor
6*4882a593Smuzhiyun  specific registers.
7*4882a593Smuzhiyun- reg: integer, i2c address of the device. Should be <0xa>.
8*4882a593SmuzhiyunOptional properties:
9*4882a593Smuzhiyun- gpio-controller: Marks the port as GPIO controller.
10*4882a593Smuzhiyun  See "gpio-specifier" in .../devicetree/bindings/gpio/gpio.txt.
11*4882a593Smuzhiyun- #gpio-cells: Should be <2>. The first cell is the pin number, the second cell
12*4882a593Smuzhiyun  is used to specify optional parameters:
13*4882a593Smuzhiyun  See "gpio-specifier" in .../devicetree/bindings/gpio/gpio.txt.
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunFrom OS view the device is basically an i2c-mux used to communicate with up to
16*4882a593Smuzhiyunfour smart battery devices at address 0xb. The driver actually implements this
17*4882a593Smuzhiyunbehaviour. So standard i2c-mux nodes can be used to register up to four slave
18*4882a593Smuzhiyunbatteries. Channels will be numerated starting from 1 to 4.
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunExample:
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunbatman@a {
23*4882a593Smuzhiyun    compatible = "lltc,ltc1760", "sbs,sbs-manager";
24*4882a593Smuzhiyun    reg = <0x0a>;
25*4882a593Smuzhiyun    #address-cells = <1>;
26*4882a593Smuzhiyun    #size-cells = <0>;
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun    gpio-controller;
29*4882a593Smuzhiyun    #gpio-cells = <2>;
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun    i2c@1 {
32*4882a593Smuzhiyun        #address-cells = <1>;
33*4882a593Smuzhiyun        #size-cells = <0>;
34*4882a593Smuzhiyun        reg = <1>;
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun        battery@b {
37*4882a593Smuzhiyun            compatible = "ti,bq2060", "sbs,sbs-battery";
38*4882a593Smuzhiyun            reg = <0x0b>;
39*4882a593Smuzhiyun            sbs,battery-detect-gpios = <&batman 1 1>;
40*4882a593Smuzhiyun        };
41*4882a593Smuzhiyun    };
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun    i2c@2 {
44*4882a593Smuzhiyun        #address-cells = <1>;
45*4882a593Smuzhiyun        #size-cells = <0>;
46*4882a593Smuzhiyun        reg = <2>;
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun        battery@b {
49*4882a593Smuzhiyun            compatible = "ti,bq2060", "sbs,sbs-battery";
50*4882a593Smuzhiyun            reg = <0x0b>;
51*4882a593Smuzhiyun            sbs,battery-detect-gpios = <&batman 2 1>;
52*4882a593Smuzhiyun        };
53*4882a593Smuzhiyun    };
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun    i2c@3 {
56*4882a593Smuzhiyun        #address-cells = <1>;
57*4882a593Smuzhiyun        #size-cells = <0>;
58*4882a593Smuzhiyun        reg = <3>;
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun        battery@b {
61*4882a593Smuzhiyun            compatible = "ti,bq2060", "sbs,sbs-battery";
62*4882a593Smuzhiyun            reg = <0x0b>;
63*4882a593Smuzhiyun            sbs,battery-detect-gpios = <&batman 3 1>;
64*4882a593Smuzhiyun        };
65*4882a593Smuzhiyun    };
66*4882a593Smuzhiyun};
67