1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/power/supply/summit,smb347-charger.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Battery charger driver for SMB345, SMB347 and SMB358
8
9 maintainers:
10 - David Heidelberg <david@ixit.cz>
11 - Dmitry Osipenko <digetx@gmail.com>
12
13 properties:
14 compatible:
15 enum:
16 - summit,smb345
17 - summit,smb347
18 - summit,smb358
19
20 reg:
21 maxItems: 1
22
23 interrupts:
24 maxItems: 1
25
26 monitored-battery:
27 description: phandle to the battery node
28 $ref: /schemas/types.yaml#/definitions/phandle
29
30 summit,enable-usb-charging:
31 type: boolean
32 description: Enable charging through USB.
33
34 summit,enable-otg-charging:
35 type: boolean
36 description: Provide power for USB OTG
37
38 summit,enable-mains-charging:
39 type: boolean
40 description: Enable charging through mains
41
42 summit,enable-charge-control:
43 description: Enable charging control
44 $ref: /schemas/types.yaml#/definitions/uint32
45 enum:
46 - 0 # SMB3XX_CHG_ENABLE_SW SW (I2C interface)
47 - 1 # SMB3XX_CHG_ENABLE_PIN_ACTIVE_LOW Pin control (Active Low)
48 - 2 # SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH Pin control (Active High)
49
50 summit,fast-voltage-threshold-microvolt:
51 description: Voltage threshold to transit to fast charge mode (in uV)
52 minimum: 2400000
53 maximum: 3000000
54
55 summit,mains-current-limit-microamp:
56 description: Maximum input current from AC/DC input (in uA)
57
58 summit,usb-current-limit-microamp:
59 description: Maximum input current from USB input (in uA)
60
61 summit,charge-current-compensation-microamp:
62 description: Charge current compensation (in uA)
63
64 summit,chip-temperature-threshold-celsius:
65 description: Chip temperature for thermal regulation in °C.
66 enum: [100, 110, 120, 130]
67
68 summit,soft-compensation-method:
69 description: Soft temperature limit compensation method
70 $ref: /schemas/types.yaml#/definitions/uint32
71 enum:
72 - 0 # SMB3XX_SOFT_TEMP_COMPENSATE_NONE Compensation none
73 - 1 # SMB3XX_SOFT_TEMP_COMPENSATE_CURRENT Current compensation
74 - 2 # SMB3XX_SOFT_TEMP_COMPENSATE_VOLTAGE Voltage compensation
75
76 summit,inok-polarity:
77 description: |
78 Polarity of INOK signal indicating presence of external power supply.
79 $ref: /schemas/types.yaml#/definitions/uint32
80 enum:
81 - 0 # SMB3XX_SYSOK_INOK_ACTIVE_LOW
82 - 1 # SMB3XX_SYSOK_INOK_ACTIVE_HIGH
83
84 usb-vbus:
85 $ref: /schemas/regulator/regulator.yaml#
86 type: object
87
88 properties:
89 summit,needs-inok-toggle:
90 type: boolean
91 description: INOK signal is fixed and polarity needs to be toggled
92 in order to enable/disable output mode.
93
94 unevaluatedProperties: false
95
96 allOf:
97 - if:
98 properties:
99 compatible:
100 enum:
101 - summit,smb345
102 - summit,smb358
103
104 then:
105 properties:
106 summit,mains-current-limit-microamp:
107 enum: [ 300000, 500000, 700000, 1000000,
108 1500000, 1800000, 2000000]
109
110 summit,usb-current-limit-microamp:
111 enum: [ 300000, 500000, 700000, 1000000,
112 1500000, 1800000, 2000000]
113
114 summit,charge-current-compensation-microamp:
115 enum: [200000, 450000, 600000, 900000]
116
117 else:
118 properties:
119 summit,mains-current-limit-microamp:
120 enum: [ 300000, 500000, 700000, 900000, 1200000,
121 1500000, 1800000, 2000000, 2200000, 2500000]
122
123 summit,usb-current-limit-microamp:
124 enum: [ 300000, 500000, 700000, 900000, 1200000,
125 1500000, 1800000, 2000000, 2200000, 2500000]
126
127 summit,charge-current-compensation-microamp:
128 enum: [250000, 700000, 900000, 1200000]
129
130 required:
131 - compatible
132 - reg
133
134 anyOf:
135 - required:
136 - summit,enable-usb-charging
137 - required:
138 - summit,enable-otg-charging
139 - required:
140 - summit,enable-mains-charging
141
142 additionalProperties: false
143
144 examples:
145 - |
146 #include <dt-bindings/power/summit,smb347-charger.h>
147
148 i2c {
149 #address-cells = <1>;
150 #size-cells = <0>;
151
152 charger@7f {
153 compatible = "summit,smb347";
154 reg = <0x7f>;
155
156 summit,enable-charge-control = <SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH>;
157 summit,inok-polarity = <SMB3XX_SYSOK_INOK_ACTIVE_LOW>;
158 summit,chip-temperature-threshold-celsius = <110>;
159 summit,mains-current-limit-microamp = <2000000>;
160 summit,usb-current-limit-microamp = <500000>;
161 summit,enable-usb-charging;
162 summit,enable-mains-charging;
163
164 monitored-battery = <&battery>;
165
166 usb-vbus {
167 regulator-name = "usb_vbus";
168 regulator-min-microvolt = <5000000>;
169 regulator-max-microvolt = <5000000>;
170 regulator-min-microamp = <750000>;
171 regulator-max-microamp = <750000>;
172 summit,needs-inok-toggle;
173 };
174 };
175 };
176
177 battery: battery-cell {
178 compatible = "simple-battery";
179 constant-charge-current-max-microamp = <1800000>;
180 operating-range-celsius = <0 45>;
181 alert-celsius = <3 42>;
182 };
Cache object: 7065c64afa4245e7cee534a9cfaa42ac
|