Re: [PATCH v5 2/3] dt-bindings: power: supply: add cw2015_battery bindings

From: Rob Herring
Date: Fri Mar 20 2020 - 18:31:15 EST


On Sun, Mar 15, 2020 at 08:19:13PM +0100, Tobias Schramm wrote:
> This patch adds the dts binding schema for the cw2015 fuel gauge.
>
> Signed-off-by: Tobias Schramm <t.schramm@xxxxxxxxxxx>
> ---
> .../bindings/power/supply/cw2015_battery.yaml | 83 +++++++++++++++++++
> 1 file changed, 83 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/power/supply/cw2015_battery.yaml
>
> diff --git a/Documentation/devicetree/bindings/power/supply/cw2015_battery.yaml b/Documentation/devicetree/bindings/power/supply/cw2015_battery.yaml
> new file mode 100644
> index 000000000000..f789882312da
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/supply/cw2015_battery.yaml
> @@ -0,0 +1,83 @@
> +# SPDX-License-Identifier: GPL-2.0

Dual license new bindings please:

(GPL-2.0-only OR BSD-2-Clause)

> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/supply/cw2015_battery.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Battery driver for CW2015 shuntless fuel gauge by CellWise.
> +
> +maintainers:
> + - Tobias Schramm <t.schramm@xxxxxxxxxxx>
> +
> +description: |
> + The driver can utilize information from a simple-battery linked via a
> + phandle in monitored-battery. If specified the driver uses the
> + charge-full-design-microamp-hours property of the battery.
> +
> +properties:
> + compatible:
> + const: cellwise,cw2015
> +
> + reg:
> + items:
> + - description: i2c address

Just:

maxItems: 1

> +
> + cellwise,battery-profile:
> + description: |
> + This property specifies characteristics of the battery used. The format
> + of this binary blob is kept secret by CellWise. The only way to obtain
> + it is to mail two batteries to a test facility of CellWise and receive
> + back a test report with the binary blob.
> + allOf:
> + - $ref: /schemas/types.yaml#definitions/uint8-array
> + items:
> + - minItems: 64
> + maxItems: 64
> +
> + cellwise,monitor-interval-ms:
> + description:
> + Specifies the interval in milliseconds gauge values are polled at
> + $ref: /schemas/types.yaml#/definitions/uint32

Drop this as standard units already have a type definition. Is there
some bounds to this?

> +
> + power-supplies:
> + description:
> + Specifies supplies used for charging the battery connected to this gauge
> + allOf:
> + - $ref: /schemas/types.yaml#/definitions/phandle-array
> + - minItems: 1
> + maxItems: 8 # Should be enough
> +
> + monitored-battery:
> + description:
> + Specifies the phandle of a simple-battery connected to this gauge
> + $ref: /schemas/types.yaml#/definitions/phandle

These 2 properties should really have a common definition, but fine for
now.

> +
> +required:
> + - compatible
> + - reg
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + cw2015@62 {
> + compatible = "cellwise,cw201x";
> + reg = <0x62>;
> + cellwise,battery-profile = /bits/ 8 <
> + 0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63
> + 0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36
> + 0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69
> + 0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59
> + 0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17
> + 0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D
> + 0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB
> + 0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11
> + >;
> + cellwise,monitor-interval-ms = <5000>;
> + monitored-battery = <&bat>;
> + power-supplies = <&mains_charger>, <&usb_charger>;
> + };
> + };
> +
> --
> 2.24.1
>