On Fri, Mar 12, 2021 at 8:52 AM Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> wrote: > > Convert the binding to DT schema format. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> > --- > .../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 <sre@xxxxxxxxxx> > + > +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 >