2020-03-15 19:20:24

by Tobias Schramm

[permalink] [raw]
Subject: [PATCH v5 2/3] dt-bindings: power: supply: add cw2015_battery bindings

This patch adds the dts binding schema for the cw2015 fuel gauge.

Signed-off-by: Tobias Schramm <[email protected]>
---
.../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
+%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 <[email protected]>
+
+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
+
+ 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
+
+ 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
+
+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


2020-03-20 22:31:48

by Rob Herring (Arm)

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

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 <[email protected]>
> ---
> .../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 <[email protected]>
> +
> +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
>

2020-03-21 12:57:55

by Tobias Schramm

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

Hi Rob,

thanks for the review. I've just sent out v6 addressing the issues you
have found.

Tobias