Sebastian
On 5/10/20 11:17 AM, Sebastian Reichel wrote:
Hi Dan,
On Thu, May 07, 2020 at 01:30:13PM -0500, Dan Murphy wrote:
Convert the bq27xxx.txt to yaml format
CC: Pali Rohár <pali@xxxxxxxxxx>
CC: Andrew F. Davis <afd@xxxxxx>
Signed-off-by: Dan Murphy <dmurphy@xxxxxx>
---
This needs is missing the power-supplies property. The N900 DT
contains a bq27200 referencing the charger, so it should fail the DT
check without the property being listed here.
Hmm. I ran the dt checker specifically on the binding and it did not
fail. Unless I need to build some other DTs as well.
Either I will have the power-supplies property
.../bindings/power/supply/bq27xxx.txt | 56 ------------
.../bindings/power/supply/bq27xxx.yaml | 86 +++++++++++++++++++
2 files changed, 86 insertions(+), 56 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/bq27xxx.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/bq27xxx.yaml
diff --git a/Documentation/devicetree/bindings/power/supply/bq27xxx.txt b/Documentation/devicetree/bindings/power/supply/bq27xxx.txt
deleted file mode 100644
index 4fa8e08df2b6..000000000000
--- a/Documentation/devicetree/bindings/power/supply/bq27xxx.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-TI BQ27XXX fuel gauge family
-
-Required properties:
-- compatible: contains one of the following:
- * "ti,bq27200" - BQ27200
- * "ti,bq27210" - BQ27210
- * "ti,bq27500" - deprecated, use revision specific property below
- * "ti,bq27510" - deprecated, use revision specific property below
- * "ti,bq27520" - deprecated, use revision specific property below
- * "ti,bq27500-1" - BQ27500/1
- * "ti,bq27510g1" - BQ27510-g1
- * "ti,bq27510g2" - BQ27510-g2
- * "ti,bq27510g3" - BQ27510-g3
- * "ti,bq27520g1" - BQ27520-g1
- * "ti,bq27520g2" - BQ27520-g2
- * "ti,bq27520g3" - BQ27520-g3
- * "ti,bq27520g4" - BQ27520-g4
- * "ti,bq27521" - BQ27521
- * "ti,bq27530" - BQ27530
- * "ti,bq27531" - BQ27531
- * "ti,bq27541" - BQ27541
- * "ti,bq27542" - BQ27542
- * "ti,bq27546" - BQ27546
- * "ti,bq27742" - BQ27742
- * "ti,bq27545" - BQ27545
- * "ti,bq27411" - BQ27411
- * "ti,bq27421" - BQ27421
- * "ti,bq27425" - BQ27425
- * "ti,bq27426" - BQ27426
- * "ti,bq27441" - BQ27441
- * "ti,bq27621" - BQ27621
-- reg: integer, I2C address of the fuel gauge.
-
-Optional properties:
-- monitored-battery: phandle of battery characteristics node
- The fuel gauge uses the following battery properties:
- + energy-full-design-microwatt-hours
- + charge-full-design-microamp-hours
- + voltage-min-design-microvolt
- Both or neither of the *-full-design-*-hours properties must be set.
- See Documentation/devicetree/bindings/power/supply/battery.txt
-
-Example:
-
- bat: battery {
- compatible = "simple-battery";
- voltage-min-design-microvolt = <3200000>;
- energy-full-design-microwatt-hours = <5290000>;
- charge-full-design-microamp-hours = <1430000>;
- };
-
- bq27510g3: fuel-gauge@55 {
- compatible = "ti,bq27510g3";
- reg = <0x55>;
- monitored-battery = <&bat>;
- };
diff --git a/Documentation/devicetree/bindings/power/supply/bq27xxx.yaml b/Documentation/devicetree/bindings/power/supply/bq27xxx.yaml
new file mode 100644
index 000000000000..54f497c291f2
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/bq27xxx.yaml
@@ -0,0 +1,86 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2020 Texas Instruments Incorporated
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/bq27xxx.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: TI BQ27XXX fuel gauge family
+
+maintainers:
+ - Pali Rohár <pali@xxxxxxxxxx>
+ - Andrew F. Davis <afd@xxxxxx>
+ - Sebastian Reichel <sre@xxxxxxxxxx>
+
+description: |
+ Support various Texas Instruments fuel gauge devices that share similar
+ register maps and power supply properties
allOf:
- $ref: power-supply.yaml#
Ack
+properties:
+ compatible:
+ enum:
+ - ti,bq27200 - BQ27200
+ - ti,bq27210 - BQ27210
+ - ti,bq27500 - deprecated, use revision specific property below
+ - ti,bq27510 - deprecated, use revision specific property below
+ - ti,bq27520 - deprecated, use revision specific property below
There is a deprecated property ("deprecated: true"), but IDK how to
apply it to specific compatible values. Maybe Rob can help out here.
Otherwise it's not a blocker, since the conversion is still an
improvement without having explicit deprecation marks :)
I would prefer to do this in separate patches.
The code still contains these deprecated values.
So technically we should remove them in this conversion from the
binding, code and the 2 bindings that they are associated with.
These have been marked deprecated since 2017.
I know we are not supposed to remove items from the bindings so at the
very least we should remove them from the code and update the devicetree
files and as you said mark these as deprecated and removed in this
conversion.
+ - ti,bq27500-1 - BQ27500/1
+ - ti,bq27510g1 - BQ27510-g1
+ - ti,bq27510g2 - BQ27510-g2
+ - ti,bq27510g3 - BQ27510-g3
+ - ti,bq27520g1 - BQ27520-g1
+ - ti,bq27520g2 - BQ27520-g2
+ - ti,bq27520g3 - BQ27520-g3
+ - ti,bq27520g4 - BQ27520-g4
+ - ti,bq27521 - BQ27521
+ - ti,bq27530 - BQ27530
+ - ti,bq27531 - BQ27531
+ - ti,bq27541 - BQ27541
+ - ti,bq27542 - BQ27542
+ - ti,bq27546 - BQ27546
+ - ti,bq27742 - BQ27742
+ - ti,bq27545 - BQ27545
+ - ti,bq27411 - BQ27411
+ - ti,bq27421 - BQ27421
+ - ti,bq27425 - BQ27425
+ - ti,bq27426 - BQ27426
+ - ti,bq27441 - BQ27441
+ - ti,bq27621 - BQ27621
+
+ reg:
+ maxItems: 1
+ description: integer, I2C address of the fuel gauge.
+
+ monitored-battery:
+ description: |
+ phandle of battery characteristics node.
+ The fuel gauge uses the following battery properties:
+ - energy-full-design-microwatt-hours
+ - charge-full-design-microamp-hours
+ - voltage-min-design-microvolt
+ Both or neither of the *-full-design-*-hours properties must be set.
+ See Documentation/devicetree/bindings/power/supply/battery.txt
power-supplies: true
Ack
+
+required:
+ - compatible
+ - reg
+additionalProperties: false
+
+examples:
+ - |
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ bat: battery {
+ compatible = "simple-battery";
+ voltage-min-design-microvolt = <3200000>;
+ energy-full-design-microwatt-hours = <5290000>;
+ charge-full-design-microamp-hours = <1430000>;
+ };
+
+ bq27510g3: fuel-gauge@55 {
+ compatible = "ti,bq27510g3";
+ reg = <0x55>;
+ monitored-battery = <&bat>;
+ };
+ };
Otherwise looks good to me.
Ack
Dan
-- Sebastian