1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/power/supply/sbs,sbs-battery.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: SBS compliant battery
8
9maintainers:
10  - Sebastian Reichel <sre@kernel.org>
11
12description: |
13  Battery compatible with the smart battery system specifications
14
15allOf:
16  - $ref: power-supply.yaml#
17
18properties:
19  compatible:
20    oneOf:
21      - items:
22          - enum:
23              - ti,bq20z45
24              - ti,bq20z65
25              - ti,bq20z75
26          - enum:
27              - sbs,sbs-battery
28      - items:
29          - const: sbs,sbs-battery
30
31  reg:
32    maxItems: 1
33
34  sbs,i2c-retry-count:
35    description:
36      The number of times to retry I2C transactions on I2C IO failure.
37    default: 0
38    $ref: /schemas/types.yaml#/definitions/uint32
39
40  sbs,poll-retry-count:
41    description:
42      The number of times to try looking for new status after an external
43      change notification.
44    default: 0
45    $ref: /schemas/types.yaml#/definitions/uint32
46
47  sbs,battery-detect-gpios:
48    description:
49      GPIO which signals battery detection. If this is not supplied, the bus
50      needs to be polled to detect the battery.
51    maxItems: 1
52
53  sbs,disable-charger-broadcasts:
54    description:
55      SBS batteries by default send broadcast messages to SBS compliant chargers to
56      configure max. charge current/voltage. If your hardware does not have an SBS
57      compliant charger it should be disabled via this property to avoid blocking
58      the bus. Also some SBS battery fuel gauges are known to have a buggy multi-
59      master implementation.
60    type: boolean
61
62required:
63  - compatible
64  - reg
65
66unevaluatedProperties: false
67
68examples:
69  - |
70    #include <dt-bindings/gpio/gpio.h>
71
72    i2c {
73        #address-cells = <1>;
74        #size-cells = <0>;
75
76        battery@b {
77            compatible = "ti,bq20z75", "sbs,sbs-battery";
78            reg = <0xb>;
79            sbs,i2c-retry-count = <2>;
80            sbs,poll-retry-count = <10>;
81            sbs,battery-detect-gpios = <&gpio 122 GPIO_ACTIVE_HIGH>;
82            sbs,disable-charger-broadcasts;
83       };
84    };
85