2021-03-12 15:46:09

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 00/38] Convert power-supply DT bindings to YAML

Hi,

I keep getting patches for existing drivers, that modify DT behaviour
without updating the binding file. Let's move everything to DT schema
files, so that this can easily be cached automatically by dtbs_check.

After this series only three bindings are left unconverted:

1. max8925_battery.txt
This describes a node below the PMIC, which does not have its own
compatible value. It needs to be described in the PMIC binding
file, which has not yet been converted.

2. stericsson,ab8500-battery.txt
This also describes a node below the PMIC, which does not have
its own compatible value. The same applies.

3. charger-manager.txt
This is far more complex to convert than the other files, due
to the 'cm-regulator-name' / "<>-supply" thing. I skipped it
for now.

I tested the series using dt-validate 2021.3.dev6+g38efe3f and nothing
is reported when running dtbs_check like this:

make -s -j42 dtbs_check DT_SCHEMA_FILES="Documentation/devicetree/bindings/power/supply/*.yaml"

Also nothing is reported when checking the power-supply binding files
like this:

for file in Documentation/devicetree/bindings/power/supply/*yaml ; do
make -s -j42 dt_binding_check DT_SCHEMA_FILES=$file ;
done

This is also available as 'psy-yaml-binding' branch from my repository:

https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git

Thanks for reviewing it,

-- Sebastian

Sebastian Reichel (38):
ARM: dts: motorola-cpcap-mapphone: Prepare for dtbs_check parsing
dt-bindings: power: supply: cpcap-battery: Convert to DT schema format
dt-bindings: power: supply: cpcap-charger: Convert to DT schema format
dt-bindings: power: supply: bq25890: Convert to DT schema format
dt-bindings: power: supply: bq24257: Convert to DT schema format
dt-bindings: power: supply: bq24190: Convert to DT schema format
dt-bindings: power: supply: bq2415x: Convert to DT schema format
dt-bindings: power: supply: bq24735: Convert to DT schema format
dt-bindings: power: supply: isp1704: Convert to DT schema format
dt-bindings: power: supply: sbs-charger: Convert to DT schema format
dt-bindings: power: supply: sbs-manager: Convert to DT schema format
dt-bindings: power: supply: ds2760: Convert to DT schema format
dt-bindings: power: supply: sc27xx-fg: Convert to DT schema format
dt-bindings: power: supply: sc2731-charger: Convert to DT schema
format
dt-bindings: power: supply: tps65090: Convert to DT schema format
dt-bindings: power: supply: tps65217: Convert to DT schema format
dt-bindings: power: supply: twl4030: Convert to DT schema format
dt-bindings: power: supply: n900-battery: Convert to DT schema format
dt-bindings: power: supply: lego-ev3-battery: Convert to DT schema
format
dt-bindings: power: supply: max17040: Convert to DT schema format
dt-bindings: power: supply: max14656: Convert to DT schema format
dt-bindings: power: supply: max17042: Convert to DT schema format
dt-bindings: power: supply: max8903: Convert to DT schema format
dt-bindings: power: supply: ucs1002: Convert to DT schema format
dt-bindings: power: supply: pm8941-charger: Convert to DT schema
format
dt-bindings: power: supply: pm8941-coincell: Convert to DT schema
format
dt-bindings: power: supply: act8945a: Convert to DT schema format
dt-bindings: power: supply: axp20x: Convert to DT schema format
dt-bindings: power: supply: da9150: Convert to DT schema format
dt-bindings: power: supply: lp8727: Convert to DT schema format
dt-bindings: power: supply: lt3651: Convert to DT schema format
dt-bindings: power: supply: ltc294x: Convert to DT schema format
dt-bindings: power: supply: rt9455: Convert to DT schema format
dt-bindings: power: supply: olpc-battery: Convert to DT schema format
dt-bindings: power: supply: ab8500: Convert to DT schema format
dt-bindings: power: supply: sbs-battery: Fix dtbs_check
dt-bindings: power: supply: Fix remaining battery.txt links
dt-bindings: power: supply: Drop power_supply.txt

.../bindings/power/supply/ab8500/btemp.txt | 16 --
.../bindings/power/supply/ab8500/chargalg.txt | 16 --
.../bindings/power/supply/ab8500/charger.txt | 25 ---
.../power/supply/act8945a-charger.txt | 44 -----
.../supply/active-semi,act8945a-charger.yaml | 77 ++++++++
.../bindings/power/supply/axp20x_ac_power.txt | 25 ---
.../bindings/power/supply/axp20x_battery.txt | 20 ---
.../power/supply/axp20x_usb_power.txt | 41 -----
.../bindings/power/supply/battery.txt | 3 -
.../bindings/power/supply/bq2415x.txt | 47 -----
.../bindings/power/supply/bq2415x.yaml | 98 ++++++++++
.../bindings/power/supply/bq24190.txt | 61 -------
.../bindings/power/supply/bq24190.yaml | 92 ++++++++++
.../bindings/power/supply/bq24257.txt | 62 -------
.../bindings/power/supply/bq24257.yaml | 124 +++++++++++++
.../bindings/power/supply/bq24735.yaml | 88 +++++++++
.../bindings/power/supply/bq25890.txt | 60 -------
.../bindings/power/supply/bq25890.yaml | 125 +++++++++++++
.../bindings/power/supply/bq27xxx.yaml | 2 +-
.../bindings/power/supply/cpcap-battery.txt | 31 ----
.../bindings/power/supply/cpcap-battery.yaml | 87 +++++++++
.../bindings/power/supply/cpcap-charger.txt | 40 -----
.../bindings/power/supply/cpcap-charger.yaml | 106 +++++++++++
.../bindings/power/supply/da9150-charger.txt | 26 ---
.../bindings/power/supply/da9150-fg.txt | 23 ---
.../power/supply/dlg,da9150-charger.yaml | 52 ++++++
.../power/supply/dlg,da9150-fuel-gauge.yaml | 51 ++++++
.../bindings/power/supply/isp1704.txt | 17 --
.../bindings/power/supply/isp1704.yaml | 42 +++++
.../power/supply/lego,ev3-battery.yaml | 55 ++++++
.../power/supply/lego_ev3_battery.txt | 21 ---
.../power/supply/lltc,lt3651-charger.yaml | 44 +++++
.../bindings/power/supply/lltc,ltc294x.yaml | 66 +++++++
.../bindings/power/supply/lp8727_charger.txt | 43 -----
.../bindings/power/supply/lt3651-charger.txt | 29 ---
.../bindings/power/supply/ltc2941.txt | 28 ---
.../power/supply/max17040_battery.txt | 52 ------
.../power/supply/max17042_battery.txt | 35 ----
.../bindings/power/supply/max8903-charger.txt | 24 ---
.../bindings/power/supply/maxim,ds2760.txt | 26 ---
.../bindings/power/supply/maxim,ds2760.yaml | 45 +++++
.../bindings/power/supply/maxim,max14656.txt | 23 ---
.../bindings/power/supply/maxim,max14656.yaml | 45 +++++
.../bindings/power/supply/maxim,max17040.yaml | 95 ++++++++++
.../bindings/power/supply/maxim,max17042.yaml | 78 ++++++++
.../bindings/power/supply/maxim,max8903.yaml | 67 +++++++
.../power/supply/microchip,ucs1002.txt | 27 ---
.../power/supply/microchip,ucs1002.yaml | 51 ++++++
.../power/supply/nokia,n900-battery.yaml | 49 +++++
.../bindings/power/supply/olpc-battery.yaml | 27 +++
.../bindings/power/supply/olpc_battery.txt | 5 -
.../bindings/power/supply/power_supply.txt | 2 -
.../power/supply/qcom,coincell-charger.txt | 48 -----
.../power/supply/qcom,pm8941-charger.yaml | 169 ++++++++++++++++++
.../power/supply/qcom,pm8941-coincell.yaml | 58 ++++++
.../bindings/power/supply/qcom_smbb.txt | 150 ----------------
.../bindings/power/supply/richtek,rt9455.yaml | 90 ++++++++++
.../bindings/power/supply/rohm,bd99954.yaml | 2 +-
.../bindings/power/supply/rt9455_charger.txt | 46 -----
.../bindings/power/supply/rx51-battery.txt | 25 ---
.../power/supply/sbs,sbs-battery.yaml | 7 +-
.../power/supply/sbs,sbs-charger.yaml | 55 ++++++
.../bindings/power/supply/sbs,sbs-manager.txt | 66 -------
.../power/supply/sbs,sbs-manager.yaml | 111 ++++++++++++
.../bindings/power/supply/sbs_sbs-charger.txt | 21 ---
.../bindings/power/supply/sc2731-charger.yaml | 53 ++++++
.../bindings/power/supply/sc2731_charger.txt | 40 -----
.../bindings/power/supply/sc27xx-fg.txt | 59 ------
.../bindings/power/supply/sc27xx-fg.yaml | 98 ++++++++++
.../fg.txt => stericsson,ab8500-battery.txt} | 32 +---
.../power/supply/stericsson,ab8500-btemp.yaml | 73 ++++++++
.../supply/stericsson,ab8500-chargalg.yaml | 37 ++++
.../supply/stericsson,ab8500-charger.yaml | 123 +++++++++++++
.../power/supply/stericsson,ab8500-fg.yaml | 72 ++++++++
.../bindings/power/supply/ti,bq24735.txt | 39 ----
.../bindings/power/supply/ti,lp8727.yaml | 112 ++++++++++++
.../power/supply/tps65090-charger.yaml | 36 ++++
.../bindings/power/supply/tps65090.txt | 17 --
.../power/supply/tps65217-charger.yaml | 43 +++++
.../power/supply/tps65217_charger.txt | 17 --
.../bindings/power/supply/twl-charger.txt | 30 ----
.../power/supply/twl4030-charger.yaml | 68 +++++++
.../x-powers,axp20x-ac-power-supply.yaml | 32 ++++
.../x-powers,axp20x-battery-power-supply.yaml | 30 ++++
.../x-powers,axp20x-usb-power-supply.yaml | 33 ++++
.../arm/boot/dts/motorola-cpcap-mapphone.dtsi | 59 +++---
86 files changed, 2896 insertions(+), 1493 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/ab8500/btemp.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/ab8500/chargalg.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/ab8500/charger.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/act8945a-charger.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/active-semi,act8945a-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/axp20x_ac_power.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/axp20x_battery.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/axp20x_usb_power.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/battery.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/bq2415x.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/bq2415x.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/bq24190.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/bq24190.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/bq24257.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/bq24257.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/bq24735.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/bq25890.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/bq25890.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/cpcap-battery.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/cpcap-battery.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/cpcap-charger.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/cpcap-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/da9150-charger.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/da9150-fg.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/dlg,da9150-charger.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/dlg,da9150-fuel-gauge.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/isp1704.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/isp1704.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/lego,ev3-battery.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/lego_ev3_battery.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/lltc,lt3651-charger.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/lltc,ltc294x.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/lt3651-charger.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/ltc2941.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/max17040_battery.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/max17042_battery.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/max8903-charger.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/maxim,ds2760.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,ds2760.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max14656.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max14656.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max17040.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max17042.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max8903.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/microchip,ucs1002.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/microchip,ucs1002.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/nokia,n900-battery.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/olpc-battery.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/olpc_battery.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/power_supply.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/qcom,coincell-charger.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/qcom,pm8941-charger.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/qcom,pm8941-coincell.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/qcom_smbb.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/richtek,rt9455.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/rt9455_charger.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/rx51-battery.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/sbs,sbs-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/sbs_sbs-charger.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/sc2731-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/sc2731_charger.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/sc27xx-fg.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/sc27xx-fg.yaml
rename Documentation/devicetree/bindings/power/supply/{ab8500/fg.txt => stericsson,ab8500-battery.txt} (52%)
create mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-btemp.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-chargalg.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-charger.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-fg.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/ti,bq24735.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/tps65090-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/tps65090.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/tps65217_charger.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/twl-charger.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/twl4030-charger.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml

--
2.30.1


2021-03-12 15:46:26

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 14/38] dt-bindings: power: supply: sc2731-charger: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/sc2731-charger.yaml | 53 +++++++++++++++++++
.../bindings/power/supply/sc2731_charger.txt | 40 --------------
2 files changed, 53 insertions(+), 40 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/sc2731-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/sc2731_charger.txt

diff --git a/Documentation/devicetree/bindings/power/supply/sc2731-charger.yaml b/Documentation/devicetree/bindings/power/supply/sc2731-charger.yaml
new file mode 100644
index 000000000000..db1aa238cda5
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/sc2731-charger.yaml
@@ -0,0 +1,53 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/sc2731-charger.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Spreadtrum SC2731 PMICs battery charger binding
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: sprd,sc2731-charger
+
+ reg:
+ maxItems: 1
+
+ phys:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle to the USB phy
+
+ monitored-battery:
+ description: |
+ The charger uses the following battery properties
+ - charge-term-current-microamp: current for charge termination phase.
+ - constant-charge-voltage-max-microvolt: maximum constant input voltage.
+ See Documentation/devicetree/bindings/power/supply/battery.yaml
+
+additionalProperties: false
+
+examples:
+ - |
+ bat: battery {
+ compatible = "simple-battery";
+ charge-term-current-microamp = <120000>;
+ constant-charge-voltage-max-microvolt = <4350000>;
+ };
+
+ pmic {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ battery@a00 {
+ compatible = "sprd,sc2731-charger";
+ reg = <0x0>;
+ phys = <&ssphy>;
+ monitored-battery = <&bat>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/sc2731_charger.txt b/Documentation/devicetree/bindings/power/supply/sc2731_charger.txt
deleted file mode 100644
index 5266fab16575..000000000000
--- a/Documentation/devicetree/bindings/power/supply/sc2731_charger.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Spreadtrum SC2731 PMIC battery charger binding
-
-Required properties:
- - compatible: Should be "sprd,sc2731-charger".
- - reg: Address offset of charger register.
- - phys: Contains a phandle to the USB phy.
-
-Optional Properties:
-- monitored-battery: phandle of battery characteristics devicetree node.
- The charger uses the following battery properties:
-- charge-term-current-microamp: current for charge termination phase.
-- constant-charge-voltage-max-microvolt: maximum constant input voltage.
- See Documentation/devicetree/bindings/power/supply/battery.txt
-
-Example:
-
- bat: battery {
- compatible = "simple-battery";
- charge-term-current-microamp = <120000>;
- constant-charge-voltage-max-microvolt = <4350000>;
- ......
- };
-
- sc2731_pmic: pmic@0 {
- compatible = "sprd,sc2731";
- reg = <0>;
- spi-max-frequency = <26000000>;
- interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-controller;
- #interrupt-cells = <2>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- charger@0 {
- compatible = "sprd,sc2731-charger";
- reg = <0x0>;
- phys = <&ssphy>;
- monitored-battery = <&bat>;
- };
- };
--
2.30.1

2021-03-12 15:46:26

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 11/38] dt-bindings: power: supply: sbs-manager: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/sbs,sbs-manager.txt | 66 -----------
.../power/supply/sbs,sbs-manager.yaml | 111 ++++++++++++++++++
2 files changed, 111 insertions(+), 66 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.txt b/Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.txt
deleted file mode 100644
index 4b2195571a49..000000000000
--- a/Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-Binding for sbs-manager
-
-Required properties:
-- compatible: "<vendor>,<part-number>", "sbs,sbs-charger" as fallback. The part
- number compatible string might be used in order to take care of vendor
- specific registers.
-- reg: integer, i2c address of the device. Should be <0xa>.
-Optional properties:
-- gpio-controller: Marks the port as GPIO controller.
- See "gpio-specifier" in .../devicetree/bindings/gpio/gpio.txt.
-- #gpio-cells: Should be <2>. The first cell is the pin number, the second cell
- is used to specify optional parameters:
- See "gpio-specifier" in .../devicetree/bindings/gpio/gpio.txt.
-
-From OS view the device is basically an i2c-mux used to communicate with up to
-four smart battery devices at address 0xb. The driver actually implements this
-behaviour. So standard i2c-mux nodes can be used to register up to four slave
-batteries. Channels will be numerated starting from 1 to 4.
-
-Example:
-
-batman@a {
- compatible = "lltc,ltc1760", "sbs,sbs-manager";
- reg = <0x0a>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- gpio-controller;
- #gpio-cells = <2>;
-
- i2c@1 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <1>;
-
- battery@b {
- compatible = "ti,bq2060", "sbs,sbs-battery";
- reg = <0x0b>;
- sbs,battery-detect-gpios = <&batman 1 1>;
- };
- };
-
- i2c@2 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <2>;
-
- battery@b {
- compatible = "ti,bq2060", "sbs,sbs-battery";
- reg = <0x0b>;
- sbs,battery-detect-gpios = <&batman 2 1>;
- };
- };
-
- i2c@3 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <3>;
-
- battery@b {
- compatible = "ti,bq2060", "sbs,sbs-battery";
- reg = <0x0b>;
- sbs,battery-detect-gpios = <&batman 3 1>;
- };
- };
-};
diff --git a/Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.yaml b/Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.yaml
new file mode 100644
index 000000000000..592c476d83e6
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.yaml
@@ -0,0 +1,111 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/supply/sbs,sbs-manager.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SBS compliant manger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - lltc,ltc1760
+ - enum:
+ - sbs,sbs-manager
+ - items:
+ - const: sbs,sbs-manager
+
+ reg:
+ const: 0xa
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+ gpio-controller: true
+
+ "#gpio-cells":
+ const: 2
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+dependencies:
+ '#gpio-cells': [gpio-controller]
+ gpio-controller: ['#gpio-cells']
+
+patternProperties:
+ "^i2c@[1-4]$":
+ type: object
+
+ allOf:
+ - $ref: /schemas/i2c/i2c-controller.yaml#
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ batman: battery-manager@a {
+ compatible = "lltc,ltc1760", "sbs,sbs-manager";
+ reg = <0x0a>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ battery@b {
+ compatible = "ti,bq20z65", "sbs,sbs-battery";
+ reg = <0x0b>;
+ sbs,battery-detect-gpios = <&batman 1 1>;
+ };
+ };
+
+ i2c@2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <2>;
+
+ battery@b {
+ compatible = "ti,bq20z65", "sbs,sbs-battery";
+ reg = <0x0b>;
+ sbs,battery-detect-gpios = <&batman 2 1>;
+ };
+ };
+
+ i2c@3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <3>;
+
+ battery@b {
+ compatible = "ti,bq20z65", "sbs,sbs-battery";
+ reg = <0x0b>;
+ sbs,battery-detect-gpios = <&batman 3 1>;
+ };
+ };
+ };
+ };
--
2.30.1

2021-03-12 15:46:27

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 13/38] dt-bindings: power: supply: sc27xx-fg: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/sc27xx-fg.txt | 59 -----------
.../bindings/power/supply/sc27xx-fg.yaml | 98 +++++++++++++++++++
2 files changed, 98 insertions(+), 59 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/sc27xx-fg.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/sc27xx-fg.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/sc27xx-fg.txt b/Documentation/devicetree/bindings/power/supply/sc27xx-fg.txt
deleted file mode 100644
index b6359b590383..000000000000
--- a/Documentation/devicetree/bindings/power/supply/sc27xx-fg.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-Spreadtrum SC27XX PMICs Fuel Gauge Unit Power Supply Bindings
-
-Required properties:
-- compatible: Should be one of the following:
- "sprd,sc2720-fgu",
- "sprd,sc2721-fgu",
- "sprd,sc2723-fgu",
- "sprd,sc2730-fgu",
- "sprd,sc2731-fgu".
-- reg: The address offset of fuel gauge unit.
-- battery-detect-gpios: GPIO for battery detection.
-- io-channels: Specify the IIO ADC channels to get temperature and charge voltage.
-- io-channel-names: Should be "bat-temp" or "charge-vol".
-- nvmem-cells: A phandle to the calibration cells provided by eFuse device.
-- nvmem-cell-names: Should be "fgu_calib".
-- sprd,calib-resistance-micro-ohms: Specify the real resistance of coulomb counter
- chip in micro Ohms.
-- monitored-battery: Phandle of battery characteristics devicetree node.
- See Documentation/devicetree/bindings/power/supply/battery.txt
-
-Example:
-
- bat: battery {
- compatible = "simple-battery";
- charge-full-design-microamp-hours = <1900000>;
- constant-charge-voltage-max-microvolt = <4350000>;
- ocv-capacity-celsius = <20>;
- ocv-capacity-table-0 = <4185000 100>, <4113000 95>, <4066000 90>,
- <4022000 85>, <3983000 80>, <3949000 75>,
- <3917000 70>, <3889000 65>, <3864000 60>,
- <3835000 55>, <3805000 50>, <3787000 45>,
- <3777000 40>, <3773000 35>, <3770000 30>,
- <3765000 25>, <3752000 20>, <3724000 15>,
- <3680000 10>, <3605000 5>, <3400000 0>;
- ......
- };
-
- sc2731_pmic: pmic@0 {
- compatible = "sprd,sc2731";
- reg = <0>;
- spi-max-frequency = <26000000>;
- interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-controller;
- #interrupt-cells = <2>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- fgu@a00 {
- compatible = "sprd,sc2731-fgu";
- reg = <0xa00>;
- battery-detect-gpios = <&pmic_eic 9 GPIO_ACTIVE_HIGH>;
- io-channels = <&pmic_adc 5>, <&pmic_adc 14>;
- io-channel-names = "bat-temp", "charge-vol";
- nvmem-cells = <&fgu_calib>;
- nvmem-cell-names = "fgu_calib";
- monitored-battery = <&bat>;
- sprd,calib-resistance-micro-ohms = <21500>;
- };
- };
diff --git a/Documentation/devicetree/bindings/power/supply/sc27xx-fg.yaml b/Documentation/devicetree/bindings/power/supply/sc27xx-fg.yaml
new file mode 100644
index 000000000000..e019cffd1f38
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/sc27xx-fg.yaml
@@ -0,0 +1,98 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/sc27xx-fg.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Spreadtrum SC27XX PMICs Fuel Gauge Unit Power Supply Bindings
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - sprd,sc2720-fgu
+ - sprd,sc2721-fgu
+ - sprd,sc2723-fgu
+ - sprd,sc2730-fgu
+ - sprd,sc2731-fgu
+
+ reg:
+ maxItems: 1
+
+ battery-detect-gpios:
+ maxItems: 1
+
+ io-channels:
+ items:
+ - description: Battery Temperature ADC
+ - description: Battery Charge Voltage ADC
+
+ io-channel-names:
+ items:
+ - const: bat-temp
+ - const: charge-vol
+
+ nvmem-cells:
+ maxItems: 1
+ description: Calibration cells provided by eFuse device
+
+ nvmem-cell-names:
+ const: fgu_calib
+
+ sprd,calib-resistance-micro-ohms:
+ description: real resistance of coulomb counter chip in micro Ohms
+
+ monitored-battery: true
+
+required:
+ - compatible
+ - reg
+ - battery-detect-gpios
+ - io-channels
+ - io-channel-names
+ - nvmem-cells
+ - nvmem-cell-names
+ - sprd,calib-resistance-micro-ohms
+ - monitored-battery
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ bat: battery {
+ compatible = "simple-battery";
+ charge-full-design-microamp-hours = <1900000>;
+ constant-charge-voltage-max-microvolt = <4350000>;
+ ocv-capacity-celsius = <20>;
+ ocv-capacity-table-0 = <4185000 100>, <4113000 95>, <4066000 90>,
+ <4022000 85>, <3983000 80>, <3949000 75>,
+ <3917000 70>, <3889000 65>, <3864000 60>,
+ <3835000 55>, <3805000 50>, <3787000 45>,
+ <3777000 40>, <3773000 35>, <3770000 30>,
+ <3765000 25>, <3752000 20>, <3724000 15>,
+ <3680000 10>, <3605000 5>, <3400000 0>;
+ // ...
+ };
+
+ pmic {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ battery@a00 {
+ compatible = "sprd,sc2731-fgu";
+ reg = <0xa00>;
+ battery-detect-gpios = <&pmic_eic 9 GPIO_ACTIVE_HIGH>;
+ io-channels = <&pmic_adc 5>, <&pmic_adc 14>;
+ io-channel-names = "bat-temp", "charge-vol";
+ nvmem-cells = <&fgu_calib>;
+ nvmem-cell-names = "fgu_calib";
+ monitored-battery = <&bat>;
+ sprd,calib-resistance-micro-ohms = <21500>;
+ };
+ };
--
2.30.1

2021-03-12 15:46:27

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 05/38] dt-bindings: power: supply: bq24257: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/bq24257.txt | 62 ---------
.../bindings/power/supply/bq24257.yaml | 124 ++++++++++++++++++
2 files changed, 124 insertions(+), 62 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/bq24257.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/bq24257.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/bq24257.txt b/Documentation/devicetree/bindings/power/supply/bq24257.txt
deleted file mode 100644
index f8f5a1685bb9..000000000000
--- a/Documentation/devicetree/bindings/power/supply/bq24257.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-Binding for TI bq24250/bq24251/bq24257 Li-Ion Charger
-
-Required properties:
-- compatible: Should contain one of the following:
- * "ti,bq24250"
- * "ti,bq24251"
- * "ti,bq24257"
-- reg: integer, i2c address of the device.
-- interrupts: Interrupt mapping for GPIO IRQ (configure for both edges). Use in
- conjunction with "interrupt-parent".
-- ti,battery-regulation-voltage: integer, maximum charging voltage in uV.
-- ti,charge-current: integer, maximum charging current in uA.
-- ti,termination-current: integer, charge will be terminated when current in
- constant-voltage phase drops below this value (in uA).
-
-Optional properties:
-- pg-gpios: GPIO used for connecting the bq2425x device PG (Power Good) pin.
- This pin is not available on all devices however it should be used if
- possible as this is the recommended way to obtain the charger's input PG
- state. If this pin is not specified a software-based approach for PG
- detection is used.
-- ti,current-limit: The maximum current to be drawn from the charger's input
- (in uA). If this property is not specified, the input limit current is
- set automatically using USB D+/D- signal based charger type detection.
- If the hardware does not support the D+/D- based detection, a default
- of 500,000 is used (=500mA) instead.
-- ti,ovp-voltage: Configures the over voltage protection voltage (in uV). If
- not specified a default of 6,5000,000 (=6.5V) is used.
-- ti,in-dpm-voltage: Configures the threshold input voltage for the dynamic
- power path management (in uV). If not specified a default of 4,360,000
- (=4.36V) is used.
-
-Example:
-
-bq24257 {
- compatible = "ti,bq24257";
- reg = <0x6a>;
- interrupt-parent = <&gpio1>;
- interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
-
- pg-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
-
- ti,battery-regulation-voltage = <4200000>;
- ti,charge-current = <1000000>;
- ti,termination-current = <50000>;
-};
-
-Example:
-
-bq24250 {
- compatible = "ti,bq24250";
- reg = <0x6a>;
- interrupt-parent = <&gpio1>;
- interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
-
- ti,battery-regulation-voltage = <4200000>;
- ti,charge-current = <500000>;
- ti,termination-current = <50000>;
- ti,current-limit = <900000>;
- ti,ovp-voltage = <9500000>;
- ti,in-dpm-voltage = <4440000>;
-};
diff --git a/Documentation/devicetree/bindings/power/supply/bq24257.yaml b/Documentation/devicetree/bindings/power/supply/bq24257.yaml
new file mode 100644
index 000000000000..3a0f6cd9015a
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/bq24257.yaml
@@ -0,0 +1,124 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/bq24257.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Binding for bq24250, bq24251 and bq24257 Li-Ion Charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - ti,bq24250
+ - ti,bq24251
+ - ti,bq24257
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ ti,battery-regulation-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: maximum charging voltage in uV
+
+ ti,charge-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: maximum charging current in uA
+
+ ti,termination-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ charge will be terminated when current in constant-voltage phase
+ drops below this value (in uA)
+
+ pg-gpios:
+ description: |
+ GPIO used for connecting the bq2425x device PG (Power Good) pin.
+ This pin is not available on all devices however it should be used if
+ possible as this is the recommended way to obtain the charger's input PG
+ state. If this pin is not specified a software-based approach for PG
+ detection is used.
+ maxItems: 1
+
+ ti,current-limit:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ The maximum current to be drawn from the charger's input (in uA).
+ If this property is not specified, the input limit current is set
+ automatically using USB D+/D- signal based charger type detection.
+ If the hardware does not support the D+/D- based detection, a default
+ of 500,000 is used (=500mA) instead.
+
+ ti,ovp-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Configures the over voltage protection voltage (in uV).
+ If not specified a default of 6,5000,000 (=6.5V) is used.
+
+ ti,in-dpm-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Configures the threshold input voltage for the dynamic power path management (in uV).
+ If not specified a default of 4,360,000 (=4.36V) is used.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - ti,battery-regulation-voltage
+ - ti,charge-current
+ - ti,termination-current
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@6a {
+ compatible = "ti,bq24257";
+ reg = <0x6a>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
+
+ pg-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
+
+ ti,battery-regulation-voltage = <4200000>;
+ ti,charge-current = <1000000>;
+ ti,termination-current = <50000>;
+ };
+ };
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@6a {
+ compatible = "ti,bq24250";
+ reg = <0x6a>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
+
+ ti,battery-regulation-voltage = <4200000>;
+ ti,charge-current = <500000>;
+ ti,termination-current = <50000>;
+ ti,current-limit = <900000>;
+ ti,ovp-voltage = <9500000>;
+ ti,in-dpm-voltage = <4440000>;
+ };
+ };
--
2.30.1

2021-03-12 15:46:28

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 07/38] dt-bindings: power: supply: bq2415x: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/bq2415x.txt | 47 ---------
.../bindings/power/supply/bq2415x.yaml | 98 +++++++++++++++++++
2 files changed, 98 insertions(+), 47 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/bq2415x.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/bq2415x.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/bq2415x.txt b/Documentation/devicetree/bindings/power/supply/bq2415x.txt
deleted file mode 100644
index d0327f0b59ad..000000000000
--- a/Documentation/devicetree/bindings/power/supply/bq2415x.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-Binding for TI bq2415x Li-Ion Charger
-
-Required properties:
-- compatible: Should contain one of the following:
- * "ti,bq24150"
- * "ti,bq24150"
- * "ti,bq24150a"
- * "ti,bq24151"
- * "ti,bq24151a"
- * "ti,bq24152"
- * "ti,bq24153"
- * "ti,bq24153a"
- * "ti,bq24155"
- * "ti,bq24156"
- * "ti,bq24156a"
- * "ti,bq24158"
-- reg: integer, i2c address of the device.
-- ti,current-limit: integer, initial maximum current charger can pull
- from power supply in mA.
-- ti,weak-battery-voltage: integer, weak battery voltage threshold in mV.
- The chip will use slow precharge if battery voltage
- is below this value.
-- ti,battery-regulation-voltage: integer, maximum charging voltage in mV.
-- ti,charge-current: integer, maximum charging current in mA.
-- ti,termination-current: integer, charge will be terminated when current in
- constant-voltage phase drops below this value (in mA).
-- ti,resistor-sense: integer, value of sensing resistor in milliohm.
-
-Optional properties:
-- ti,usb-charger-detection: phandle to usb charger detection device.
- (required for auto mode)
-
-Example from Nokia N900:
-
-bq24150a {
- compatible = "ti,bq24150a";
- reg = <0x6b>;
-
- ti,current-limit = <100>;
- ti,weak-battery-voltage = <3400>;
- ti,battery-regulation-voltage = <4200>;
- ti,charge-current = <650>;
- ti,termination-current = <100>;
- ti,resistor-sense = <68>;
-
- ti,usb-charger-detection = <&isp1704>;
-};
diff --git a/Documentation/devicetree/bindings/power/supply/bq2415x.yaml b/Documentation/devicetree/bindings/power/supply/bq2415x.yaml
new file mode 100644
index 000000000000..f8461f06e6f4
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/bq2415x.yaml
@@ -0,0 +1,98 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/bq2415x.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Binding for TI bq2415x Li-Ion Charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - ti,bq24150
+ - ti,bq24150
+ - ti,bq24150a
+ - ti,bq24151
+ - ti,bq24151a
+ - ti,bq24152
+ - ti,bq24153
+ - ti,bq24153a
+ - ti,bq24155
+ - ti,bq24156
+ - ti,bq24156a
+ - ti,bq24158
+
+ reg:
+ maxItems: 1
+
+ ti,current-limit:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: initial maximum current charger can pull from power supply in mA.
+
+ ti,weak-battery-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ weak battery voltage threshold in mV.
+ The chip will use slow precharge if battery voltage is below this value.
+
+ ti,battery-regulation-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: maximum charging voltage in mV.
+
+ ti,charge-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: maximum charging current in mA.
+
+ ti,termination-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ charge will be terminated when current in constant-voltage phase drops
+ below this value (in mA).
+
+ ti,resistor-sense:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: value of sensing resistor in milliohm.
+
+ ti,usb-charger-detection:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle to usb charger detection device (required for auto mode)
+
+required:
+ - compatible
+ - reg
+ - ti,current-limit
+ - ti,weak-battery-voltage
+ - ti,battery-regulation-voltage
+ - ti,charge-current
+ - ti,termination-current
+ - ti,resistor-sense
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@6b {
+ compatible = "ti,bq24150a";
+ reg = <0x6b>;
+
+ ti,current-limit = <100>;
+ ti,weak-battery-voltage = <3400>;
+ ti,battery-regulation-voltage = <4200>;
+ ti,charge-current = <650>;
+ ti,termination-current = <100>;
+ ti,resistor-sense = <68>;
+
+ ti,usb-charger-detection = <&isp1704>;
+ };
+ };
--
2.30.1

2021-03-12 15:46:28

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 10/38] dt-bindings: power: supply: sbs-charger: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/sbs,sbs-charger.yaml | 55 +++++++++++++++++++
.../bindings/power/supply/sbs_sbs-charger.txt | 21 -------
2 files changed, 55 insertions(+), 21 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/sbs,sbs-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/sbs_sbs-charger.txt

diff --git a/Documentation/devicetree/bindings/power/supply/sbs,sbs-charger.yaml b/Documentation/devicetree/bindings/power/supply/sbs,sbs-charger.yaml
new file mode 100644
index 000000000000..cb73ffa4778e
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/sbs,sbs-charger.yaml
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/supply/sbs,sbs-charger.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SBS compliant charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+description: |
+ Charger compatible with the smart battery system specifications
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - lltc,ltc4100
+ - enum:
+ - sbs,sbs-charger
+ - items:
+ - const: sbs,sbs-charger
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@9 {
+ compatible = "lltc,ltc4100", "sbs,sbs-charger";
+ reg = <0x9>;
+ interrupt-parent = <&gpio6>;
+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/sbs_sbs-charger.txt b/Documentation/devicetree/bindings/power/supply/sbs_sbs-charger.txt
deleted file mode 100644
index 84e74151eef2..000000000000
--- a/Documentation/devicetree/bindings/power/supply/sbs_sbs-charger.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-SBS sbs-charger
-~~~~~~~~~~
-
-Required properties:
- - compatible: "<vendor>,<part-number>", "sbs,sbs-charger" as fallback. The part
- number compatible string might be used in order to take care of vendor
- specific registers.
-
-Optional properties:
-- interrupts: Interrupt mapping for GPIO IRQ. Use in conjunction with
- "interrupt-parent". If an interrupt is not provided the driver will switch
- automatically to polling.
-
-Example:
-
- ltc4100@9 {
- compatible = "lltc,ltc4100", "sbs,sbs-charger";
- reg = <0x9>;
- interrupt-parent = <&gpio6>;
- interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
- };
--
2.30.1

2021-03-12 15:46:29

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 12/38] dt-bindings: power: supply: ds2760: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/maxim,ds2760.txt | 26 -----------
.../bindings/power/supply/maxim,ds2760.yaml | 45 +++++++++++++++++++
2 files changed, 45 insertions(+), 26 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/maxim,ds2760.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,ds2760.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/maxim,ds2760.txt b/Documentation/devicetree/bindings/power/supply/maxim,ds2760.txt
deleted file mode 100644
index 55967a0bee11..000000000000
--- a/Documentation/devicetree/bindings/power/supply/maxim,ds2760.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-Devicetree bindings for Maxim DS2760
-====================================
-
-The ds2760 is a w1 slave device and must hence have its sub-node in DT
-under a w1 bus master node.
-
-The device exposes a power supply, so the details described in
-Documentation/devicetree/bindings/power/supply/power_supply.txt apply.
-
-Required properties:
-- compatible: must be "maxim,ds2760"
-
-Optional properties:
-- power-supplies: Refers to one or more power supplies connected to
- this battery.
-- maxim,pmod-enabled: This boolean property enables the DS2760 to enter
- sleep mode when the DQ line goes low for greater
- than 2 seconds and leave sleep Mode when the DQ
- line goes high.
-- maxim,cache-time-ms: Time im milliseconds to cache the data for. When
- this time expires, the values are read again from
- the hardware. Defaults to 1000.
-- rated-capacity-microamp-hours:
- The rated capacity of the battery, in mAh.
- If not specified, the value stored in the
- non-volatile chip memory is used.
diff --git a/Documentation/devicetree/bindings/power/supply/maxim,ds2760.yaml b/Documentation/devicetree/bindings/power/supply/maxim,ds2760.yaml
new file mode 100644
index 000000000000..3b3fb611393a
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/maxim,ds2760.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/maxim,ds2760.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Maxim DS2760 DT bindings
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+description: |
+ The ds2760 is a w1 slave device and must hence have its sub-node in
+ DT under a w1 bus master node.
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: maxim,ds2760
+
+ maxim,pmod-enabled:
+ description: |
+ Allow the DS2760 to enter sleep mode when the DQ line goes low for more than 2 seconds
+ and leave sleep Mode when the DQ line goes high.
+ type: boolean
+
+ maxim,cache-time-ms:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Time im milliseconds to cache the data for.
+ When this time expires, the values are read again from the hardware.
+ Defaults to 1000.
+
+ rated-capacity-microamp-hours:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ The rated capacity of the battery, in mAh.
+ If not specified, the value stored in the non-volatile chip memory is used.
+
+required:
+ - compatible
+
+unevaluatedProperties: false
--
2.30.1

2021-03-12 15:46:34

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 04/38] dt-bindings: power: supply: bq25890: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/bq25890.txt | 60 ---------
.../bindings/power/supply/bq25890.yaml | 125 ++++++++++++++++++
2 files changed, 125 insertions(+), 60 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/bq25890.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/bq25890.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/bq25890.txt b/Documentation/devicetree/bindings/power/supply/bq25890.txt
deleted file mode 100644
index 805040c6fff9..000000000000
--- a/Documentation/devicetree/bindings/power/supply/bq25890.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-Binding for TI bq25890 Li-Ion Charger
-
-This driver will support the bq25892, the bq25896 and the bq25890. There are
-other ICs in the same family but those have not been tested.
-
-Required properties:
-- compatible: Should contain one of the following:
- * "ti,bq25890"
- * "ti,bq25892"
- * "ti,bq25895"
- * "ti,bq25896"
-- reg: integer, i2c address of the device.
-- interrupts: interrupt line;
-- ti,battery-regulation-voltage: integer, maximum charging voltage (in uV);
-- ti,charge-current: integer, maximum charging current (in uA);
-- ti,termination-current: integer, charge will be terminated when current in
- constant-voltage phase drops below this value (in uA);
-- ti,precharge-current: integer, maximum charge current during precharge
- phase (in uA);
-- ti,minimum-sys-voltage: integer, when battery is charging and it is below
- minimum system voltage, the system will be regulated above
- minimum-sys-voltage setting (in uV);
-- ti,boost-voltage: integer, VBUS voltage level in boost mode (in uV);
-- ti,boost-max-current: integer, maximum allowed current draw in boost mode
- (in uA).
-
-Optional properties:
-- ti,boost-low-freq: boolean, if present boost mode frequency will be 500kHz,
- otherwise 1.5MHz;
-- ti,use-ilim-pin: boolean, if present the ILIM resistor will be used and the
- input current will be the lower between the resistor setting and the IINLIM
- register setting;
-- ti,thermal-regulation-threshold: integer, temperature above which the charge
- current is lowered, to avoid overheating (in degrees Celsius). If omitted,
- the default setting will be used (120 degrees);
-- ti,ibatcomp-micro-ohms: integer, value of a resistor in series with
- the battery;
-- ti,ibatcomp-clamp-microvolt: integer, maximum charging voltage adjustment due
- to expected voltage drop on in-series resistor;
-
-Example:
-
-bq25890 {
- compatible = "ti,bq25890";
- reg = <0x6a>;
-
- interrupt-parent = <&gpio1>;
- interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
-
- ti,battery-regulation-voltage = <4200000>;
- ti,charge-current = <1000000>;
- ti,termination-current = <50000>;
- ti,precharge-current = <128000>;
- ti,minimum-sys-voltage = <3600000>;
- ti,boost-voltage = <5000000>;
- ti,boost-max-current = <1000000>;
-
- ti,use-ilim-pin;
- ti,thermal-regulation-threshold = <120>;
-};
diff --git a/Documentation/devicetree/bindings/power/supply/bq25890.yaml b/Documentation/devicetree/bindings/power/supply/bq25890.yaml
new file mode 100644
index 000000000000..de6e03ec120c
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/bq25890.yaml
@@ -0,0 +1,125 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/bq25890.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Binding for bq25890, bq25892, bq25895 and bq25896 Li-Ion Charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - ti,bq25890
+ - ti,bq25892
+ - ti,bq25895
+ - ti,bq25896
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ ti,battery-regulation-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: maximum charging voltage (in uV)
+
+ ti,charge-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: maximum charging current (in uA)
+
+ ti,termination-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ charge will be terminated when current in constant-voltage phase
+ drops below this value (in uA)
+
+ ti,precharge-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: maximum charge current during precharge phase (in uA)
+
+ ti,minimum-sys-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ when battery is charging and it is below minimum system voltage,
+ the system will be regulated above minimum-sys-voltage setting (in uV)
+
+ ti,boost-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: VBUS voltage level in boost mode (in uV)
+
+ ti,boost-max-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: maximum allowed current draw in boost mode (in uA)
+
+ ti,boost-low-freq:
+ description: boost mode frequency will be 500kHz, otherwise 1.5MHz
+ type: boolean
+
+ ti,use-ilim-pin:
+ description: |
+ ILIM resistor will be used and the input current will be the lower
+ between the resistor setting and the IINLIM register setting
+ type: boolean
+
+ ti,thermal-regulation-threshold:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ temperature above which the charge current is lowered, to avoid overheating
+ (in degrees Celsius). If omitted, the default setting will be used (120 degrees)
+
+ ti,ibatcomp-micro-ohms:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: value of a resistor in series with the battery (in Micro Ohms)
+
+ ti,ibatcomp-clamp-microvolt:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: max. charging voltage adjustment due to expected voltage drop on in-series resistor
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - ti,battery-regulation-voltage
+ - ti,charge-current
+ - ti,termination-current
+ - ti,precharge-current
+ - ti,minimum-sys-voltage
+ - ti,boost-voltage
+ - ti,boost-max-current
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@6a {
+ compatible = "ti,bq25890";
+ reg = <0x6a>;
+
+ interrupt-parent = <&gpio1>;
+ interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
+
+ ti,battery-regulation-voltage = <4200000>;
+ ti,charge-current = <1000000>;
+ ti,termination-current = <50000>;
+ ti,precharge-current = <128000>;
+ ti,minimum-sys-voltage = <3600000>;
+ ti,boost-voltage = <5000000>;
+ ti,boost-max-current = <1000000>;
+
+ ti,use-ilim-pin;
+ ti,thermal-regulation-threshold = <120>;
+ };
+ };
--
2.30.1

2021-03-12 15:46:38

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 06/38] dt-bindings: power: supply: bq24190: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/bq24190.txt | 61 ------------
.../bindings/power/supply/bq24190.yaml | 92 +++++++++++++++++++
2 files changed, 92 insertions(+), 61 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/bq24190.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/bq24190.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/bq24190.txt b/Documentation/devicetree/bindings/power/supply/bq24190.txt
deleted file mode 100644
index ffe2be408bb6..000000000000
--- a/Documentation/devicetree/bindings/power/supply/bq24190.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-TI BQ24190 Li-Ion Battery Charger
-
-Required properties:
-- compatible: contains one of the following:
- * "ti,bq24190"
- * "ti,bq24192"
- * "ti,bq24192i"
- * "ti,bq24196"
-- reg: integer, I2C address of the charger.
-- interrupts[-extended]: configuration for charger INT pin.
-
-Optional properties:
-- monitored-battery: phandle of battery characteristics devicetree node
- The charger uses the following battery properties:
- + precharge-current-microamp: maximum charge current during precharge
- phase (typically 20% of battery capacity).
- + charge-term-current-microamp: a charge cycle terminates when the
- battery voltage is above recharge threshold, and the current is below
- this setting (typically 10% of battery capacity).
- See also Documentation/devicetree/bindings/power/supply/battery.txt
-- ti,system-minimum-microvolt: when power is connected and the battery is below
- minimum system voltage, the system will be regulated above this setting.
-
-child nodes:
-- usb-otg-vbus:
- Usage: optional
- Description: Regulator that is used to control the VBUS voltage direction for
- either USB host mode or for charging on the OTG port.
-
-Notes:
-- Some circuit boards wire the chip's "OTG" pin high (enabling 500mA default
- charge current on USB SDP ports, among other features). To simulate this on
- boards that wire the pin to a GPIO, set a gpio-hog.
-
-Example:
-
- bat: battery {
- compatible = "simple-battery";
- precharge-current-microamp = <256000>;
- charge-term-current-microamp = <128000>;
- // etc.
- };
-
- bq24190: charger@6a {
- compatible = "ti,bq24190";
- reg = <0x6a>;
- interrupts-extended = <&gpiochip 10 IRQ_TYPE_EDGE_FALLING>;
- monitored-battery = <&bat>;
- ti,system-minimum-microvolt = <3200000>;
-
- usb_otg_vbus: usb-otg-vbus { };
- };
-
- &twl_gpio {
- otg {
- gpio-hog;
- gpios = <6 0>;
- output-high;
- line-name = "otg-gpio";
- };
- };
diff --git a/Documentation/devicetree/bindings/power/supply/bq24190.yaml b/Documentation/devicetree/bindings/power/supply/bq24190.yaml
new file mode 100644
index 000000000000..0d7cbbdf808b
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/bq24190.yaml
@@ -0,0 +1,92 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/bq24190.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Binding for TI BQ2419x Li-Ion Battery Charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - ti,bq24190
+ - ti,bq24192
+ - ti,bq24192i
+ - ti,bq24196
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ usb-otg-vbus:
+ type: object
+ description: |
+ Regulator that is used to control the VBUS voltage direction for
+ either USB host mode or for charging on the OTG port
+
+ ti,system-minimum-microvolt:
+ description: |
+ when power is connected and the battery is below minimum system voltage,
+ the system will be regulated above this setting.
+
+ omit-battery-class:
+ type: boolean
+ description: |
+ If this property is set, the operating system does not try to create a
+ battery device.
+
+ monitored-battery:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: |
+ phandle to a "simple-battery" compatible node.
+
+ This property must be a phandle to a node using the format described
+ in battery.yaml, with the following properties being required:
+ - precharge-current-microamp: maximum charge current during precharge phase
+ (typically 20% of battery capacity).
+ - charge-term-current-microamp: a charge cycle terminates when the battery voltage is
+ above recharge threshold, and the current is below this
+ setting (typically 10% of battery capacity).
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ bat: battery {
+ compatible = "simple-battery";
+ precharge-current-microamp = <256000>;
+ charge-term-current-microamp = <128000>;
+ };
+
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@6a {
+ compatible = "ti,bq24190";
+ reg = <0x6a>;
+ interrupt-parent = <&gpiochip>;
+ interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
+ monitored-battery = <&bat>;
+ ti,system-minimum-microvolt = <3200000>;
+
+ usb_otg_vbus: usb-otg-vbus { };
+ };
+ };
--
2.30.1

2021-03-12 15:46:39

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 08/38] dt-bindings: power: supply: bq24735: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/bq24735.yaml | 88 +++++++++++++++++++
.../bindings/power/supply/ti,bq24735.txt | 39 --------
2 files changed, 88 insertions(+), 39 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/bq24735.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/ti,bq24735.txt

diff --git a/Documentation/devicetree/bindings/power/supply/bq24735.yaml b/Documentation/devicetree/bindings/power/supply/bq24735.yaml
new file mode 100644
index 000000000000..8a3a31ada128
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/bq24735.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/bq24735.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Binding for TI BQ24735 Li-Ion Battery Charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: ti,bq24735
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ description: AC adapter plug event interrupt
+ maxItems: 1
+
+ ti,ac-detect-gpios:
+ maxItems: 1
+ description: |
+ This GPIO is optionally used to read the AC adapter status. This is a Host GPIO
+ that is configured as an input and connected to the ACOK pin on the bq24735.
+ Note: for backwards compatibility reasons, the GPIO must be active on AC adapter
+ absence despite ACOK being active (high) on AC adapter presence.
+
+ ti,charge-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Used to control and set the charging current.
+ This value must be between 128mA and 8.128A with a 64mA step resolution.
+ The POR value is 0x0000h. This number is in mA (e.g. 8192).
+ See spec for more information about the ChargeCurrent (0x14h) register.
+
+ ti,charge-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Used to control and set the charging voltage.
+ This value must be between 1.024V and 19.2V with a 16mV step resolution.
+ The POR value is 0x0000h. This number is in mV (e.g. 19200).
+ See spec for more information about the ChargeVoltage (0x15h) register.
+
+ ti,input-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Used to control and set the charger input current.
+ This value must be between 128mA and 8.064A with a 128mA step resolution.
+ The POR value is 0x1000h. This number is in mA (e.g. 8064).
+ See the spec for more information about the InputCurrent (0x3fh) register.
+
+ ti,external-control:
+ type: boolean
+ description: |
+ Indicates that the charger is configured externally and that the host should not
+ attempt to enable/disable charging or set the charge voltage/current.
+
+ poll-interval:
+ description: |
+ If 'interrupts' is not specified, poll AC adapter presence with this interval (milliseconds).
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@9 {
+ compatible = "ti,bq24735";
+ reg = <0x9>;
+ ti,ac-detect-gpios = <&gpio 72 0x1>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/ti,bq24735.txt b/Documentation/devicetree/bindings/power/supply/ti,bq24735.txt
deleted file mode 100644
index de45e1a2a4d9..000000000000
--- a/Documentation/devicetree/bindings/power/supply/ti,bq24735.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-TI BQ24735 Charge Controller
-~~~~~~~~~~
-
-Required properties :
- - compatible : "ti,bq24735"
-
-Optional properties :
- - interrupts : Specify the interrupt to be used to trigger when the AC
- adapter is either plugged in or removed.
- - ti,ac-detect-gpios : This GPIO is optionally used to read the AC adapter
- status. This is a Host GPIO that is configured as an input and connected
- to the ACOK pin on the bq24735. Note: for backwards compatibility reasons,
- the GPIO must be active on AC adapter absence despite ACOK being active
- (high) on AC adapter presence.
- - ti,charge-current : Used to control and set the charging current. This value
- must be between 128mA and 8.128A with a 64mA step resolution. The POR value
- is 0x0000h. This number is in mA (e.g. 8192), see spec for more information
- about the ChargeCurrent (0x14h) register.
- - ti,charge-voltage : Used to control and set the charging voltage. This value
- must be between 1.024V and 19.2V with a 16mV step resolution. The POR value
- is 0x0000h. This number is in mV (e.g. 19200), see spec for more information
- about the ChargeVoltage (0x15h) register.
- - ti,input-current : Used to control and set the charger input current. This
- value must be between 128mA and 8.064A with a 128mA step resolution. The
- POR value is 0x1000h. This number is in mA (e.g. 8064), see the spec for
- more information about the InputCurrent (0x3fh) register.
- - ti,external-control : Indicates that the charger is configured externally
- and that the host should not attempt to enable/disable charging or set the
- charge voltage/current.
- - poll-interval : In case 'interrupts' is not specified, poll AC adapter
- presence with this interval (milliseconds).
-
-Example:
-
- bq24735@9 {
- compatible = "ti,bq24735";
- reg = <0x9>;
- ti,ac-detect-gpios = <&gpio 72 0x1>;
- }
--
2.30.1

2021-03-12 15:46:39

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 01/38] ARM: dts: motorola-cpcap-mapphone: Prepare for dtbs_check parsing

'<&gpio1 parameters &gpio2 parameters>' and '<&gpio1 parameters>,
<&gpio2 parameters>' result in the same DTB, but second format has
better source code readability. Also 'dtbs_check' currently uses
this format to determine the amount of items specified, so using
this syntax is needed to successfully verify the devicetree source
against a DT schema format.

Cc: Tony Lindgren <[email protected]>
Cc: [email protected]
Signed-off-by: Sebastian Reichel <[email protected]>
---
.../arm/boot/dts/motorola-cpcap-mapphone.dtsi | 59 +++++++++----------
1 file changed, 28 insertions(+), 31 deletions(-)

diff --git a/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi b/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi
index 08a7d3ce383f..ea02fd403a9b 100644
--- a/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi
+++ b/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi
@@ -27,16 +27,14 @@ cpcap_adc: adc {

cpcap_battery: battery {
compatible = "motorola,cpcap-battery";
- interrupts-extended = <
- &cpcap 6 0 &cpcap 5 0 &cpcap 3 0
- &cpcap 20 0 &cpcap 54 0 &cpcap 57 0
- >;
+ interrupts-extended =
+ <&cpcap 6 0>, <&cpcap 5 0>, <&cpcap 3 0>,
+ <&cpcap 20 0>, <&cpcap 54 0>, <&cpcap 57 0>;
interrupt-names =
"eol", "lowbph", "lowbpl",
- "chrgcurr1", "battdetb",
- "cccal";
- io-channels = <&cpcap_adc 0 &cpcap_adc 1
- &cpcap_adc 5 &cpcap_adc 6>;
+ "chrgcurr1", "battdetb", "cccal";
+ io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
+ <&cpcap_adc 5>, <&cpcap_adc 6>;
io-channel-names = "battdetb", "battp",
"chg_isense", "batti";
power-supplies = <&cpcap_charger>;
@@ -44,20 +42,19 @@ &cpcap 20 0 &cpcap 54 0 &cpcap 57 0

cpcap_charger: charger {
compatible = "motorola,mapphone-cpcap-charger";
- interrupts-extended = <
- &cpcap 13 0 &cpcap 12 0 &cpcap 29 0 &cpcap 28 0
- &cpcap 22 0 &cpcap 21 0 &cpcap 20 0 &cpcap 19 0
- &cpcap 54 0
- >;
+ interrupts-extended =
+ <&cpcap 13 0>, <&cpcap 12 0>, <&cpcap 29 0>,
+ <&cpcap 28 0>, <&cpcap 22 0>, <&cpcap 21 0>,
+ <&cpcap 20 0>, <&cpcap 19 0>, <&cpcap 54 0>;
interrupt-names =
- "chrg_det", "rvrs_chrg", "chrg_se1b", "se0conn",
- "rvrs_mode", "chrgcurr2", "chrgcurr1", "vbusvld",
- "battdetb";
- mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW
- &gpio3 23 GPIO_ACTIVE_LOW>;
- io-channels = <&cpcap_adc 0 &cpcap_adc 1
- &cpcap_adc 2 &cpcap_adc 5
- &cpcap_adc 6>;
+ "chrg_det", "rvrs_chrg", "chrg_se1b",
+ "se0conn", "rvrs_mode", "chrgcurr2",
+ "chrgcurr1", "vbusvld", "battdetb";
+ mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>,
+ <&gpio3 23 GPIO_ACTIVE_LOW>;
+ io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
+ <&cpcap_adc 2>, <&cpcap_adc 5>,
+ <&cpcap_adc 6>;
io-channel-names = "battdetb", "battp",
"vbus", "chg_isense",
"batti";
@@ -98,22 +95,22 @@ power_button: button {

cpcap_usb2_phy: phy {
compatible = "motorola,mapphone-cpcap-usb-phy";
- pinctrl-0 = <&usb_gpio_mux_sel1 &usb_gpio_mux_sel2>;
+ pinctrl-0 = <&usb_gpio_mux_sel1>, <&usb_gpio_mux_sel2>;
pinctrl-1 = <&usb_ulpi_pins>;
pinctrl-2 = <&usb_utmi_pins>;
pinctrl-3 = <&uart3_pins>;
pinctrl-names = "default", "ulpi", "utmi", "uart";
#phy-cells = <0>;
- interrupts-extended = <
- &cpcap 15 0 &cpcap 14 0 &cpcap 28 0 &cpcap 19 0
- &cpcap 18 0 &cpcap 17 0 &cpcap 16 0 &cpcap 49 0
- &cpcap 48 0
- >;
+ interrupts-extended =
+ <&cpcap 15 0>, <&cpcap 14 0>, <&cpcap 28 0>,
+ <&cpcap 19 0>, <&cpcap 18 0>, <&cpcap 17 0>,
+ <&cpcap 16 0>, <&cpcap 49 0>, <&cpcap 48 0>;
interrupt-names =
- "id_ground", "id_float", "se0conn", "vbusvld",
- "sessvld", "sessend", "se1", "dm", "dp";
- mode-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH
- &gpio1 0 GPIO_ACTIVE_HIGH>;
+ "id_ground", "id_float", "se0conn",
+ "vbusvld", "sessvld", "sessend",
+ "se1", "dm", "dp";
+ mode-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,
+ <&gpio1 0 GPIO_ACTIVE_HIGH>;
io-channels = <&cpcap_adc 2>, <&cpcap_adc 7>;
io-channel-names = "vbus", "id";
vusb-supply = <&vusb>;
--
2.30.1

2021-03-12 15:46:45

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 15/38] dt-bindings: power: supply: tps65090: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/tps65090-charger.yaml | 36 +++++++++++++++++++
.../bindings/power/supply/tps65090.txt | 17 ---------
2 files changed, 36 insertions(+), 17 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/tps65090-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/tps65090.txt

diff --git a/Documentation/devicetree/bindings/power/supply/tps65090-charger.yaml b/Documentation/devicetree/bindings/power/supply/tps65090-charger.yaml
new file mode 100644
index 000000000000..f2dd38bf078c
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/tps65090-charger.yaml
@@ -0,0 +1,36 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/tps65090-charger.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: TPS65090 Frontend PMU with Switchmode Charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: ti,tps65090-charger
+
+ ti,enable-low-current-chrg:
+ type: boolean
+ description: |
+ Enables charging when a low current is detected while the default logic is to stop charging.
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ pmic {
+ charger {
+ compatible = "ti,tps65090-charger";
+ ti,enable-low-current-chrg;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/tps65090.txt b/Documentation/devicetree/bindings/power/supply/tps65090.txt
deleted file mode 100644
index 8e5e0d3910df..000000000000
--- a/Documentation/devicetree/bindings/power/supply/tps65090.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-TPS65090 Frontend PMU with Switchmode Charger
-
-Required Properties:
--compatible: "ti,tps65090-charger"
-
-Optional Properties:
--ti,enable-low-current-chrg: Enables charging when a low current is detected
- while the default logic is to stop charging.
-
-This node is a subnode of the tps65090 PMIC.
-
-Example:
-
- tps65090-charger {
- compatible = "ti,tps65090-charger";
- ti,enable-low-current-chrg;
- };
--
2.30.1

2021-03-12 15:46:52

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 19/38] dt-bindings: power: supply: lego-ev3-battery: Convert to DT schema format

Convert the binding to DT schema format.

Cc: David Lechner <[email protected]>
Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/lego,ev3-battery.yaml | 55 +++++++++++++++++++
.../power/supply/lego_ev3_battery.txt | 21 -------
2 files changed, 55 insertions(+), 21 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/lego,ev3-battery.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/lego_ev3_battery.txt

diff --git a/Documentation/devicetree/bindings/power/supply/lego,ev3-battery.yaml b/Documentation/devicetree/bindings/power/supply/lego,ev3-battery.yaml
new file mode 100644
index 000000000000..518eabb63588
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/lego,ev3-battery.yaml
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/lego,ev3-battery.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: LEGO MINDSTORMS EV3 Battery
+
+maintainers:
+ - David Lechner <[email protected]>
+ - Sebastian Reichel <[email protected]>
+
+description: |
+ LEGO MINDSTORMS EV3 has some built-in capability for monitoring the battery.
+ It uses 6 AA batteries or a special Li-ion rechargeable battery pack that is
+ detected by a key switch in the battery compartment.
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: lego,ev3-battery
+
+ io-channels:
+ items:
+ - description: ADC channel for battery voltage
+ - description: ADC channel for battery current
+
+ io-channel-names:
+ items:
+ - const: voltage
+ - const: current
+
+ rechargeable-gpios:
+ maxItems: 1
+ description: Rechargeable battery indication gpio
+
+required:
+ - compatible
+ - io-channels
+ - io-channel-names
+ - rechargeable-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ battery {
+ compatible = "lego,ev3-battery";
+ io-channels = <&adc 4>, <&adc 3>;
+ io-channel-names = "voltage", "current";
+ rechargeable-gpios = <&gpio 136 GPIO_ACTIVE_LOW>;
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/lego_ev3_battery.txt b/Documentation/devicetree/bindings/power/supply/lego_ev3_battery.txt
deleted file mode 100644
index 5485633b1faa..000000000000
--- a/Documentation/devicetree/bindings/power/supply/lego_ev3_battery.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-LEGO MINDSTORMS EV3 Battery
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-LEGO MINDSTORMS EV3 has some built-in capability for monitoring the battery.
-It uses 6 AA batteries or a special Li-ion rechargeable battery pack that is
-detected by a key switch in the battery compartment.
-
-Required properties:
- - compatible: Must be "lego,ev3-battery"
- - io-channels: phandles to analog inputs for reading voltage and current
- - io-channel-names: Must be "voltage", "current"
- - rechargeable-gpios: phandle to the rechargeable battery indication gpio
-
-Example:
-
- battery {
- compatible = "lego,ev3-battery";
- io-channels = <&adc 4>, <&adc 3>;
- io-channel-names = "voltage", "current";
- rechargeable-gpios = <&gpio 136 GPIO_ACTIVE_LOW>;
- };
--
2.30.1

2021-03-12 15:46:56

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 23/38] dt-bindings: power: supply: max8903: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/max8903-charger.txt | 24 -------
.../bindings/power/supply/maxim,max8903.yaml | 67 +++++++++++++++++++
2 files changed, 67 insertions(+), 24 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/max8903-charger.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max8903.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/max8903-charger.txt b/Documentation/devicetree/bindings/power/supply/max8903-charger.txt
deleted file mode 100644
index bab947fef025..000000000000
--- a/Documentation/devicetree/bindings/power/supply/max8903-charger.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-Maxim Semiconductor MAX8903 Battery Charger bindings
-
-Required properties:
-- compatible: "maxim,max8903" for MAX8903 Battery Charger
-- dok-gpios: Valid DC power has been detected (active low, input), optional if uok-gpios is provided
-- uok-gpios: Valid USB power has been detected (active low, input), optional if dok-gpios is provided
-
-Optional properties:
-- cen-gpios: Charge enable pin (active low, output)
-- chg-gpios: Charger status pin (active low, input)
-- flt-gpios: Fault pin (active low, output)
-- dcm-gpios: Current limit mode setting (DC=1 or USB=0, output)
-- usus-gpios: USB suspend pin (active high, output)
-
-
-Example:
-
- max8903-charger {
- compatible = "maxim,max8903";
- dok-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
- flt-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
- chg-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
- cen-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
- };
diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max8903.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max8903.yaml
new file mode 100644
index 000000000000..4828ca0842ae
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/maxim,max8903.yaml
@@ -0,0 +1,67 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/maxim,max8903.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Maxim Semiconductor MAX8903 Battery Charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: maxim,max8903
+
+ dok-gpios:
+ maxItems: 1
+ description: Valid DC power has been detected (active low, input)
+
+ uok-gpios:
+ maxItems: 1
+ description: Valid USB power has been detected (active low, input)
+
+ cen-gpios:
+ maxItems: 1
+ description: Charge enable pin (active low, output)
+
+ chg-gpios:
+ maxItems: 1
+ description: Charger status pin (active low, input)
+
+ flt-gpios:
+ maxItems: 1
+ description: Fault pin (active low, output)
+
+ dcm-gpios:
+ maxItems: 1
+ description: Current limit mode setting (DC=1 or USB=0, output)
+
+ usus-gpios:
+ maxItems: 1
+ description: USB suspend pin (active high, output)
+
+required:
+ - compatible
+
+anyOf:
+ - required:
+ - dok-gpios
+ - required:
+ - uok-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ charger {
+ compatible = "maxim,max8903";
+ dok-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
+ flt-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
+ chg-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
+ cen-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
+ };
--
2.30.1

2021-03-12 15:46:57

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 22/38] dt-bindings: power: supply: max17042: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/max17042_battery.txt | 35 ---------
.../bindings/power/supply/maxim,max17042.yaml | 78 +++++++++++++++++++
2 files changed, 78 insertions(+), 35 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/max17042_battery.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max17042.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/max17042_battery.txt b/Documentation/devicetree/bindings/power/supply/max17042_battery.txt
deleted file mode 100644
index f34c5daae9af..000000000000
--- a/Documentation/devicetree/bindings/power/supply/max17042_battery.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-max17042_battery
-~~~~~~~~~~~~~~~~
-
-Required properties :
- - compatible : one of the following
- * "maxim,max17042"
- * "maxim,max17047"
- * "maxim,max17050"
- * "maxim,max17055"
-
-Optional properties :
- - maxim,rsns-microohm : Resistance of rsns resistor in micro Ohms
- (datasheet-recommended value is 10000).
- Defining this property enables current-sense functionality.
-
-Optional threshold properties :
- If skipped the condition won't be reported.
- - maxim,cold-temp : Temperature threshold to report battery
- as cold (in tenths of degree Celsius).
- - maxim,over-heat-temp : Temperature threshold to report battery
- as over heated (in tenths of degree Celsius).
- - maxim,dead-volt : Voltage threshold to report battery
- as dead (in mV).
- - maxim,over-volt : Voltage threshold to report battery
- as over voltage (in mV).
-
-Example:
-
- battery-charger@36 {
- compatible = "maxim,max17042";
- reg = <0x36>;
- maxim,rsns-microohm = <10000>;
- maxim,over-heat-temp = <600>;
- maxim,over-volt = <4300>;
- };
diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max17042.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max17042.yaml
new file mode 100644
index 000000000000..c70f05ea6d27
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/maxim,max17042.yaml
@@ -0,0 +1,78 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/maxim,max17042.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Maxim 17042 fuel gauge series
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - maxim,max17042
+ - maxim,max17047
+ - maxim,max17050
+ - maxim,max17055
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ maxim,rsns-microohm:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Resistance of rsns resistor in micro Ohms (datasheet-recommended value is 10000).
+ Defining this property enables current-sense functionality.
+
+ maxim,cold-temp:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Temperature threshold to report battery as cold (in tenths of degree Celsius).
+ Default is not to report cold events.
+
+ maxim,over-heat-temp:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Temperature threshold to report battery as over heated (in tenths of degree Celsius).
+ Default is not to report over heating events.
+
+ maxim,dead-volt:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Voltage threshold to report battery as dead (in mV).
+ Default is not to report dead battery events.
+
+ maxim,over-volt:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Voltage threshold to report battery as over voltage (in mV).
+ Default is not to report over-voltage events.
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ battery@36 {
+ compatible = "maxim,max17042";
+ reg = <0x36>;
+ maxim,rsns-microohm = <10000>;
+ maxim,over-heat-temp = <600>;
+ maxim,over-volt = <4300>;
+ };
+ };
--
2.30.1

2021-03-12 15:46:57

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 20/38] dt-bindings: power: supply: max17040: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/max17040_battery.txt | 52 ----------
.../bindings/power/supply/maxim,max17040.yaml | 95 +++++++++++++++++++
2 files changed, 95 insertions(+), 52 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/max17040_battery.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max17040.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
deleted file mode 100644
index c802f664b508..000000000000
--- a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-max17040_battery
-~~~~~~~~~~~~~~~~
-
-Required properties :
- - compatible : "maxim,max17040", "maxim,max17041", "maxim,max17043",
- "maxim,max17044", "maxim,max17048", "maxim,max17049",
- "maxim,max17058", "maxim,max17059" or "maxim,max77836-battery"
- - reg: i2c slave address
-
-Optional properties :
-- maxim,alert-low-soc-level : The alert threshold that sets the state of
- charge level (%) where an interrupt is
- generated. Can be configured from 1 up to 32
- (%). If skipped the power up default value of
- 4 (%) will be used.
-- maxim,double-soc : Certain devices return double the capacity.
- Specify this boolean property to divide the
- reported value in 2 and thus normalize it.
- SOC == State of Charge == Capacity.
-- maxim,rcomp : A value to compensate readings for various
- battery chemistries and operating temperatures.
- max17040,41 have 2 byte rcomp, default to
- 0x97 0x00. All other devices have one byte
- rcomp, default to 0x97.
-- interrupts : Interrupt line see Documentation/devicetree/
- bindings/interrupt-controller/interrupts.txt
-- wakeup-source : This device has wakeup capabilities. Use this
- property to use alert low SOC level interrupt
- as wake up source.
-
-Optional properties support interrupt functionality for alert low state of
-charge level, present in some ICs in the same family, and should be used with
-compatible "maxim,max77836-battery".
-
-Example:
-
- battery-fuel-gauge@36 {
- compatible = "maxim,max77836-battery";
- reg = <0x36>;
- maxim,alert-low-soc-level = <10>;
- interrupt-parent = <&gpio7>;
- interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
- wakeup-source;
- };
-
- battery-fuel-gauge@36 {
- compatible = "maxim,max17048";
- reg = <0x36>;
- maxim,rcomp = /bits/ 8 <0x56>;
- maxim,alert-low-soc-level = <10>;
- maxim,double-soc;
- };
diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max17040.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max17040.yaml
new file mode 100644
index 000000000000..de91cf3f058c
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/maxim,max17040.yaml
@@ -0,0 +1,95 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/maxim,max17040.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Maxim 17040 fuel gauge series
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - maxim,max17040
+ - maxim,max17041
+ - maxim,max17043
+ - maxim,max17044
+ - maxim,max17048
+ - maxim,max17049
+ - maxim,max17058
+ - maxim,max17059
+ - maxim,max77836-battery
+
+ reg:
+ maxItems: 1
+
+ maxim,alert-low-soc-level:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 1
+ maximum: 32
+ description: |
+ The alert threshold that sets the state of charge level (%) where an interrupt is generated.
+ If skipped the power up default value of 4 (%) will be used.
+
+ maxim,double-soc:
+ type: boolean
+ description: |
+ Certain devices return double the capacity.
+ Specify this to divide the reported value in 2 and thus normalize it.
+ SoC == State of Charge == Capacity.
+
+ maxim,rcomp:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ A value to compensate readings for various battery chemistries and operating temperatures.
+ max17040,41 have 2 byte rcomp, default to 0x97 0x00.
+ All other devices have one byte rcomp, default to 0x97.
+
+ interrupts:
+ maxItems: 1
+
+ wakeup-source:
+ type: boolean
+ description: |
+ Use this property to use alert low SoC level interrupt as wake up source.
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ battery@36 {
+ compatible = "maxim,max17048";
+ reg = <0x36>;
+ maxim,rcomp = /bits/ 8 <0x56>;
+ maxim,alert-low-soc-level = <10>;
+ maxim,double-soc;
+ };
+ };
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ battery@36 {
+ compatible = "maxim,max77836-battery";
+ reg = <0x36>;
+ maxim,alert-low-soc-level = <10>;
+ interrupt-parent = <&gpio7>;
+ interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+ wakeup-source;
+ };
+ };
--
2.30.1

2021-03-12 15:46:58

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 17/38] dt-bindings: power: supply: twl4030: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/twl-charger.txt | 30 --------
.../power/supply/twl4030-charger.yaml | 68 +++++++++++++++++++
2 files changed, 68 insertions(+), 30 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/twl-charger.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/twl4030-charger.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/twl-charger.txt b/Documentation/devicetree/bindings/power/supply/twl-charger.txt
deleted file mode 100644
index 3b4ea1b73b38..000000000000
--- a/Documentation/devicetree/bindings/power/supply/twl-charger.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-TWL BCI (Battery Charger Interface)
-
-The battery charger needs to interact with the USB phy in order
-to know when charging is permissible, and when there is a connection
-or disconnection.
-
-The choice of phy cannot be configured at a hardware level, so there
-is no value in explicit configuration in device-tree. Rather
-if there is a sibling of the BCI node which is compatible with
-"ti,twl4030-usb", then that is used to determine when and how
-use USB power for charging.
-
-Required properties:
-- compatible:
- - "ti,twl4030-bci"
-- interrupts: two interrupt lines from the TWL SIH (secondary
- interrupt handler) - interrupts 9 and 2.
-
-Optional properties:
-- ti,bb-uvolt: microvolts for charging the backup battery.
-- ti,bb-uamp: microamps for charging the backup battery.
-
-Examples:
-
-bci {
- compatible = "ti,twl4030-bci";
- interrupts = <9>, <2>;
- ti,bb-uvolt = <3200000>;
- ti,bb-uamp = <150>;
-};
diff --git a/Documentation/devicetree/bindings/power/supply/twl4030-charger.yaml b/Documentation/devicetree/bindings/power/supply/twl4030-charger.yaml
new file mode 100644
index 000000000000..fe3f32a0ea79
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/twl4030-charger.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/twl4030-charger.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: TWL4030 BCI (Battery Charger Interface)
+
+description: |
+ The battery charger needs to interact with the USB phy in order to know when
+ charging is permissible, and when there is a connection or disconnection.
+
+ The choice of phy cannot be configured at a hardware level, so there is no
+ value in explicit configuration in device-tree. Rather if there is a sibling
+ of the BCI node which is compatible with "ti,twl4030-usb", then that is used
+ to determine when and how use USB power for charging.
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: ti,twl4030-bci
+
+ interrupts:
+ minItems: 2
+ maxItems: 2
+
+ ti,bb-uvolt:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: microvolts for charging the backup battery
+
+ ti,bb-uamp:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: microamps for charging the backup battery
+
+ io-channels:
+ items:
+ - description: Accessory Charger Voltage Channel
+
+ io-channel-names:
+ items:
+ - const: vac
+
+ bci3v1-supply:
+ description: 3.1V USB regulator
+
+required:
+ - compatible
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ pmic {
+ charger {
+ compatible = "ti,twl4030-bci";
+ interrupts = <9>, <2>;
+ ti,bb-uvolt = <3200000>;
+ ti,bb-uamp = <150>;
+ io-channels = <&twl_madc 11>;
+ io-channel-names = "vac";
+ };
+ };
--
2.30.1

2021-03-12 15:46:59

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 26/38] dt-bindings: power: supply: pm8941-coincell: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/qcom,coincell-charger.txt | 48 ---------------
.../power/supply/qcom,pm8941-coincell.yaml | 58 +++++++++++++++++++
2 files changed, 58 insertions(+), 48 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/qcom,coincell-charger.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/qcom,pm8941-coincell.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/qcom,coincell-charger.txt b/Documentation/devicetree/bindings/power/supply/qcom,coincell-charger.txt
deleted file mode 100644
index 747899223262..000000000000
--- a/Documentation/devicetree/bindings/power/supply/qcom,coincell-charger.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-Qualcomm Coincell Charger:
-
-The hardware block controls charging for a coincell or capacitor that is
-used to provide power backup for certain features of the power management
-IC (PMIC)
-
-- compatible:
- Usage: required
- Value type: <string>
- Definition: must be: "qcom,pm8941-coincell"
-
-- reg:
- Usage: required
- Value type: <u32>
- Definition: base address of the coincell charger registers
-
-- qcom,rset-ohms:
- Usage: required
- Value type: <u32>
- Definition: resistance (in ohms) for current-limiting resistor
- must be one of: 800, 1200, 1700, 2100
-
-- qcom,vset-millivolts:
- Usage: required
- Value type: <u32>
- Definition: voltage (in millivolts) to apply for charging
- must be one of: 2500, 3000, 3100, 3200
-
-- qcom,charger-disable:
- Usage: optional
- Value type: <boolean>
- Definition: defining this property disables charging
-
-This charger is a sub-node of one of the 8941 PMIC blocks, and is specified
-as a child node in DTS of that node. See ../mfd/qcom,spmi-pmic.txt and
-../mfd/qcom-pm8xxx.txt
-
-Example:
-
- pm8941@0 {
- coincell@2800 {
- compatible = "qcom,pm8941-coincell";
- reg = <0x2800>;
-
- qcom,rset-ohms = <2100>;
- qcom,vset-millivolts = <3000>;
- };
- };
diff --git a/Documentation/devicetree/bindings/power/supply/qcom,pm8941-coincell.yaml b/Documentation/devicetree/bindings/power/supply/qcom,pm8941-coincell.yaml
new file mode 100644
index 000000000000..bcaf3be1f647
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/qcom,pm8941-coincell.yaml
@@ -0,0 +1,58 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/supply/qcom,pm8941-coincell.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Coincell Charger
+
+description: |
+ The hardware block controls charging for a coincell or capacitor that is
+ used to provide power backup for certain features of the power management
+ IC (PMIC)
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+properties:
+ compatible:
+ const: qcom,pm8941-coincell
+
+ reg:
+ maxItems: 1
+
+ qcom,rset-ohms:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: resistance (in ohms) for current-limiting resistor
+ enum: [ 800, 1200, 1700, 2100 ]
+
+ qcom,vset-millivolts:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: voltage (in millivolts) to apply for charging
+ enum: [ 2500, 3000, 3100, 3200 ]
+
+ qcom,charger-disable:
+ type: boolean
+ description: defining this property disables charging
+
+required:
+ - compatible
+ - reg
+ - qcom,rset-ohms
+ - qcom,vset-millivolts
+
+additionalProperties: false
+
+examples:
+ - |
+ pmic {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@2800 {
+ compatible = "qcom,pm8941-coincell";
+ reg = <0x2800>;
+ qcom,rset-ohms = <2100>;
+ qcom,vset-millivolts = <3000>;
+ };
+ };
--
2.30.1

2021-03-12 15:47:08

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 34/38] dt-bindings: power: supply: olpc-battery: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/olpc-battery.yaml | 27 +++++++++++++++++++
.../bindings/power/supply/olpc_battery.txt | 5 ----
2 files changed, 27 insertions(+), 5 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/olpc-battery.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/olpc_battery.txt

diff --git a/Documentation/devicetree/bindings/power/supply/olpc-battery.yaml b/Documentation/devicetree/bindings/power/supply/olpc-battery.yaml
new file mode 100644
index 000000000000..0bd7bf3b8e1b
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/olpc-battery.yaml
@@ -0,0 +1,27 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/olpc-battery.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: OLPC Battery
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - const: olpc,xo1.5-battery
+ - const: olpc,xo1-battery
+ - items:
+ - const: olpc,xo1-battery
+
+required:
+ - compatible
+
+additionalProperties: false
diff --git a/Documentation/devicetree/bindings/power/supply/olpc_battery.txt b/Documentation/devicetree/bindings/power/supply/olpc_battery.txt
deleted file mode 100644
index 8d87d6b35a98..000000000000
--- a/Documentation/devicetree/bindings/power/supply/olpc_battery.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-OLPC battery
-~~~~~~~~~~~~
-
-Required properties:
- - compatible : "olpc,xo1-battery" or "olpc,xo1.5-battery"
--
2.30.1

2021-03-12 15:47:09

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 35/38] dt-bindings: power: supply: ab8500: Convert to DT schema format

Convert the binding to DT schema format.

Note: The battery node does not have a compatible value and needs
to be described from the binding file for the PMIC. That has not
yet been converted, so I kept the information in plaintext for now.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/ab8500/btemp.txt | 16 ---
.../bindings/power/supply/ab8500/chargalg.txt | 16 ---
.../bindings/power/supply/ab8500/charger.txt | 25 ----
.../fg.txt => stericsson,ab8500-battery.txt} | 32 +----
.../power/supply/stericsson,ab8500-btemp.yaml | 73 +++++++++++
.../supply/stericsson,ab8500-chargalg.yaml | 37 ++++++
.../supply/stericsson,ab8500-charger.yaml | 123 ++++++++++++++++++
.../power/supply/stericsson,ab8500-fg.yaml | 72 ++++++++++
8 files changed, 309 insertions(+), 85 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/ab8500/btemp.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/ab8500/chargalg.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/ab8500/charger.txt
rename Documentation/devicetree/bindings/power/supply/{ab8500/fg.txt => stericsson,ab8500-battery.txt} (52%)
create mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-btemp.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-chargalg.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-charger.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-fg.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/ab8500/btemp.txt b/Documentation/devicetree/bindings/power/supply/ab8500/btemp.txt
deleted file mode 100644
index f181e46d8e07..000000000000
--- a/Documentation/devicetree/bindings/power/supply/ab8500/btemp.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-=== AB8500 Battery Temperature Monitor Driver ===
-
-The properties below describes the node for btemp driver.
-
-Required Properties:
-- compatible = Shall be: "stericsson,ab8500-btemp"
-- battery = Shall be battery specific information
-
- Example:
- ab8500_btemp {
- compatible = "stericsson,ab8500-btemp";
- battery = <&ab8500_battery>;
- };
-
-For information on battery specific node, Ref:
-Documentation/devicetree/bindings/power/supply/ab8500/fg.txt
diff --git a/Documentation/devicetree/bindings/power/supply/ab8500/chargalg.txt b/Documentation/devicetree/bindings/power/supply/ab8500/chargalg.txt
deleted file mode 100644
index 56636f927203..000000000000
--- a/Documentation/devicetree/bindings/power/supply/ab8500/chargalg.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-=== AB8500 Charging Algorithm Driver ===
-
-The properties below describes the node for chargalg driver.
-
-Required Properties:
-- compatible = Shall be: "stericsson,ab8500-chargalg"
-- battery = Shall be battery specific information
-
-Example:
-ab8500_chargalg {
- compatible = "stericsson,ab8500-chargalg";
- battery = <&ab8500_battery>;
-};
-
-For information on battery specific node, Ref:
-Documentation/devicetree/bindings/power/supply/ab8500/fg.txt
diff --git a/Documentation/devicetree/bindings/power/supply/ab8500/charger.txt b/Documentation/devicetree/bindings/power/supply/ab8500/charger.txt
deleted file mode 100644
index 24ada03e07b4..000000000000
--- a/Documentation/devicetree/bindings/power/supply/ab8500/charger.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-=== AB8500 Charger Driver ===
-
-Required Properties:
-- compatible = Shall be "stericsson,ab8500-charger"
-- battery = Shall be battery specific information
- Example:
- ab8500_charger {
- compatible = "stericsson,ab8500-charger";
- battery = <&ab8500_battery>;
- };
-
-- vddadc-supply: Supply for USB and Main charger
- Example:
- ab8500-charger {
- vddadc-supply = <&ab8500_ldo_tvout_reg>;
- }
-- autopower_cfg:
- Boolean value depicting the presence of 'automatic poweron after powerloss'
- Example:
- ab8500-charger {
- autopower_cfg;
- };
-
-For information on battery specific node, Ref:
-Documentation/devicetree/bindings/power/supply/ab8500/fg.txt
diff --git a/Documentation/devicetree/bindings/power/supply/ab8500/fg.txt b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-battery.txt
similarity index 52%
rename from Documentation/devicetree/bindings/power/supply/ab8500/fg.txt
rename to Documentation/devicetree/bindings/power/supply/stericsson,ab8500-battery.txt
index ccafcb9112fb..ee125cb0e46d 100644
--- a/Documentation/devicetree/bindings/power/supply/ab8500/fg.txt
+++ b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-battery.txt
@@ -1,32 +1,9 @@
-=== AB8500 Fuel Gauge Driver ===
-
-AB8500 is a mixed signal multimedia and power management
-device comprising: power and energy-management-module,
-wall-charger, usb-charger, audio codec, general purpose adc,
-tvout, clock management and sim card interface.
-
-Fuelgauge support is part of energy-management-modules, other
-components of this module are:
-main-charger, usb-combo-charger and battery-temperature-monitoring.
-
-The properties below describes the node for fuelgauge driver.
-
-Required Properties:
-- compatible = This shall be: "stericsson,ab8500-fg"
-- battery = Shall be battery specific information
- Example:
- ab8500_fg {
- compatible = "stericsson,ab8500-fg";
- battery = <&ab8500_battery>;
- };
-
-dependent node:
- ab8500_battery: ab8500_battery {
- };
- This node will provide information on 'thermistor interface' and
- 'battery technology type' used.
+AB85000 PMIC contains a node, which contains shared
+information about the battery connected to the PMIC.
+The node has no compatible property.

Properties of this node are:
+
thermistor-on-batctrl:
A boolean value indicating thermistor interface to battery

@@ -55,4 +32,3 @@ battery-type:
ab8500_battery: ab8500_battery {
stericsson,battery-type = "LIPO";
}
-
diff --git a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-btemp.yaml b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-btemp.yaml
new file mode 100644
index 000000000000..2f57aa5a5f4e
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-btemp.yaml
@@ -0,0 +1,73 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/stericsson,ab8500-btemp.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: AB8500 Battery Temperature Monitor
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: stericsson,ab8500-btemp
+
+ battery:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle to battery node
+
+ interrupts:
+ maxItems: 5
+
+ interrupt-names:
+ items:
+ - const: BAT_CTRL_INDB
+ - const: BTEMP_LOW
+ - const: BTEMP_HIGH
+ - const: BTEMP_LOW_MEDIUM
+ - const: BTEMP_MEDIUM_HIGH
+
+ io-channels:
+ maxItems: 2
+
+ io-channel-names:
+ items:
+ - const: btemp_ball
+ - const: bat_ctrl
+
+required:
+ - compatible
+ - battery
+ - interrupts
+ - interrupt-names
+ - io-channels
+ - io-channel-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ pmic {
+ battery-temperature {
+ compatible = "stericsson,ab8500-btemp";
+ battery = <&ab8500_battery>;
+ interrupts = <20 IRQ_TYPE_LEVEL_HIGH>,
+ <80 IRQ_TYPE_LEVEL_HIGH>,
+ <83 IRQ_TYPE_LEVEL_HIGH>,
+ <81 IRQ_TYPE_LEVEL_HIGH>,
+ <82 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "BAT_CTRL_INDB",
+ "BTEMP_LOW",
+ "BTEMP_HIGH",
+ "BTEMP_LOW_MEDIUM",
+ "BTEMP_MEDIUM_HIGH";
+ io-channels = <&gpadc 0x02>, <&gpadc 0x01>;
+ io-channel-names = "btemp_ball", "bat_ctrl";
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-chargalg.yaml b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-chargalg.yaml
new file mode 100644
index 000000000000..0897231c2f6e
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-chargalg.yaml
@@ -0,0 +1,37 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/stericsson,ab8500-chargalg.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: AB8500 Charging Algorithm
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: stericsson,ab8500-chargalg
+
+ battery:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle to battery node
+
+required:
+ - compatible
+ - battery
+
+additionalProperties: false
+
+examples:
+ - |
+ pmic {
+ charging-algorithm {
+ compatible = "stericsson,ab8500-chargalg";
+ battery = <&ab8500_battery>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-charger.yaml b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-charger.yaml
new file mode 100644
index 000000000000..e13305afea69
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-charger.yaml
@@ -0,0 +1,123 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/stericsson,ab8500-charger.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: AB8500 Charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: stericsson,ab8500-charger
+
+ battery:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle to battery node
+
+ vddadc-supply:
+ description: Supply for USB and Main charger
+
+ autopower_cfg:
+ type: boolean
+ description: automatic poweron after powerloss
+
+ interrupts:
+ maxItems: 14
+
+ interrupt-names:
+ items:
+ - const: MAIN_CH_UNPLUG_DET
+ - const: MAIN_CHARGE_PLUG_DET
+ - const: MAIN_EXT_CH_NOT_OK
+ - const: MAIN_CH_TH_PROT_R
+ - const: MAIN_CH_TH_PROT_F
+ - const: VBUS_DET_F
+ - const: VBUS_DET_R
+ - const: USB_LINK_STATUS
+ - const: USB_CH_TH_PROT_R
+ - const: USB_CH_TH_PROT_F
+ - const: USB_CHARGER_NOT_OKR
+ - const: VBUS_OVV
+ - const: CH_WD_EXP
+ - const: VBUS_CH_DROP_END
+
+ io-channels:
+ minItems: 2
+ maxItems: 4
+
+ io-channel-names:
+ oneOf:
+ - items:
+ - const: main_charger_v
+ - const: main_charger_c
+ - const: vbus_v
+ - const: usb_charger_c
+ - items:
+ - const: vbus_v
+ - const: usb_charger_c
+
+
+required:
+ - compatible
+ - battery
+ - vddadc-supply
+ - interrupts
+ - interrupt-names
+ - io-channels
+ - io-channel-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ pmic {
+ charger {
+ compatible = "stericsson,ab8500-charger";
+ battery = <&ab8500_battery>;
+ vddadc-supply = <&ab8500_ldo_tvout_reg>;
+ interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
+ <11 IRQ_TYPE_LEVEL_HIGH>,
+ <0 IRQ_TYPE_LEVEL_HIGH>,
+ <107 IRQ_TYPE_LEVEL_HIGH>,
+ <106 IRQ_TYPE_LEVEL_HIGH>,
+ <14 IRQ_TYPE_LEVEL_HIGH>,
+ <15 IRQ_TYPE_LEVEL_HIGH>,
+ <79 IRQ_TYPE_LEVEL_HIGH>,
+ <105 IRQ_TYPE_LEVEL_HIGH>,
+ <104 IRQ_TYPE_LEVEL_HIGH>,
+ <89 IRQ_TYPE_LEVEL_HIGH>,
+ <22 IRQ_TYPE_LEVEL_HIGH>,
+ <21 IRQ_TYPE_LEVEL_HIGH>,
+ <16 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "MAIN_CH_UNPLUG_DET",
+ "MAIN_CHARGE_PLUG_DET",
+ "MAIN_EXT_CH_NOT_OK",
+ "MAIN_CH_TH_PROT_R",
+ "MAIN_CH_TH_PROT_F",
+ "VBUS_DET_F",
+ "VBUS_DET_R",
+ "USB_LINK_STATUS",
+ "USB_CH_TH_PROT_R",
+ "USB_CH_TH_PROT_F",
+ "USB_CHARGER_NOT_OKR",
+ "VBUS_OVV",
+ "CH_WD_EXP",
+ "VBUS_CH_DROP_END";
+ io-channels = <&gpadc 0x03>,
+ <&gpadc 0x0a>,
+ <&gpadc 0x09>,
+ <&gpadc 0x0b>;
+ io-channel-names = "main_charger_v",
+ "main_charger_c",
+ "vbus_v",
+ "usb_charger_c";
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-fg.yaml b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-fg.yaml
new file mode 100644
index 000000000000..db342e5ac0d1
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-fg.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/stericsson,ab8500-fg.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: AB8500 Fuel Gauge
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: stericsson,ab8500-fg
+
+ battery:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle to battery node
+
+ interrupts:
+ maxItems: 5
+
+ interrupt-names:
+ items:
+ - const: NCONV_ACCU
+ - const: BATT_OVV
+ - const: LOW_BAT_F
+ - const: CC_INT_CALIB
+ - const: CCEOC
+
+ io-channels:
+ maxItems: 1
+
+ io-channel-names:
+ items:
+ - const: main_bat_v
+
+required:
+ - compatible
+ - battery
+ - interrupts
+ - interrupt-names
+ - io-channels
+ - io-channel-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ pmic {
+ fuel-gauge {
+ compatible = "stericsson,ab8500-fg";
+ battery = <&ab8500_battery>;
+ interrupts = <24 IRQ_TYPE_LEVEL_HIGH>,
+ <8 IRQ_TYPE_LEVEL_HIGH>,
+ <28 IRQ_TYPE_LEVEL_HIGH>,
+ <27 IRQ_TYPE_LEVEL_HIGH>,
+ <26 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "NCONV_ACCU",
+ "BATT_OVV",
+ "LOW_BAT_F",
+ "CC_INT_CALIB",
+ "CCEOC";
+ io-channels = <&gpadc 0x08>;
+ io-channel-names = "main_bat_v";
+ };
+ };
--
2.30.1

2021-03-12 15:47:12

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 38/38] dt-bindings: power: supply: Drop power_supply.txt

The file has been replaced by power-supply.yaml and all links
have been updated to the new file.

Signed-off-by: Sebastian Reichel <[email protected]>
---
Documentation/devicetree/bindings/power/supply/power_supply.txt | 2 --
1 file changed, 2 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/power_supply.txt

diff --git a/Documentation/devicetree/bindings/power/supply/power_supply.txt b/Documentation/devicetree/bindings/power/supply/power_supply.txt
deleted file mode 100644
index d9693e054509..000000000000
--- a/Documentation/devicetree/bindings/power/supply/power_supply.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This binding has been converted to yaml please see power-supply.yaml in this
-directory.
--
2.30.1

2021-03-12 15:47:17

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 27/38] dt-bindings: power: supply: act8945a: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/act8945a-charger.txt | 44 -----------
.../supply/active-semi,act8945a-charger.yaml | 77 +++++++++++++++++++
2 files changed, 77 insertions(+), 44 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/act8945a-charger.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/active-semi,act8945a-charger.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/act8945a-charger.txt b/Documentation/devicetree/bindings/power/supply/act8945a-charger.txt
deleted file mode 100644
index cb737a9e1f16..000000000000
--- a/Documentation/devicetree/bindings/power/supply/act8945a-charger.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-Device-Tree bindings for charger of Active-semi ACT8945A Multi-Function Device
-
-Required properties:
- - compatible: "active-semi,act8945a-charger".
- - active-semi,chglev-gpios: charge current level phandle with args
- as described in ../gpio/gpio.txt.
- - active-semi,lbo-gpios: specify the low battery voltage detect phandle
- with args as as described in ../gpio/gpio.txt.
- - interrupts: <a b> where a is the interrupt number and b is a
- field that represents an encoding of the sense and level
- information for the interrupt.
-
-Optional properties:
- - active-semi,input-voltage-threshold-microvolt: unit: mV;
- Specifies the charger's input over-voltage threshold value;
- The value can be: 6600, 7000, 7500, 8000; default: 6600
- - active-semi,precondition-timeout: unit: minutes;
- Specifies the charger's PRECONDITION safety timer setting value;
- The value can be: 40, 60, 80, 0; If 0, it means to disable this timer;
- default: 40.
- - active-semi,total-timeout: unit: hours;
- Specifies the charger's total safety timer setting value;
- The value can be: 3, 4, 5, 0; If 0, it means to disable this timer;
- default: 3.
-
-Example:
- pmic@5b {
- compatible = "active-semi,act8945a";
- reg = <0x5b>;
-
- charger {
- compatible = "active-semi,act8945a-charger";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>;
- interrupt-parent = <&pioA>;
- interrupts = <45 IRQ_TYPE_LEVEL_LOW>;
-
- active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>;
- active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>;
- active-semi,input-voltage-threshold-microvolt = <6600>;
- active-semi,precondition-timeout = <40>;
- active-semi,total-timeout = <3>;
- };
- };
diff --git a/Documentation/devicetree/bindings/power/supply/active-semi,act8945a-charger.yaml b/Documentation/devicetree/bindings/power/supply/active-semi,act8945a-charger.yaml
new file mode 100644
index 000000000000..b3b4ee855499
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/active-semi,act8945a-charger.yaml
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/active-semi,act8945a-charger.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Active-semi ACT8945A Charger Function
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: active-semi,act8945a-charger
+
+ interrupts:
+ maxItems: 1
+
+ active-semi,chglev-gpios:
+ maxItems: 1
+ description: charge current level GPIO
+
+ active-semi,lbo-gpios:
+ maxItems: 1
+ description: low battery voltage detect GPIO
+
+ active-semi,input-voltage-threshold-microvolt:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Specifies the charger's input over-voltage threshold value.
+ Despite the name, specified values are in millivolt (mV).
+ Defaults to 6.6 V
+ enum: [ 6600, 7000, 7500, 8000 ]
+
+ active-semi,precondition-timeout:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Specifies the charger's PRECONDITION safety timer setting value in minutes.
+ If 0, it means to disable this timer.
+ Defaults to 40 minutes.
+ enum: [ 0, 40, 60, 80 ]
+
+ active-semi,total-timeout:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Specifies the charger's total safety timer setting value in hours;
+ If 0, it means to disable this timer;
+ Defaults to 3 hours.
+ enum: [ 0, 3, 4, 5 ]
+
+required:
+ - compatible
+ - interrupts
+ - active-semi,chglev-gpios
+ - active-semi,lbo-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ pmic {
+ charger {
+ compatible = "active-semi,act8945a-charger";
+ interrupt-parent = <&pioA>;
+ interrupts = <45 IRQ_TYPE_LEVEL_LOW>;
+ active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>;
+ active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>;
+ active-semi,input-voltage-threshold-microvolt = <6600>;
+ active-semi,precondition-timeout = <40>;
+ active-semi,total-timeout = <3>;
+ };
+ };
--
2.30.1

2021-03-12 15:47:48

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 09/38] dt-bindings: power: supply: isp1704: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/isp1704.txt | 17 --------
.../bindings/power/supply/isp1704.yaml | 42 +++++++++++++++++++
2 files changed, 42 insertions(+), 17 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/isp1704.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/isp1704.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/isp1704.txt b/Documentation/devicetree/bindings/power/supply/isp1704.txt
deleted file mode 100644
index fa3596907967..000000000000
--- a/Documentation/devicetree/bindings/power/supply/isp1704.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-Binding for NXP ISP1704 USB Charger Detection
-
-Required properties:
-- compatible: Should contain one of the following:
- * "nxp,isp1704"
-- nxp,enable-gpio: Should contain a phandle + gpio-specifier
- to the GPIO pin connected to the chip's enable pin.
-- usb-phy: Should contain a phandle to the USB PHY
- the ISP1704 is connected to.
-
-Example:
-
-isp1704 {
- compatible = "nxp,isp1704";
- nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_LOW>;
- usb-phy = <&usb2_phy>;
-};
diff --git a/Documentation/devicetree/bindings/power/supply/isp1704.yaml b/Documentation/devicetree/bindings/power/supply/isp1704.yaml
new file mode 100644
index 000000000000..4c91da70011d
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/isp1704.yaml
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2021 Sebastian Reichel
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/isp1704.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Binding for NXP ISP1704 USB Charger Detection
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: nxp,isp1704
+
+ nxp,enable-gpio:
+ maxItems: 1
+ description: GPIO connected to the chip's enable pin
+
+ usb-phy:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: USB PHY the ISP1704 is connected to
+
+required:
+ - compatible
+ - nxp,enable-gpio
+ - usb-phy
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ charger-detect {
+ compatible = "nxp,isp1704";
+ nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_LOW>;
+ usb-phy = <&usb2_phy>;
+ };
--
2.30.1

2021-03-12 15:48:24

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 37/38] dt-bindings: power: supply: Fix remaining battery.txt links

Signed-off-by: Sebastian Reichel <[email protected]>
---
Documentation/devicetree/bindings/power/supply/battery.txt | 3 ---
Documentation/devicetree/bindings/power/supply/bq27xxx.yaml | 2 +-
.../devicetree/bindings/power/supply/rohm,bd99954.yaml | 2 +-
3 files changed, 2 insertions(+), 5 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/battery.txt

diff --git a/Documentation/devicetree/bindings/power/supply/battery.txt b/Documentation/devicetree/bindings/power/supply/battery.txt
deleted file mode 100644
index a9f80cc49068..000000000000
--- a/Documentation/devicetree/bindings/power/supply/battery.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-The contents of this file has been moved to battery.yaml
-
-Please note that not all charger drivers respect all of the properties.
diff --git a/Documentation/devicetree/bindings/power/supply/bq27xxx.yaml b/Documentation/devicetree/bindings/power/supply/bq27xxx.yaml
index 45beefccf31a..4da17065422a 100644
--- a/Documentation/devicetree/bindings/power/supply/bq27xxx.yaml
+++ b/Documentation/devicetree/bindings/power/supply/bq27xxx.yaml
@@ -65,7 +65,7 @@ properties:
- 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
+ See Documentation/devicetree/bindings/power/supply/battery.yaml

power-supplies: true

diff --git a/Documentation/devicetree/bindings/power/supply/rohm,bd99954.yaml b/Documentation/devicetree/bindings/power/supply/rohm,bd99954.yaml
index 9852d2febf65..24b06957b4ca 100644
--- a/Documentation/devicetree/bindings/power/supply/rohm,bd99954.yaml
+++ b/Documentation/devicetree/bindings/power/supply/rohm,bd99954.yaml
@@ -110,7 +110,7 @@ properties:
# multipleOf: 64000
# a charge cycle terminates when the battery voltage is above recharge
# threshold, and the current is below this setting (7 in above chart)
-# See also Documentation/devicetree/bindings/power/supply/battery.txt
+# See also Documentation/devicetree/bindings/power/supply/battery.yaml

reg:
maxItems: 1
--
2.30.1

2021-03-12 15:48:43

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 16/38] dt-bindings: power: supply: tps65217: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/tps65217-charger.yaml | 43 +++++++++++++++++++
.../power/supply/tps65217_charger.txt | 17 --------
2 files changed, 43 insertions(+), 17 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/tps65217_charger.txt

diff --git a/Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml b/Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
new file mode 100644
index 000000000000..a33408c3a407
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/tps65217-charger.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: TPS65217 Charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: ti,tps65217-charger
+
+ interrupts:
+ minItems: 2
+ maxItems: 2
+
+ interrupt-names:
+ items:
+ - const: USB
+ - const: AC
+
+required:
+ - compatible
+ - interrupts
+ - interrupt-names
+
+additionalProperties: false
+
+examples:
+ - |
+ pmic {
+ charger {
+ compatible = "ti,tps65217-charger";
+ interrupts = <0>, <1>;
+ interrupt-names = "USB", "AC";
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/tps65217_charger.txt b/Documentation/devicetree/bindings/power/supply/tps65217_charger.txt
deleted file mode 100644
index a11072c5a866..000000000000
--- a/Documentation/devicetree/bindings/power/supply/tps65217_charger.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-TPS65217 Charger
-
-Required Properties:
--compatible: "ti,tps65217-charger"
--interrupts: TPS65217 interrupt numbers for the AC and USB charger input change.
- Should be <0> for the USB charger and <1> for the AC adapter.
--interrupt-names: Should be "USB" and "AC"
-
-This node is a subnode of the tps65217 PMIC.
-
-Example:
-
- tps65217-charger {
- compatible = "ti,tps65217-charger";
- interrupts = <0>, <1>;
- interrupt-names = "USB", "AC";
- };
--
2.30.1

2021-03-12 15:48:49

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 18/38] dt-bindings: power: supply: n900-battery: Convert to DT schema format

Convert the binding to DT schema format.

Cc: Pali Rohár <[email protected]>
Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/nokia,n900-battery.yaml | 49 +++++++++++++++++++
.../bindings/power/supply/rx51-battery.txt | 25 ----------
2 files changed, 49 insertions(+), 25 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/nokia,n900-battery.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/rx51-battery.txt

diff --git a/Documentation/devicetree/bindings/power/supply/nokia,n900-battery.yaml b/Documentation/devicetree/bindings/power/supply/nokia,n900-battery.yaml
new file mode 100644
index 000000000000..4a1489f2b28d
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/nokia,n900-battery.yaml
@@ -0,0 +1,49 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/nokia,n900-battery.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Nokia N900 battery
+
+maintainers:
+ - Pali Rohár <[email protected]>
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: nokia,n900-battery
+
+ io-channels:
+ items:
+ - description: ADC channel for temperature reading
+ - description: ADC channel for battery size identification
+ - description: ADC channel to measure the battery voltage
+
+ io-channel-names:
+ items:
+ - const: temp
+ - const: bsi
+ - const: vbat
+
+required:
+ - compatible
+ - io-channels
+ - io-channel-names
+
+additionalProperties: false
+
+examples:
+ - |
+ battery {
+ compatible = "nokia,n900-battery";
+ io-channels = <&twl4030_madc 0>,
+ <&twl4030_madc 4>,
+ <&twl4030_madc 12>;
+ io-channel-names = "temp",
+ "bsi",
+ "vbat";
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/rx51-battery.txt b/Documentation/devicetree/bindings/power/supply/rx51-battery.txt
deleted file mode 100644
index 90438453db58..000000000000
--- a/Documentation/devicetree/bindings/power/supply/rx51-battery.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-Binding for Nokia N900 battery
-
-The Nokia N900 battery status can be read via the TWL4030's A/D converter.
-
-Required properties:
-- compatible: Should contain one of the following:
- * "nokia,n900-battery"
-- io-channels: Should contain IIO channel specifiers
- for each element in io-channel-names.
-- io-channel-names: Should contain the following values:
- * "temp" - The ADC channel for temperature reading
- * "bsi" - The ADC channel for battery size identification
- * "vbat" - The ADC channel to measure the battery voltage
-
-Example from Nokia N900:
-
-battery: n900-battery {
- compatible = "nokia,n900-battery";
- io-channels = <&twl4030_madc 0>,
- <&twl4030_madc 4>,
- <&twl4030_madc 12>;
- io-channel-names = "temp",
- "bsi",
- "vbat";
-};
--
2.30.1

2021-03-12 15:49:04

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 36/38] dt-bindings: power: supply: sbs-battery: Fix dtbs_check

Existing in-tree users make use of '"ti,bq20z45", "sbs,sbs-battery"', so
add it to the list of known compatible strings.

Also add missing support for the generic 'power-supplies' property by
importing power-supply.yaml and setting unevaluatedProperties instead
of additionalProperties.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../devicetree/bindings/power/supply/sbs,sbs-battery.yaml | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/power/supply/sbs,sbs-battery.yaml b/Documentation/devicetree/bindings/power/supply/sbs,sbs-battery.yaml
index a90b3601e695..90b9d3d882a4 100644
--- a/Documentation/devicetree/bindings/power/supply/sbs,sbs-battery.yaml
+++ b/Documentation/devicetree/bindings/power/supply/sbs,sbs-battery.yaml
@@ -12,12 +12,15 @@ maintainers:
description: |
Battery compatible with the smart battery system specifications

-properties:
+allOf:
+ - $ref: power-supply.yaml#

+properties:
compatible:
oneOf:
- items:
- enum:
+ - ti,bq20z45
- ti,bq20z65
- ti,bq20z75
- enum:
@@ -60,7 +63,7 @@ required:
- compatible
- reg

-additionalProperties: false
+unevaluatedProperties: false

examples:
- |
--
2.30.1

2021-03-12 15:53:52

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 29/38] dt-bindings: power: supply: da9150: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/da9150-charger.txt | 26 ----------
.../bindings/power/supply/da9150-fg.txt | 23 --------
.../power/supply/dlg,da9150-charger.yaml | 52 +++++++++++++++++++
.../power/supply/dlg,da9150-fuel-gauge.yaml | 51 ++++++++++++++++++
4 files changed, 103 insertions(+), 49 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/da9150-charger.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/da9150-fg.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/dlg,da9150-charger.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/dlg,da9150-fuel-gauge.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/da9150-charger.txt b/Documentation/devicetree/bindings/power/supply/da9150-charger.txt
deleted file mode 100644
index f3906663c454..000000000000
--- a/Documentation/devicetree/bindings/power/supply/da9150-charger.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-Dialog Semiconductor DA9150 Charger Power Supply bindings
-
-Required properties:
-- compatible: "dlg,da9150-charger" for DA9150 Charger Power Supply
-
-Optional properties:
-- io-channels: List of phandle and IIO specifier pairs
-- io-channel-names: List of channel names used by charger
- ["CHAN_IBUS", "CHAN_VBUS", "CHAN_TJUNC", "CHAN_VBAT"]
- (See Documentation/devicetree/bindings/iio/iio-bindings.txt for further info)
-
-
-Example:
-
- da9150-charger {
- compatible = "dlg,da9150-charger";
-
- io-channels = <&gpadc 0>,
- <&gpadc 2>,
- <&gpadc 8>,
- <&gpadc 5>;
- io-channel-names = "CHAN_IBUS",
- "CHAN_VBUS",
- "CHAN_TJUNC",
- "CHAN_VBAT";
- };
diff --git a/Documentation/devicetree/bindings/power/supply/da9150-fg.txt b/Documentation/devicetree/bindings/power/supply/da9150-fg.txt
deleted file mode 100644
index 00236fe3ea31..000000000000
--- a/Documentation/devicetree/bindings/power/supply/da9150-fg.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-Dialog Semiconductor DA9150 Fuel-Gauge Power Supply bindings
-
-Required properties:
-- compatible: "dlg,da9150-fuel-gauge" for DA9150 Fuel-Gauge Power Supply
-
-Optional properties:
-- dlg,update-interval: Interval time (milliseconds) between battery level checks.
-- dlg,warn-soc-level: Battery discharge level (%) where warning event raised.
- [1 - 100]
-- dlg,crit-soc-level: Battery discharge level (%) where critical event raised.
- This value should be lower than the warning level.
- [1 - 100]
-
-
-Example:
-
- fuel-gauge {
- compatible = "dlg,da9150-fuel-gauge";
-
- dlg,update-interval = <10000>;
- dlg,warn-soc-level = /bits/ 8 <15>;
- dlg,crit-soc-level = /bits/ 8 <5>;
- };
diff --git a/Documentation/devicetree/bindings/power/supply/dlg,da9150-charger.yaml b/Documentation/devicetree/bindings/power/supply/dlg,da9150-charger.yaml
new file mode 100644
index 000000000000..96336b05d76d
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/dlg,da9150-charger.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/dlg,da9150-charger.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Dialog Semiconductor DA9150 Charger Power Supply bindings
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: dlg,da9150-charger
+
+ io-channels:
+ items:
+ - description: ADC channel for current
+ - description: ADC channel for bus voltage
+ - description: ADC channel for junction temperature
+ - description: ADC channel for battery voltage
+
+ io-channel-names:
+ items:
+ - const: CHAN_IBUS
+ - const: CHAN_VBUS
+ - const: CHAN_TJUNC
+ - const: CHAN_VBAT
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ pmic {
+ charger {
+ compatible = "dlg,da9150-charger";
+ io-channels = <&gpadc 0>,
+ <&gpadc 2>,
+ <&gpadc 8>,
+ <&gpadc 5>;
+ io-channel-names = "CHAN_IBUS",
+ "CHAN_VBUS",
+ "CHAN_TJUNC",
+ "CHAN_VBAT";
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/dlg,da9150-fuel-gauge.yaml b/Documentation/devicetree/bindings/power/supply/dlg,da9150-fuel-gauge.yaml
new file mode 100644
index 000000000000..30c2fff7cf92
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/dlg,da9150-fuel-gauge.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/dlg,da9150-fuel-gauge.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Dialog Semiconductor DA9150 Fuel-Gauge Power Supply bindings
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: dlg,da9150-fuel-gauge
+
+ dlg,update-interval:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Interval time (milliseconds) between battery level checks.
+
+ dlg,warn-soc-level:
+ $ref: /schemas/types.yaml#/definitions/uint8
+ minimum: 1
+ maximum: 100
+ description: Battery discharge level (%) where warning event raised.
+
+ dlg,crit-soc-level:
+ $ref: /schemas/types.yaml#/definitions/uint8
+ minimum: 1
+ maximum: 100
+ description: |
+ Battery discharge level (%) where critical event raised.
+ This value should be lower than the warning level.
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ pmic {
+ battery {
+ compatible = "dlg,da9150-fuel-gauge";
+ dlg,update-interval = <10000>;
+ dlg,warn-soc-level = /bits/ 8 <15>;
+ dlg,crit-soc-level = /bits/ 8 <5>;
+ };
+ };
--
2.30.1

2021-03-12 15:53:53

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 33/38] dt-bindings: power: supply: rt9455: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/richtek,rt9455.yaml | 90 +++++++++++++++++++
.../bindings/power/supply/rt9455_charger.txt | 46 ----------
2 files changed, 90 insertions(+), 46 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/richtek,rt9455.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/rt9455_charger.txt

diff --git a/Documentation/devicetree/bindings/power/supply/richtek,rt9455.yaml b/Documentation/devicetree/bindings/power/supply/richtek,rt9455.yaml
new file mode 100644
index 000000000000..e1c233462f29
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/richtek,rt9455.yaml
@@ -0,0 +1,90 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/richtek,rt9455.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Binding for Richtek rt9455 battery charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: richtek,rt9455
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ richtek,output-charge-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: output current from the charger to the battery, in uA.
+
+ richtek,end-of-charge-percentage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ percent of the output charge current. When the current in constant-voltage phase drops
+ below output_charge_current x end-of-charge-percentage, charge is terminated.
+
+ richtek,battery-regulation-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: maximum battery voltage in uV.
+
+ richtek,boost-output-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ maximum voltage provided to consumer devices, when the charger is in boost mode, in uV.
+
+ richtek,min-input-voltage-regulation:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ input voltage level in uV, used to decrease voltage level when the over current of the
+ input power source occurs. This prevents input voltage drop due to insufficient
+ current provided by the power source. Defaults to 4500000 uV (4.5V).
+
+ richtek,avg-input-current-regulation:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ input current value in uA drained by the charger from the power source.
+ Defaults to 500000 uA (500mA).
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - richtek,output-charge-current
+ - richtek,end-of-charge-percentage
+ - richtek,battery-regulation-voltage
+ - richtek,boost-output-voltage
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@22 {
+ compatible = "richtek,rt9455";
+ reg = <0x22>;
+
+ interrupt-parent = <&gpio1>;
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+
+ richtek,output-charge-current = <500000>;
+ richtek,end-of-charge-percentage = <10>;
+ richtek,battery-regulation-voltage = <4200000>;
+ richtek,boost-output-voltage = <5050000>;
+
+ richtek,min-input-voltage-regulation = <4500000>;
+ richtek,avg-input-current-regulation = <500000>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/rt9455_charger.txt b/Documentation/devicetree/bindings/power/supply/rt9455_charger.txt
deleted file mode 100644
index 1e6107c7578e..000000000000
--- a/Documentation/devicetree/bindings/power/supply/rt9455_charger.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-Binding for Richtek rt9455 battery charger
-
-Required properties:
-- compatible: it should contain one of the following:
- "richtek,rt9455".
-- reg: integer, i2c address of the device.
-- interrupts: interrupt mapping for GPIO IRQ, it should be
- configured with IRQ_TYPE_LEVEL_LOW flag.
-- richtek,output-charge-current: integer, output current from the charger to the
- battery, in uA.
-- richtek,end-of-charge-percentage: integer, percent of the output charge current.
- When the current in constant-voltage phase drops
- below output_charge_current x end-of-charge-percentage,
- charge is terminated.
-- richtek,battery-regulation-voltage: integer, maximum battery voltage in uV.
-- richtek,boost-output-voltage: integer, maximum voltage provided to consumer
- devices, when the charger is in boost mode, in uV.
-
-Optional properties:
-- richtek,min-input-voltage-regulation: integer, input voltage level in uV, used to
- decrease voltage level when the over current
- of the input power source occurs.
- This prevents input voltage drop due to insufficient
- current provided by the power source.
- Default: 4500000 uV (4.5V)
-- richtek,avg-input-current-regulation: integer, input current value in uA drained by the
- charger from the power source.
- Default: 500000 uA (500mA)
-
-Example:
-
-rt9455@22 {
- compatible = "richtek,rt9455";
- reg = <0x22>;
-
- interrupt-parent = <&gpio1>;
- interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-
- richtek,output-charge-current = <500000>;
- richtek,end-of-charge-percentage = <10>;
- richtek,battery-regulation-voltage = <4200000>;
- richtek,boost-output-voltage = <5050000>;
-
- richtek,min-input-voltage-regulation = <4500000>;
- richtek,avg-input-current-regulation = <500000>;
-};
--
2.30.1

2021-03-12 15:53:55

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 31/38] dt-bindings: power: supply: lt3651: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/lltc,lt3651-charger.yaml | 44 +++++++++++++++++++
.../bindings/power/supply/lt3651-charger.txt | 29 ------------
2 files changed, 44 insertions(+), 29 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/lltc,lt3651-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/lt3651-charger.txt

diff --git a/Documentation/devicetree/bindings/power/supply/lltc,lt3651-charger.yaml b/Documentation/devicetree/bindings/power/supply/lltc,lt3651-charger.yaml
new file mode 100644
index 000000000000..e2d8d2aebb73
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/lltc,lt3651-charger.yaml
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/lltc,lt3651-charger.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Analog Devices LT3651 Charger Power Supply bindings
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - lltc,lt3651-charger
+ - lltc,ltc3651-charger # deprecated, use lltc,lt3651-charger
+
+ lltc,acpr-gpios:
+ maxItems: 1
+
+ lltc,fault-gpios:
+ maxItems: 1
+
+ lltc,chrg-gpios:
+ maxItems: 1
+
+required:
+ - compatible
+ - lltc,acpr-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ charger {
+ compatible = "lltc,lt3651-charger";
+ lltc,acpr-gpios = <&gpio0 68 GPIO_ACTIVE_LOW>;
+ lltc,fault-gpios = <&gpio0 64 GPIO_ACTIVE_LOW>;
+ lltc,chrg-gpios = <&gpio0 63 GPIO_ACTIVE_LOW>;
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/lt3651-charger.txt b/Documentation/devicetree/bindings/power/supply/lt3651-charger.txt
deleted file mode 100644
index 40811ff8de10..000000000000
--- a/Documentation/devicetree/bindings/power/supply/lt3651-charger.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Analog Devices LT3651 Charger Power Supply bindings: lt3651-charger
-
-Required properties:
-- compatible: Should contain one of the following:
- * "lltc,ltc3651-charger", (DEPRECATED: Use "lltc,lt3651-charger")
- * "lltc,lt3651-charger"
- - lltc,acpr-gpios: Connect to ACPR output. See remark below.
-
-Optional properties:
- - lltc,fault-gpios: Connect to FAULT output. See remark below.
- - lltc,chrg-gpios: Connect to CHRG output. See remark below.
-
-The lt3651 outputs are open-drain type and active low. The driver assumes the
-GPIO reports "active" when the output is asserted, so if the pins have been
-connected directly, the GPIO flags should be set to active low also.
-
-The driver will attempt to aquire interrupts for all GPIOs to detect changes in
-line state. If the system is not capabale of providing interrupts, the driver
-cannot report changes and userspace will need to periodically read the sysfs
-attributes to detect changes.
-
-Example:
-
- charger: battery-charger {
- compatible = "lltc,lt3651-charger";
- lltc,acpr-gpios = <&gpio0 68 GPIO_ACTIVE_LOW>;
- lltc,fault-gpios = <&gpio0 64 GPIO_ACTIVE_LOW>;
- lltc,chrg-gpios = <&gpio0 63 GPIO_ACTIVE_LOW>;
- };
--
2.30.1

2021-03-12 15:54:16

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 30/38] dt-bindings: power: supply: lp8727: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/lp8727_charger.txt | 43 -------
.../bindings/power/supply/ti,lp8727.yaml | 112 ++++++++++++++++++
2 files changed, 112 insertions(+), 43 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt b/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
deleted file mode 100644
index 0355a4b68f79..000000000000
--- a/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-Binding for TI/National Semiconductor LP8727 Charger
-
-Required properties:
-- compatible: "ti,lp8727"
-- reg: I2C slave address 27h
-
-Optional properties:
-- interrupts: interrupt specifier (see interrupt binding[0])
-- debounce-ms: interrupt debounce time. (u32)
-
-AC and USB charging parameters
-- charger-type: "ac" or "usb" (string)
-- eoc-level: value of 'enum lp8727_eoc_level' (u8)
-- charging-current: value of 'enum lp8727_ichg' (u8)
-
-[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
-
-Example)
-
-lp8727@27 {
- compatible = "ti,lp8727";
- reg = <0x27>;
-
- /* GPIO 134 is used for LP8728 interrupt pin */
- interrupt-parent = <&gpio5>; /* base = 128 */
- interrupts = <6 0x2>; /* offset = 6, falling edge type */
-
- debounce-ms = <300>;
-
- /* AC charger: 5% EOC and 500mA charging current */
- ac {
- charger-type = "ac";
- eoc-level = /bits/ 8 <0>;
- charging-current = /bits/ 8 <4>;
- };
-
- /* USB charger: 10% EOC and 400mA charging current */
- usb {
- charger-type = "usb";
- eoc-level = /bits/ 8 <1>;
- charging-current = /bits/ 8 <2>;
- };
-};
diff --git a/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml b/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
new file mode 100644
index 000000000000..65894b36a69d
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
@@ -0,0 +1,112 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/supply/ti,lp8727.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Binding for TI/National Semiconductor LP8727 Charger
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: ti,lp8727
+
+ reg:
+ const: 0x27
+
+ interrupts:
+ maxItems: 1
+
+ debounce-ms:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: interrupt debounce time in ms
+
+ ac:
+ type: object
+ description: AC charging parameters
+ properties:
+ charger-type:
+ const: ac
+
+ eoc-level:
+ $ref: /schemas/types.yaml#/definitions/uint8
+ minimum: 0
+ maximum: 6
+ description: |
+ End of Charge Percentage with the following mapping:
+ 0 = 5%, 1 = 10%, 2 = 16%, 3 = 20%, 4 = 25%, 5 = 33%, 6 = 50%
+
+ charging-current:
+ $ref: /schemas/types.yaml#/definitions/uint8
+ minimum: 0
+ maximum: 9
+ description: |
+ Charging current with the following mapping:
+ 0 = 90mA, 1 = 100mA, 2 = 400mA, 3 = 450mA, 4 = 500mA, 5 = 600mA,
+ 6 = 700mA, 7 = 800mA, 8 = 900mA, 9 = 1000mA
+
+ usb:
+ type: object
+ description: USB charging parameters
+ properties:
+ charger-type:
+ const: usb
+
+ eoc-level:
+ $ref: /schemas/types.yaml#/definitions/uint8
+ minimum: 0
+ maximum: 6
+ description: |
+ End of Charge Percentage with the following mapping:
+ 0 = 5%, 1 = 10%, 2 = 16%, 3 = 20%, 4 = 25%, 5 = 33%, 6 = 50%
+
+ charging-current:
+ $ref: /schemas/types.yaml#/definitions/uint8
+ minimum: 0
+ maximum: 9
+ description: |
+ Charging current with the following mapping:
+ 0 = 90mA, 1 = 100mA, 2 = 400mA, 3 = 450mA, 4 = 500mA, 5 = 600mA,
+ 6 = 700mA, 7 = 800mA, 8 = 900mA, 9 = 1000mA
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ lp8727: charger@27 {
+ compatible = "ti,lp8727";
+ reg = <0x27>;
+ interrupt-parent = <&gpio5>;
+ interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
+ debounce-ms = <300>;
+
+ /* AC charger: 5% EOC and 500mA charging current */
+ ac {
+ charger-type = "ac";
+ eoc-level = /bits/ 8 <0>;
+ charging-current = /bits/ 8 <4>;
+ };
+
+ /* USB charger: 10% EOC and 400mA charging current */
+ usb {
+ charger-type = "usb";
+ eoc-level = /bits/ 8 <1>;
+ charging-current = /bits/ 8 <2>;
+ };
+ };
+ };
+
--
2.30.1

2021-03-12 15:54:23

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 21/38] dt-bindings: power: supply: max14656: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/maxim,max14656.txt | 23 ----------
.../bindings/power/supply/maxim,max14656.yaml | 45 +++++++++++++++++++
2 files changed, 45 insertions(+), 23 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max14656.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max14656.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max14656.txt b/Documentation/devicetree/bindings/power/supply/maxim,max14656.txt
deleted file mode 100644
index f956247d493e..000000000000
--- a/Documentation/devicetree/bindings/power/supply/maxim,max14656.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-Maxim MAX14656 / AL32 USB Charger Detector
-
-Required properties :
-- compatible : "maxim,max14656";
-- reg: i2c slave address
-- interrupts: interrupt line
-
-Example:
-
-&i2c2 {
- clock-frequency = <50000>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2c2>;
-
- max14656@35 {
- compatible = "maxim,max14656";
- reg = <0x35>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_charger_detect>;
- interrupt-parent = <&gpio6>;
- interrupts = <26 IRQ_TYPE_LEVEL_HIGH>;
- };
-};
diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max14656.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max14656.yaml
new file mode 100644
index 000000000000..0a41078ebd99
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/maxim,max14656.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/maxim,max14656.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Maxim MAX14656 DT bindings
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ const: maxim,max14656
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger-detector@35 {
+ compatible = "maxim,max14656";
+ reg = <0x35>;
+ interrupt-parent = <&gpio6>;
+ interrupts = <26 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
--
2.30.1

2021-03-12 15:56:04

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 28/38] dt-bindings: power: supply: axp20x: Convert to DT schema format

Convert the binding to DT schema format.

Cc: Chen-Yu Tsai <[email protected]>
Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/axp20x_ac_power.txt | 25 -----------
.../bindings/power/supply/axp20x_battery.txt | 20 ---------
.../power/supply/axp20x_usb_power.txt | 41 -------------------
.../x-powers,axp20x-ac-power-supply.yaml | 32 +++++++++++++++
.../x-powers,axp20x-battery-power-supply.yaml | 30 ++++++++++++++
.../x-powers,axp20x-usb-power-supply.yaml | 33 +++++++++++++++
6 files changed, 95 insertions(+), 86 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/axp20x_ac_power.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/axp20x_battery.txt
delete mode 100644 Documentation/devicetree/bindings/power/supply/axp20x_usb_power.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/axp20x_ac_power.txt b/Documentation/devicetree/bindings/power/supply/axp20x_ac_power.txt
deleted file mode 100644
index 7a1fb532abe5..000000000000
--- a/Documentation/devicetree/bindings/power/supply/axp20x_ac_power.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-AXP20X and AXP22X PMICs' AC power supply
-
-Required Properties:
- - compatible: One of:
- "x-powers,axp202-ac-power-supply"
- "x-powers,axp221-ac-power-supply"
- "x-powers,axp813-ac-power-supply"
-
-This node is a subnode of the axp20x PMIC.
-
-The AXP20X can read the current current and voltage supplied by AC by
-reading ADC channels from the AXP20X ADC.
-
-The AXP22X is only able to tell if an AC power supply is present and
-usable.
-
-AXP813/AXP803 are able to limit current and supply voltage
-
-Example:
-
-&axp209 {
- ac_power_supply: ac-power-supply {
- compatible = "x-powers,axp202-ac-power-supply";
- };
-};
diff --git a/Documentation/devicetree/bindings/power/supply/axp20x_battery.txt b/Documentation/devicetree/bindings/power/supply/axp20x_battery.txt
deleted file mode 100644
index 41916f69902c..000000000000
--- a/Documentation/devicetree/bindings/power/supply/axp20x_battery.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-AXP20x and AXP22x battery power supply
-
-Required Properties:
- - compatible, one of:
- "x-powers,axp209-battery-power-supply"
- "x-powers,axp221-battery-power-supply"
- "x-powers,axp813-battery-power-supply"
-
-This node is a subnode of its respective PMIC DT node.
-
-The supported devices can read the battery voltage, charge and discharge
-currents of the battery by reading ADC channels from the ADC.
-
-Example:
-
-&axp209 {
- battery_power_supply: battery-power-supply {
- compatible = "x-powers,axp209-battery-power-supply";
- }
-};
diff --git a/Documentation/devicetree/bindings/power/supply/axp20x_usb_power.txt b/Documentation/devicetree/bindings/power/supply/axp20x_usb_power.txt
deleted file mode 100644
index b2d4968fde7d..000000000000
--- a/Documentation/devicetree/bindings/power/supply/axp20x_usb_power.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-AXP20x USB power supply
-
-Required Properties:
--compatible: One of: "x-powers,axp202-usb-power-supply"
- "x-powers,axp221-usb-power-supply"
- "x-powers,axp223-usb-power-supply"
- "x-powers,axp813-usb-power-supply"
-
-The AXP223 PMIC shares most of its behaviour with the AXP221 but has slight
-variations such as the former being able to set the VBUS power supply max
-current to 100mA, unlike the latter.
-
-This node is a subnode of the axp20x PMIC.
-
-Example:
-
-axp209: pmic@34 {
- compatible = "x-powers,axp209";
- reg = <0x34>;
- interrupt-parent = <&nmi_intc>;
- interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
- interrupt-controller;
- #interrupt-cells = <1>;
-
- regulators {
- x-powers,dcdc-freq = <1500>;
-
- vdd_cpu: dcdc2 {
- regulator-always-on;
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1450000>;
- regulator-name = "vdd-cpu";
- };
-
- ...
- };
-
- usb-power-supply: usb-power-supply {
- compatible = "x-powers,axp202-usb-power-supply";
- };
-};
diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml
new file mode 100644
index 000000000000..dcda6660b8ed
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/x-powers,axp20x-ac-power-supply.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: AXP20x AC power-supply
+
+description: |
+ The AXP20X can read the current current and voltage supplied by AC by
+ reading ADC channels from the AXP20X ADC. The AXP22X is only able to
+ tell if an AC power supply is present and usable. AXP813/AXP803 are
+ able to limit current and supply voltage
+
+maintainers:
+ - Chen-Yu Tsai <[email protected]>
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - x-powers,axp202-ac-power-supply
+ - x-powers,axp221-ac-power-supply
+ - x-powers,axp813-ac-power-supply
+
+required:
+ - compatible
+
+additionalProperties: false
diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
new file mode 100644
index 000000000000..86e8a713d4e2
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/x-powers,axp20x-battery-power-supply.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: AXP20x Battery power-supply
+
+description: |
+ The supported devices can read the battery voltage, charge and discharge
+ currents of the battery by reading ADC channels from the ADC.
+
+maintainers:
+ - Chen-Yu Tsai <[email protected]>
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - x-powers,axp209-battery-power-supply
+ - x-powers,axp221-battery-power-supply
+ - x-powers,axp813-battery-power-supply
+
+required:
+ - compatible
+
+additionalProperties: false
diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml
new file mode 100644
index 000000000000..61f1b320c157
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/x-powers,axp20x-usb-power-supply.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: AXP20x USB power-supply
+
+description: |
+ The AXP223 PMIC shares most of its behaviour with the AXP221 but has slight
+ variations such as the former being able to set the VBUS power supply max
+ current to 100mA, unlike the latter.
+
+maintainers:
+ - Chen-Yu Tsai <[email protected]>
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - x-powers,axp202-usb-power-supply
+ - x-powers,axp221-usb-power-supply
+ - x-powers,axp223-usb-power-supply
+ - x-powers,axp813-usb-power-supply
+
+
+required:
+ - compatible
+
+additionalProperties: false
--
2.30.1

2021-03-12 15:56:18

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 24/38] dt-bindings: power: supply: ucs1002: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/microchip,ucs1002.txt | 27 ----------
.../power/supply/microchip,ucs1002.yaml | 51 +++++++++++++++++++
2 files changed, 51 insertions(+), 27 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/supply/microchip,ucs1002.txt
create mode 100644 Documentation/devicetree/bindings/power/supply/microchip,ucs1002.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/microchip,ucs1002.txt b/Documentation/devicetree/bindings/power/supply/microchip,ucs1002.txt
deleted file mode 100644
index 1d284ad816bf..000000000000
--- a/Documentation/devicetree/bindings/power/supply/microchip,ucs1002.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-Microchip UCS1002 USB Port Power Controller
-
-Required properties:
-- compatible : Should be "microchip,ucs1002";
-- reg : I2C slave address
-
-Optional properties:
-- interrupts : A list of interrupts lines present (could be either
- corresponding to A_DET# pin, ALERT# pin, or both)
-- interrupt-names : A list of interrupt names. Should contain (if
- present):
- - "a_det" for line connected to A_DET# pin
- - "alert" for line connected to ALERT# pin
- Both are expected to be IRQ_TYPE_EDGE_BOTH
-Example:
-
-&i2c3 {
- charger@32 {
- compatible = "microchip,ucs1002";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_ucs1002_pins>;
- reg = <0x32>;
- interrupts-extended = <&gpio5 2 IRQ_TYPE_EDGE_BOTH>,
- <&gpio3 21 IRQ_TYPE_EDGE_BOTH>;
- interrupt-names = "a_det", "alert";
- };
-};
diff --git a/Documentation/devicetree/bindings/power/supply/microchip,ucs1002.yaml b/Documentation/devicetree/bindings/power/supply/microchip,ucs1002.yaml
new file mode 100644
index 000000000000..b9bd1591ed7e
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/microchip,ucs1002.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/supply/microchip,ucs1002.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip UCS1002 USB Port Power Controller
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+properties:
+ compatible:
+ const: microchip,ucs1002
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 2
+
+ interrupt-names:
+ oneOf:
+ - items:
+ - const: a_det
+ - const: alert
+ - const: a_det
+ - const: alert
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@32 {
+ compatible = "microchip,ucs1002";
+ reg = <0x32>;
+ interrupts-extended = <&gpio5 2 IRQ_TYPE_EDGE_BOTH>,
+ <&gpio3 21 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "a_det", "alert";
+ };
+ };
--
2.30.1

2021-03-12 15:56:26

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 25/38] dt-bindings: power: supply: pm8941-charger: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../power/supply/qcom,pm8941-charger.yaml | 169 ++++++++++++++++++
.../bindings/power/supply/qcom_smbb.txt | 150 ----------------
2 files changed, 169 insertions(+), 150 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/qcom,pm8941-charger.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/qcom_smbb.txt

diff --git a/Documentation/devicetree/bindings/power/supply/qcom,pm8941-charger.yaml b/Documentation/devicetree/bindings/power/supply/qcom,pm8941-charger.yaml
new file mode 100644
index 000000000000..bc8904872d1b
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/qcom,pm8941-charger.yaml
@@ -0,0 +1,169 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/supply/qcom,pm8941-charger.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Switch-Mode Battery Charger and Boost
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+properties:
+ compatible:
+ const: qcom,pm8941-charger
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ items:
+ - description: charge done
+ - description: charge fast mode
+ - description: charge trickle mode
+ - description: battery temperature ok
+ - description: battery present
+ - description: charger disconnected
+ - description: USB-in valid
+ - description: DC-in valid
+
+ interrupt-names:
+ items:
+ - const: chg-done
+ - const: chg-fast
+ - const: chg-trkl
+ - const: bat-temp-ok
+ - const: bat-present
+ - const: chg-gone
+ - const: usb-valid
+ - const: dc-valid
+
+ qcom,fast-charge-current-limit:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 100000
+ maximum: 3000000
+ description: Maximum charge current in uA; May be clamped to safety limits; Defaults to 1A
+
+ qcom,fast-charge-low-threshold-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 2100000
+ maximum: 3600000
+ description: |
+ Battery voltage limit in uV above which fast charging may operate; Defaults to 3.2V
+ Below this value linear or switch-mode auto-trickle-charging will operate.
+
+ qcom,fast-charge-high-threshold-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 3240000
+ maximum: 5000000
+ description: |
+ Battery voltage limit in uV below which fast charging may operate; Defaults to 4.2V
+ The fast charger will attempt to charge the battery to this voltage.
+ May be clamped to safety limits.
+
+ qcom,fast-charge-safe-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 3240000
+ maximum: 5000000
+ description: |
+ Maximum safe battery voltage in uV; May be pre-set by bootloader, in which case,
+ setting this will harmlessly fail. The property 'fast-charge-high-watermark' will
+ be clamped by this value. Defaults to 4.2V.
+
+ qcom,fast-charge-safe-current:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 100000
+ maximum: 3000000
+ description: |
+ Maximum safe battery charge current in uA; May pre-set by bootloader, in which case,
+ setting this will harmlessly fail. The property 'qcom,fast-charge-current-limit'
+ will be clamped by this value. Defaults to 1A.
+
+ qcom,auto-recharge-threshold-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 3240000
+ maximum: 5000000
+ description: |
+ Battery voltage limit in uV below which auto-recharge functionality will restart charging
+ after end-of-charge; The high cutoff limit for auto-recharge is 5% above this value.
+ Defaults to 4.1V.
+
+ qcom,minimum-input-voltage:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 4200000
+ maximum: 9600000
+ description: |
+ Input voltage level in uV above which charging may operate. Defaults to 4.3V.
+
+ qcom,dc-current-limit:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 100000
+ maximum: 2500000
+ description: |
+ Default DC charge current limit in uA. Defaults to 100mA.
+
+ qcom,disable-dc:
+ type: boolean
+ description: Disable DC charger
+
+ qcom,jeita-extended-temp-range:
+ type: boolean
+ description: |
+ Enable JEITA extended temperature range; This does *not* adjust the maximum charge
+ voltage or current in the extended temperature range. It only allows charging when
+ the battery is in the extended temperature range. Voltage/current regulation must
+ be done externally to fully comply with the JEITA safety guidelines if this flag
+ is set.
+
+ usb-otg-in-supply:
+ description: Reference to the regulator supplying power to the USB_OTG_IN pin.
+
+ otg-vbus:
+ type: object
+ description: |
+ This node defines a regulator used to control the direction of VBUS voltage.
+ Specifically whether to supply voltage to VBUS for host mode operation of the OTG port,
+ or allow input voltage from external VBUS for charging. In the hardware, the supply for
+ this regulator comes from usb_otg_in-supply.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ pmic {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@1000 {
+ compatible = "qcom,pm8941-charger";
+ reg = <0x1000>;
+ interrupts = <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
+ <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>,
+ <0x0 0x10 4 IRQ_TYPE_EDGE_BOTH>,
+ <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>,
+ <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>,
+ <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>,
+ <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>,
+ <0x0 0x14 1 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "chg-done",
+ "chg-fast",
+ "chg-trkl",
+ "bat-temp-ok",
+ "bat-present",
+ "chg-gone",
+ "usb-valid",
+ "dc-valid";
+ qcom,fast-charge-current-limit = <1000000>;
+ qcom,dc-current-limit = <1000000>;
+ usb-otg-in-supply = <&pm8941_5vs1>;
+
+ otg-vbus {};
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/qcom_smbb.txt b/Documentation/devicetree/bindings/power/supply/qcom_smbb.txt
deleted file mode 100644
index 06f8a5ddb68e..000000000000
--- a/Documentation/devicetree/bindings/power/supply/qcom_smbb.txt
+++ /dev/null
@@ -1,150 +0,0 @@
-Qualcomm Switch-Mode Battery Charger and Boost
-
-PROPERTIES
-- compatible:
- Usage: required
- Value type: <stringlist>
- Description: Must be one of:
- - "qcom,pm8941-charger"
-
-- reg:
- Usage: required
- Value type: <prop-encoded-array>
- Description: Base address of registers for SMBB block
-
-- interrupts:
- Usage: required
- Value type: <prop-encoded-array>
- Description: The format of the specifier is defined by the binding document
- describing the node's interrupt parent. Must contain one
- specifier for each of the following interrupts, in order:
- - charge done
- - charge fast mode
- - charge trickle mode
- - battery temperature ok
- - battery present
- - charger disconnected
- - USB-in valid
- - DC-in valid
-
-- interrupt-names:
- Usage: required
- Value type: <stringlist>
- Description: Must contain the following list, strictly ordered:
- "chg-done",
- "chg-fast",
- "chg-trkl",
- "bat-temp-ok",
- "bat-present",
- "chg-gone",
- "usb-valid",
- "dc-valid"
-
-- qcom,fast-charge-current-limit:
- Usage: optional (default: 1A, or pre-configured value)
- Value type: <u32>; uA; range [100mA : 3A]
- Description: Maximum charge current; May be clamped to safety limits.
-
-- qcom,fast-charge-low-threshold-voltage:
- Usage: optional (default: 3.2V, or pre-configured value)
- Value type: <u32>; uV; range [2.1V : 3.6V]
- Description: Battery voltage limit above which fast charging may operate;
- Below this value linear or switch-mode auto-trickle-charging
- will operate.
-
-- qcom,fast-charge-high-threshold-voltage:
- Usage: optional (default: 4.2V, or pre-configured value)
- Value type: <u32>; uV; range [3.24V : 5V]
- Description: Battery voltage limit below which fast charging may operate;
- The fast charger will attempt to charge the battery to this
- voltage. May be clamped to safety limits.
-
-- qcom,fast-charge-safe-voltage:
- Usage: optional (default: 4.2V, or pre-configured value)
- Value type: <u32>; uV; range [3.24V : 5V]
- Description: Maximum safe battery voltage; May be pre-set by bootloader, in
- which case, setting this will harmlessly fail. The property
- 'fast-charge-high-watermark' will be clamped by this value.
-
-- qcom,fast-charge-safe-current:
- Usage: optional (default: 1A, or pre-configured value)
- Value type: <u32>; uA; range [100mA : 3A]
- Description: Maximum safe battery charge current; May pre-set by bootloader,
- in which case, setting this will harmlessly fail. The property
- 'qcom,fast-charge-current-limit' will be clamped by this value.
-
-- qcom,auto-recharge-threshold-voltage:
- Usage: optional (default: 4.1V, or pre-configured value)
- Value type: <u32>; uV; range [3.24V : 5V]
- Description: Battery voltage limit below which auto-recharge functionality
- will restart charging after end-of-charge; The high cutoff
- limit for auto-recharge is 5% above this value.
-
-- qcom,minimum-input-voltage:
- Usage: optional (default: 4.3V, or pre-configured value)
- Value type: <u32>; uV; range [4.2V : 9.6V]
- Description: Input voltage level above which charging may operate
-
-- qcom,dc-current-limit:
- Usage: optional (default: 100mA, or pre-configured value)
- Value type: <u32>; uA; range [100mA : 2.5A]
- Description: Default DC charge current limit
-
-- qcom,disable-dc:
- Usage: optional (default: false)
- Value type: boolean: <u32> or <empty>
- Description: Disable DC charger
-
-- qcom,jeita-extended-temp-range:
- Usage: optional (default: false)
- Value type: boolean: <u32> or <empty>
- Description: Enable JEITA extended temperature range; This does *not*
- adjust the maximum charge voltage or current in the extended
- temperature range. It only allows charging when the battery
- is in the extended temperature range. Voltage/current
- regulation must be done externally to fully comply with
- the JEITA safety guidelines if this flag is set.
-
-- usb_otg_in-supply:
- Usage: optional
- Value type: <phandle>
- Description: Reference to the regulator supplying power to the USB_OTG_IN
- pin.
-
-child nodes:
-- otg-vbus:
- Usage: optional
- Description: This node defines a regulator used to control the direction
- of VBUS voltage - specifically: whether to supply voltage
- to VBUS for host mode operation of the OTG port, or allow
- input voltage from external VBUS for charging. In the
- hardware, the supply for this regulator comes from
- usb_otg_in-supply.
-
-EXAMPLE
-charger@1000 {
- compatible = "qcom,pm8941-charger";
- reg = <0x1000 0x700>;
- interrupts = <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
- <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>,
- <0x0 0x10 4 IRQ_TYPE_EDGE_BOTH>,
- <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>,
- <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>,
- <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>,
- <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>,
- <0x0 0x14 1 IRQ_TYPE_EDGE_BOTH>;
- interrupt-names = "chg-done",
- "chg-fast",
- "chg-trkl",
- "bat-temp-ok",
- "bat-present",
- "chg-gone",
- "usb-valid",
- "dc-valid";
-
- qcom,fast-charge-current-limit = <1000000>;
- qcom,dc-charge-current-limit = <1000000>;
- usb_otg_in-supply = <&pm8941_5vs1>;
-
- otg-vbus {};
-};
--
2.30.1

2021-03-12 15:56:32

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH 32/38] dt-bindings: power: supply: ltc294x: Convert to DT schema format

Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <[email protected]>
---
.../bindings/power/supply/lltc,ltc294x.yaml | 66 +++++++++++++++++++
.../bindings/power/supply/ltc2941.txt | 28 --------
2 files changed, 66 insertions(+), 28 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/lltc,ltc294x.yaml
delete mode 100644 Documentation/devicetree/bindings/power/supply/ltc2941.txt

diff --git a/Documentation/devicetree/bindings/power/supply/lltc,ltc294x.yaml b/Documentation/devicetree/bindings/power/supply/lltc,ltc294x.yaml
new file mode 100644
index 000000000000..043bf378040f
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/lltc,ltc294x.yaml
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/power/supply/lltc,ltc294x.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Binding for LTC2941, LTC2942, LTC2943 and LTC2944 battery fuel gauges
+
+description: |
+ All chips measure battery capacity.
+ The LTC2942 is pin compatible with the LTC2941, it adds voltage and
+ temperature monitoring, and is runtime detected. LTC2943 and LTC2944
+ are software compatible, uses a slightly different conversion formula
+ for the charge counter and adds voltage, current and temperature monitoring.
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+allOf:
+ - $ref: power-supply.yaml#
+
+properties:
+ compatible:
+ enum:
+ - lltc,ltc2941
+ - lltc,ltc2942
+ - lltc,ltc2943
+ - lltc,ltc2944
+
+ reg:
+ maxItems: 1
+
+ lltc,resistor-sense:
+ $ref: /schemas/types.yaml#/definitions/int32
+ description: |
+ Sense resistor value in milli-ohms.
+ Can be negative value when the battery has been connected to the wrong end of the resistor.
+
+ lltc,prescaler-exponent:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ The prescaler exponent as explained in the datasheet.
+ This determines the range and accuracy of the gauge.
+ The value is programmed into the chip only if it differs from the current setting.
+ The setting is lost when the battery is disconnected.
+
+required:
+ - compatible
+ - reg
+ - lltc,resistor-sense
+ - lltc,prescaler-exponent
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ battery@64 {
+ compatible = "lltc,ltc2943";
+ reg = <0x64>;
+ lltc,resistor-sense = <15>;
+ lltc,prescaler-exponent = <5>; /* 2^(2*5) = 1024 */
+ };
+ };
diff --git a/Documentation/devicetree/bindings/power/supply/ltc2941.txt b/Documentation/devicetree/bindings/power/supply/ltc2941.txt
deleted file mode 100644
index 3b9ba147b041..000000000000
--- a/Documentation/devicetree/bindings/power/supply/ltc2941.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-binding for LTC2941, LTC2942, LTC2943 and LTC2944 battery gauges
-
-All chips measure battery capacity.
-The LTC2942 is pin compatible with the LTC2941, it adds voltage and
-temperature monitoring, and is runtime detected. LTC2943 and LTC2944
-is software compatible, uses a slightly different conversion formula
-for the charge counter and adds voltage, current and temperature monitoring.
-
-Required properties:
-- compatible: Should contain "lltc,ltc2941", "lltc,ltc2942", "lltc,ltc2943"
- or "lltc,ltc2944" which also indicates the type of I2C chip attached.
-- reg: The 7-bit I2C address.
-- lltc,resistor-sense: The sense resistor value in milli-ohms. Can be a 32-bit
- negative value when the battery has been connected to the wrong end of the
- resistor.
-- lltc,prescaler-exponent: The prescaler exponent as explained in the datasheet.
- This determines the range and accuracy of the gauge. The value is programmed
- into the chip only if it differs from the current setting. The setting is
- lost when the battery is disconnected.
-
-Example from the Topic Miami Florida board:
-
- fuelgauge: ltc2943@64 {
- compatible = "lltc,ltc2943";
- reg = <0x64>;
- lltc,resistor-sense = <15>;
- lltc,prescaler-exponent = <5>; /* 2^(2*5) = 1024 */
- };
--
2.30.1

2021-03-12 16:06:23

by David Lechner

[permalink] [raw]
Subject: Re: [PATCH 19/38] dt-bindings: power: supply: lego-ev3-battery: Convert to DT schema format

On 3/12/21 9:43 AM, Sebastian Reichel wrote:
> Convert the binding to DT schema format.
>
> Cc: David Lechner <[email protected]>
> Signed-off-by: Sebastian Reichel <[email protected]>
> ---

Reviewed-by: David Lechner <[email protected]>

2021-03-15 20:35:54

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 04/38] dt-bindings: power: supply: bq25890: Convert to DT schema format

On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
<[email protected]> wrote:
>
> Convert the binding to DT schema format.
>
> Signed-off-by: Sebastian Reichel <[email protected]>
> ---
> .../bindings/power/supply/bq25890.txt | 60 ---------
> .../bindings/power/supply/bq25890.yaml | 125 ++++++++++++++++++
> 2 files changed, 125 insertions(+), 60 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/power/supply/bq25890.txt
> create mode 100644 Documentation/devicetree/bindings/power/supply/bq25890.yaml
>
> diff --git a/Documentation/devicetree/bindings/power/supply/bq25890.txt b/Documentation/devicetree/bindings/power/supply/bq25890.txt
> deleted file mode 100644
> index 805040c6fff9..000000000000
> --- a/Documentation/devicetree/bindings/power/supply/bq25890.txt
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -Binding for TI bq25890 Li-Ion Charger
> -
> -This driver will support the bq25892, the bq25896 and the bq25890. There are
> -other ICs in the same family but those have not been tested.
> -
> -Required properties:
> -- compatible: Should contain one of the following:
> - * "ti,bq25890"
> - * "ti,bq25892"
> - * "ti,bq25895"
> - * "ti,bq25896"
> -- reg: integer, i2c address of the device.
> -- interrupts: interrupt line;
> -- ti,battery-regulation-voltage: integer, maximum charging voltage (in uV);
> -- ti,charge-current: integer, maximum charging current (in uA);
> -- ti,termination-current: integer, charge will be terminated when current in
> - constant-voltage phase drops below this value (in uA);
> -- ti,precharge-current: integer, maximum charge current during precharge
> - phase (in uA);
> -- ti,minimum-sys-voltage: integer, when battery is charging and it is below
> - minimum system voltage, the system will be regulated above
> - minimum-sys-voltage setting (in uV);
> -- ti,boost-voltage: integer, VBUS voltage level in boost mode (in uV);
> -- ti,boost-max-current: integer, maximum allowed current draw in boost mode
> - (in uA).
> -
> -Optional properties:
> -- ti,boost-low-freq: boolean, if present boost mode frequency will be 500kHz,
> - otherwise 1.5MHz;
> -- ti,use-ilim-pin: boolean, if present the ILIM resistor will be used and the
> - input current will be the lower between the resistor setting and the IINLIM
> - register setting;
> -- ti,thermal-regulation-threshold: integer, temperature above which the charge
> - current is lowered, to avoid overheating (in degrees Celsius). If omitted,
> - the default setting will be used (120 degrees);
> -- ti,ibatcomp-micro-ohms: integer, value of a resistor in series with
> - the battery;
> -- ti,ibatcomp-clamp-microvolt: integer, maximum charging voltage adjustment due
> - to expected voltage drop on in-series resistor;
> -
> -Example:
> -
> -bq25890 {
> - compatible = "ti,bq25890";
> - reg = <0x6a>;
> -
> - interrupt-parent = <&gpio1>;
> - interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
> -
> - ti,battery-regulation-voltage = <4200000>;
> - ti,charge-current = <1000000>;
> - ti,termination-current = <50000>;
> - ti,precharge-current = <128000>;
> - ti,minimum-sys-voltage = <3600000>;
> - ti,boost-voltage = <5000000>;
> - ti,boost-max-current = <1000000>;
> -
> - ti,use-ilim-pin;
> - ti,thermal-regulation-threshold = <120>;
> -};
> diff --git a/Documentation/devicetree/bindings/power/supply/bq25890.yaml b/Documentation/devicetree/bindings/power/supply/bq25890.yaml
> new file mode 100644
> index 000000000000..de6e03ec120c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/supply/bq25890.yaml
> @@ -0,0 +1,125 @@
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (C) 2021 Sebastian Reichel
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/power/supply/bq25890.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: Binding for bq25890, bq25892, bq25895 and bq25896 Li-Ion Charger
> +
> +maintainers:
> + - Sebastian Reichel <[email protected]>
> +
> +allOf:
> + - $ref: power-supply.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - ti,bq25890
> + - ti,bq25892
> + - ti,bq25895
> + - ti,bq25896
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + ti,battery-regulation-voltage:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: maximum charging voltage (in uV)
> +
> + ti,charge-current:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: maximum charging current (in uA)
> +
> + ti,termination-current:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + charge will be terminated when current in constant-voltage phase
> + drops below this value (in uA)
> +
> + ti,precharge-current:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: maximum charge current during precharge phase (in uA)
> +
> + ti,minimum-sys-voltage:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + when battery is charging and it is below minimum system voltage,
> + the system will be regulated above minimum-sys-voltage setting (in uV)
> +
> + ti,boost-voltage:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: VBUS voltage level in boost mode (in uV)
> +
> + ti,boost-max-current:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: maximum allowed current draw in boost mode (in uA)
> +
> + ti,boost-low-freq:
> + description: boost mode frequency will be 500kHz, otherwise 1.5MHz
> + type: boolean
> +
> + ti,use-ilim-pin:
> + description: |
> + ILIM resistor will be used and the input current will be the lower
> + between the resistor setting and the IINLIM register setting
> + type: boolean
> +
> + ti,thermal-regulation-threshold:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + temperature above which the charge current is lowered, to avoid overheating
> + (in degrees Celsius). If omitted, the default setting will be used (120 degrees)
> +
> + ti,ibatcomp-micro-ohms:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: value of a resistor in series with the battery (in Micro Ohms)
> +
> + ti,ibatcomp-clamp-microvolt:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: max. charging voltage adjustment due to expected voltage drop on in-series resistor

You don't need a type $ref on properties with a standard unit suffix.
Though it looks like there's some non-standard ones (-microvolts) in
the series.

Rob

2021-03-15 20:37:23

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 08/38] dt-bindings: power: supply: bq24735: Convert to DT schema format

On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
<[email protected]> wrote:
>
> Convert the binding to DT schema format.
>
> Signed-off-by: Sebastian Reichel <[email protected]>
> ---
> .../bindings/power/supply/bq24735.yaml | 88 +++++++++++++++++++
> .../bindings/power/supply/ti,bq24735.txt | 39 --------
> 2 files changed, 88 insertions(+), 39 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/power/supply/bq24735.yaml
> delete mode 100644 Documentation/devicetree/bindings/power/supply/ti,bq24735.txt
>
> diff --git a/Documentation/devicetree/bindings/power/supply/bq24735.yaml b/Documentation/devicetree/bindings/power/supply/bq24735.yaml
> new file mode 100644
> index 000000000000..8a3a31ada128
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/supply/bq24735.yaml
> @@ -0,0 +1,88 @@
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (C) 2021 Sebastian Reichel
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/power/supply/bq24735.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: Binding for TI BQ24735 Li-Ion Battery Charger
> +
> +maintainers:
> + - Sebastian Reichel <[email protected]>
> +
> +allOf:
> + - $ref: power-supply.yaml#
> +
> +properties:
> + compatible:
> + const: ti,bq24735
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + description: AC adapter plug event interrupt
> + maxItems: 1
> +
> + ti,ac-detect-gpios:
> + maxItems: 1
> + description: |
> + This GPIO is optionally used to read the AC adapter status. This is a Host GPIO
> + that is configured as an input and connected to the ACOK pin on the bq24735.
> + Note: for backwards compatibility reasons, the GPIO must be active on AC adapter
> + absence despite ACOK being active (high) on AC adapter presence.
> +
> + ti,charge-current:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Used to control and set the charging current.
> + This value must be between 128mA and 8.128A with a 64mA step resolution.
> + The POR value is 0x0000h. This number is in mA (e.g. 8192).
> + See spec for more information about the ChargeCurrent (0x14h) register.
> +
> + ti,charge-voltage:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Used to control and set the charging voltage.
> + This value must be between 1.024V and 19.2V with a 16mV step resolution.
> + The POR value is 0x0000h. This number is in mV (e.g. 19200).
> + See spec for more information about the ChargeVoltage (0x15h) register.
> +
> + ti,input-current:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Used to control and set the charger input current.
> + This value must be between 128mA and 8.064A with a 128mA step resolution.
> + The POR value is 0x1000h. This number is in mA (e.g. 8064).
> + See the spec for more information about the InputCurrent (0x3fh) register.
> +
> + ti,external-control:
> + type: boolean
> + description: |
> + Indicates that the charger is configured externally and that the host should not
> + attempt to enable/disable charging or set the charge voltage/current.
> +
> + poll-interval:
> + description: |
> + If 'interrupts' is not specified, poll AC adapter presence with this interval (milliseconds).

Needs a type.

2021-03-15 23:39:10

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 11/38] dt-bindings: power: supply: sbs-manager: Convert to DT schema format

On Fri, Mar 12, 2021 at 8:45 AM Sebastian Reichel
<[email protected]> wrote:
>
> Convert the binding to DT schema format.
>
> Signed-off-by: Sebastian Reichel <[email protected]>
> ---
> .../bindings/power/supply/sbs,sbs-manager.txt | 66 -----------
> .../power/supply/sbs,sbs-manager.yaml | 111 ++++++++++++++++++
> 2 files changed, 111 insertions(+), 66 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.txt
> create mode 100644 Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.yaml
>


> diff --git a/Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.yaml b/Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.yaml
> new file mode 100644
> index 000000000000..592c476d83e6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.yaml
> @@ -0,0 +1,111 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/supply/sbs,sbs-manager.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SBS compliant manger
> +
> +maintainers:
> + - Sebastian Reichel <[email protected]>
> +
> +allOf:
> + - $ref: power-supply.yaml#
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - enum:
> + - lltc,ltc1760
> + - enum:
> + - sbs,sbs-manager
> + - items:
> + - const: sbs,sbs-manager
> +
> + reg:
> + const: 0xa
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
> +
> + gpio-controller: true
> +
> + "#gpio-cells":
> + const: 2
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +dependencies:
> + '#gpio-cells': [gpio-controller]
> + gpio-controller: ['#gpio-cells']

The core schema should capture these dependencies.

> +
> +patternProperties:
> + "^i2c@[1-4]$":
> + type: object
> +
> + allOf:
> + - $ref: /schemas/i2c/i2c-controller.yaml#
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + #include <dt-bindings/gpio/gpio.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + batman: battery-manager@a {
> + compatible = "lltc,ltc1760", "sbs,sbs-manager";
> + reg = <0x0a>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + gpio-controller;
> + #gpio-cells = <2>;
> +
> + i2c@1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <1>;
> +
> + battery@b {
> + compatible = "ti,bq20z65", "sbs,sbs-battery";
> + reg = <0x0b>;
> + sbs,battery-detect-gpios = <&batman 1 1>;
> + };
> + };
> +
> + i2c@2 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <2>;
> +
> + battery@b {
> + compatible = "ti,bq20z65", "sbs,sbs-battery";
> + reg = <0x0b>;
> + sbs,battery-detect-gpios = <&batman 2 1>;
> + };
> + };
> +
> + i2c@3 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <3>;
> +
> + battery@b {
> + compatible = "ti,bq20z65", "sbs,sbs-battery";
> + reg = <0x0b>;
> + sbs,battery-detect-gpios = <&batman 3 1>;
> + };
> + };
> + };
> + };
> --
> 2.30.1
>

2021-03-15 23:42:53

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 16/38] dt-bindings: power: supply: tps65217: Convert to DT schema format

On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
<[email protected]> wrote:
>
> Convert the binding to DT schema format.
>
> Signed-off-by: Sebastian Reichel <[email protected]>
> ---
> .../power/supply/tps65217-charger.yaml | 43 +++++++++++++++++++
> .../power/supply/tps65217_charger.txt | 17 --------
> 2 files changed, 43 insertions(+), 17 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
> delete mode 100644 Documentation/devicetree/bindings/power/supply/tps65217_charger.txt
>
> diff --git a/Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml b/Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
> new file mode 100644
> index 000000000000..a33408c3a407
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
> @@ -0,0 +1,43 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/power/supply/tps65217-charger.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: TPS65217 Charger
> +
> +maintainers:
> + - Sebastian Reichel <[email protected]>
> +
> +allOf:
> + - $ref: power-supply.yaml#
> +
> +properties:
> + compatible:
> + const: ti,tps65217-charger
> +
> + interrupts:
> + minItems: 2
> + maxItems: 2

We've lost info that was in the original binding. You could do
something like this:

items:
- description: USB charger
const: 0
- description: AC charger
const: 1

(Usually the interrupt values would be out of scope of the binding,
but I guess here it makes some sense.)

> +
> + interrupt-names:
> + items:
> + - const: USB
> + - const: AC
> +
> +required:
> + - compatible
> + - interrupts
> + - interrupt-names
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + pmic {
> + charger {
> + compatible = "ti,tps65217-charger";
> + interrupts = <0>, <1>;
> + interrupt-names = "USB", "AC";
> + };
> + };
> diff --git a/Documentation/devicetree/bindings/power/supply/tps65217_charger.txt b/Documentation/devicetree/bindings/power/supply/tps65217_charger.txt
> deleted file mode 100644
> index a11072c5a866..000000000000
> --- a/Documentation/devicetree/bindings/power/supply/tps65217_charger.txt
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -TPS65217 Charger
> -
> -Required Properties:
> --compatible: "ti,tps65217-charger"
> --interrupts: TPS65217 interrupt numbers for the AC and USB charger input change.
> - Should be <0> for the USB charger and <1> for the AC adapter.
> --interrupt-names: Should be "USB" and "AC"
> -
> -This node is a subnode of the tps65217 PMIC.
> -
> -Example:
> -
> - tps65217-charger {
> - compatible = "ti,tps65217-charger";
> - interrupts = <0>, <1>;
> - interrupt-names = "USB", "AC";
> - };
> --
> 2.30.1
>

2021-03-15 23:45:09

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 30/38] dt-bindings: power: supply: lp8727: Convert to DT schema format

On Fri, Mar 12, 2021 at 8:52 AM Sebastian Reichel
<[email protected]> wrote:
>
> Convert the binding to DT schema format.
>
> Signed-off-by: Sebastian Reichel <[email protected]>
> ---
> .../bindings/power/supply/lp8727_charger.txt | 43 -------
> .../bindings/power/supply/ti,lp8727.yaml | 112 ++++++++++++++++++
> 2 files changed, 112 insertions(+), 43 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
> create mode 100644 Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
>
> diff --git a/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt b/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
> deleted file mode 100644
> index 0355a4b68f79..000000000000
> --- a/Documentation/devicetree/bindings/power/supply/lp8727_charger.txt
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -Binding for TI/National Semiconductor LP8727 Charger
> -
> -Required properties:
> -- compatible: "ti,lp8727"
> -- reg: I2C slave address 27h
> -
> -Optional properties:
> -- interrupts: interrupt specifier (see interrupt binding[0])
> -- debounce-ms: interrupt debounce time. (u32)
> -
> -AC and USB charging parameters
> -- charger-type: "ac" or "usb" (string)
> -- eoc-level: value of 'enum lp8727_eoc_level' (u8)
> -- charging-current: value of 'enum lp8727_ichg' (u8)
> -
> -[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
> -
> -Example)
> -
> -lp8727@27 {
> - compatible = "ti,lp8727";
> - reg = <0x27>;
> -
> - /* GPIO 134 is used for LP8728 interrupt pin */
> - interrupt-parent = <&gpio5>; /* base = 128 */
> - interrupts = <6 0x2>; /* offset = 6, falling edge type */
> -
> - debounce-ms = <300>;
> -
> - /* AC charger: 5% EOC and 500mA charging current */
> - ac {
> - charger-type = "ac";
> - eoc-level = /bits/ 8 <0>;
> - charging-current = /bits/ 8 <4>;
> - };
> -
> - /* USB charger: 10% EOC and 400mA charging current */
> - usb {
> - charger-type = "usb";
> - eoc-level = /bits/ 8 <1>;
> - charging-current = /bits/ 8 <2>;
> - };
> -};
> diff --git a/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml b/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
> new file mode 100644
> index 000000000000..65894b36a69d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/supply/ti,lp8727.yaml
> @@ -0,0 +1,112 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/supply/ti,lp8727.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Binding for TI/National Semiconductor LP8727 Charger
> +
> +maintainers:
> + - Sebastian Reichel <[email protected]>
> +
> +allOf:
> + - $ref: power-supply.yaml#
> +
> +properties:
> + compatible:
> + const: ti,lp8727
> +
> + reg:
> + const: 0x27
> +
> + interrupts:
> + maxItems: 1
> +
> + debounce-ms:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: interrupt debounce time in ms
> +
> + ac:
> + type: object
> + description: AC charging parameters
> + properties:
> + charger-type:
> + const: ac
> +
> + eoc-level:
> + $ref: /schemas/types.yaml#/definitions/uint8
> + minimum: 0
> + maximum: 6
> + description: |
> + End of Charge Percentage with the following mapping:
> + 0 = 5%, 1 = 10%, 2 = 16%, 3 = 20%, 4 = 25%, 5 = 33%, 6 = 50%
> +
> + charging-current:
> + $ref: /schemas/types.yaml#/definitions/uint8
> + minimum: 0
> + maximum: 9
> + description: |
> + Charging current with the following mapping:
> + 0 = 90mA, 1 = 100mA, 2 = 400mA, 3 = 450mA, 4 = 500mA, 5 = 600mA,
> + 6 = 700mA, 7 = 800mA, 8 = 900mA, 9 = 1000mA
> +
> + usb:
> + type: object
> + description: USB charging parameters
> + properties:
> + charger-type:
> + const: usb
> +
> + eoc-level:
> + $ref: /schemas/types.yaml#/definitions/uint8
> + minimum: 0
> + maximum: 6
> + description: |
> + End of Charge Percentage with the following mapping:
> + 0 = 5%, 1 = 10%, 2 = 16%, 3 = 20%, 4 = 25%, 5 = 33%, 6 = 50%
> +
> + charging-current:
> + $ref: /schemas/types.yaml#/definitions/uint8
> + minimum: 0
> + maximum: 9
> + description: |
> + Charging current with the following mapping:
> + 0 = 90mA, 1 = 100mA, 2 = 400mA, 3 = 450mA, 4 = 500mA, 5 = 600mA,
> + 6 = 700mA, 7 = 800mA, 8 = 900mA, 9 = 1000mA

You can avoid the duplication here with:

patternProperties:
'^(ac|usb)$':
type: object
...

> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + i2c0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + lp8727: charger@27 {
> + compatible = "ti,lp8727";
> + reg = <0x27>;
> + interrupt-parent = <&gpio5>;
> + interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
> + debounce-ms = <300>;
> +
> + /* AC charger: 5% EOC and 500mA charging current */
> + ac {
> + charger-type = "ac";
> + eoc-level = /bits/ 8 <0>;
> + charging-current = /bits/ 8 <4>;
> + };
> +
> + /* USB charger: 10% EOC and 400mA charging current */
> + usb {
> + charger-type = "usb";
> + eoc-level = /bits/ 8 <1>;
> + charging-current = /bits/ 8 <2>;
> + };
> + };
> + };
> +
> --
> 2.30.1
>

2021-03-16 02:36:30

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 00/38] Convert power-supply DT bindings to YAML

On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
<[email protected]> wrote:
>
> Hi,
>
> I keep getting patches for existing drivers, that modify DT behaviour
> without updating the binding file. Let's move everything to DT schema
> files, so that this can easily be cached automatically by dtbs_check.
>
> After this series only three bindings are left unconverted:
>
> 1. max8925_battery.txt
> This describes a node below the PMIC, which does not have its own
> compatible value. It needs to be described in the PMIC binding
> file, which has not yet been converted.
>
> 2. stericsson,ab8500-battery.txt
> This also describes a node below the PMIC, which does not have
> its own compatible value. The same applies.
>
> 3. charger-manager.txt
> This is far more complex to convert than the other files, due
> to the 'cm-regulator-name' / "<>-supply" thing. I skipped it
> for now.
>
> I tested the series using dt-validate 2021.3.dev6+g38efe3f and nothing
> is reported when running dtbs_check like this:
>
> make -s -j42 dtbs_check DT_SCHEMA_FILES="Documentation/devicetree/bindings/power/supply/*.yaml"
>
> Also nothing is reported when checking the power-supply binding files
> like this:
>
> for file in Documentation/devicetree/bindings/power/supply/*yaml ; do
> make -s -j42 dt_binding_check DT_SCHEMA_FILES=$file ;
> done
>
> This is also available as 'psy-yaml-binding' branch from my repository:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git
>
> Thanks for reviewing it,

Thanks for doing this. Other than the couple of things I pointed out,
looks good overall.

Rob

2021-03-16 17:21:15

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH 04/38] dt-bindings: power: supply: bq25890: Convert to DT schema format

Hi,

On Mon, Mar 15, 2021 at 12:21:34PM -0600, Rob Herring wrote:
> On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
> <[email protected]> wrote:
> > + ti,ibatcomp-clamp-microvolt:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + description: max. charging voltage adjustment due to expected voltage drop on in-series resistor
>
> You don't need a type $ref on properties with a standard unit suffix.
> Though it looks like there's some non-standard ones (-microvolts) in
> the series.

Ok. Unfortunately most properties in this series use non-standard
ones :(. Newer bindings using common properties have already been
written in YAML and/or make use of simple-battery.

Can we have a warning for this in the dt_binding_check? Maybe
something like

superfluous $ref for property with standard suffix

-- Sebastian


Attachments:
(No filename) (869.00 B)
signature.asc (849.00 B)
Download all attachments

2021-03-16 20:51:20

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH 16/38] dt-bindings: power: supply: tps65217: Convert to DT schema format

Hi Rob,

On Mon, Mar 15, 2021 at 12:33:23PM -0600, Rob Herring wrote:
> On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
> <[email protected]> wrote:
> > + interrupts:
> > + minItems: 2
> > + maxItems: 2
>
> We've lost info that was in the original binding. You could do
> something like this:
>
> items:
> - description: USB charger
> const: 0
> - description: AC charger
> const: 1
>
> (Usually the interrupt values would be out of scope of the binding,
> but I guess here it makes some sense.)

I initially did this, but it did not work. I see the following for
dt_binding_check (dtbs_check triggers the same):

Documentation/devicetree/bindings/power/supply/tps65217-charger.example.dt.yaml: charger: interrupts:0: [0] is too short
From schema: Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
Documentation/devicetree/bindings/power/supply/tps65217-charger.example.dt.yaml: charger: interrupts: [[0], [1]] is too long
From schema: Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
Documentation/devicetree/bindings/power/supply/tps65217-charger.example.dt.yaml: charger: interrupts: Additional items are not allowed ([1] was unexpected)
From schema: Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml

Seemed to be a limitation in the validation tool, so I just dropped
the extra information. If we do not want to loose information I can
add it to the description, or should the validation tool be fixed?
I suppose it's kind of unusual, that the binding can provide the
interrupt line numbers.

-- Sebastian


Attachments:
(No filename) (1.61 kB)
signature.asc (849.00 B)
Download all attachments

2021-03-16 20:52:40

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH 08/38] dt-bindings: power: supply: bq24735: Convert to DT schema format

Hi,

On Mon, Mar 15, 2021 at 12:24:09PM -0600, Rob Herring wrote:
> On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
> > + poll-interval:
> > + description: |
> > + If 'interrupts' is not specified, poll AC adapter presence with this interval (milliseconds).
>
> Needs a type.

Ack. Just out of curiousity: Do you know why this was not pointed
out by dt_binding_check?

-- Sebastian


Attachments:
(No filename) (408.00 B)
signature.asc (849.00 B)
Download all attachments

2021-03-16 21:12:53

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 08/38] dt-bindings: power: supply: bq24735: Convert to DT schema format

On Tue, Mar 16, 2021 at 10:22 AM Sebastian Reichel
<[email protected]> wrote:
>
> Hi,
>
> On Mon, Mar 15, 2021 at 12:24:09PM -0600, Rob Herring wrote:
> > On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
> > > + poll-interval:
> > > + description: |
> > > + If 'interrupts' is not specified, poll AC adapter presence with this interval (milliseconds).
> >
> > Needs a type.
>
> Ack. Just out of curiousity: Do you know why this was not pointed
> out by dt_binding_check?

There's not really any way we can because there's not a pattern to
match on. So we'd have to do a specific meta-schema for
'poll-interval'. Though maybe we could restructure things to provide a
meta-schema for anything that isn't a common, known property name or a
vendor property.

Rob

2021-03-16 21:16:43

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 04/38] dt-bindings: power: supply: bq25890: Convert to DT schema format

On Tue, Mar 16, 2021 at 10:46 AM Sebastian Reichel
<[email protected]> wrote:
>
> Hi,
>
> On Mon, Mar 15, 2021 at 12:21:34PM -0600, Rob Herring wrote:
> > On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
> > <[email protected]> wrote:
> > > + ti,ibatcomp-clamp-microvolt:
> > > + $ref: /schemas/types.yaml#/definitions/uint32
> > > + description: max. charging voltage adjustment due to expected voltage drop on in-series resistor
> >
> > You don't need a type $ref on properties with a standard unit suffix.
> > Though it looks like there's some non-standard ones (-microvolts) in
> > the series.
>
> Ok. Unfortunately most properties in this series use non-standard
> ones :(. Newer bindings using common properties have already been
> written in YAML and/or make use of simple-battery.
>
> Can we have a warning for this in the dt_binding_check? Maybe
> something like

Yeah, I'm working on that.

> superfluous $ref for property with standard suffix

And having more helpful error messages is on my todo, but not much BW
to work on ATM.

Rob

2021-03-16 22:53:57

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 16/38] dt-bindings: power: supply: tps65217: Convert to DT schema format

On Tue, Mar 16, 2021 at 10:20 AM Sebastian Reichel
<[email protected]> wrote:
>
> Hi Rob,
>
> On Mon, Mar 15, 2021 at 12:33:23PM -0600, Rob Herring wrote:
> > On Fri, Mar 12, 2021 at 8:44 AM Sebastian Reichel
> > <[email protected]> wrote:
> > > + interrupts:
> > > + minItems: 2
> > > + maxItems: 2
> >
> > We've lost info that was in the original binding. You could do
> > something like this:
> >
> > items:
> > - description: USB charger
> > const: 0
> > - description: AC charger
> > const: 1
> >
> > (Usually the interrupt values would be out of scope of the binding,
> > but I guess here it makes some sense.)
>
> I initially did this, but it did not work. I see the following for
> dt_binding_check (dtbs_check triggers the same):
>
> Documentation/devicetree/bindings/power/supply/tps65217-charger.example.dt.yaml: charger: interrupts:0: [0] is too short
> From schema: Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
> Documentation/devicetree/bindings/power/supply/tps65217-charger.example.dt.yaml: charger: interrupts: [[0], [1]] is too long
> From schema: Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
> Documentation/devicetree/bindings/power/supply/tps65217-charger.example.dt.yaml: charger: interrupts: Additional items are not allowed ([1] was unexpected)
> From schema: Documentation/devicetree/bindings/power/supply/tps65217-charger.yaml
>
> Seemed to be a limitation in the validation tool, so I just dropped
> the extra information. If we do not want to loose information I can
> add it to the description, or should the validation tool be fixed?
> I suppose it's kind of unusual, that the binding can provide the
> interrupt line numbers.

It is, so let's just leave it as-is.

Rob

2021-03-24 22:07:09

by Chen-Yu Tsai

[permalink] [raw]
Subject: Re: [PATCH 28/38] dt-bindings: power: supply: axp20x: Convert to DT schema format

On Fri, Mar 12, 2021 at 11:52 PM Sebastian Reichel
<[email protected]> wrote:
>
> Convert the binding to DT schema format.
>
> Cc: Chen-Yu Tsai <[email protected]>
> Signed-off-by: Sebastian Reichel <[email protected]>

Looks good to me. Though I'm not well versed in the new YAML binding format yet.

Acked-by: Chen-Yu Tsai <[email protected]>