[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_JsqL59Lq5=x-kxpjBwa3dactNVnhXbDPWTPe965DPOs-bWw@mail.gmail.com>
Date: Mon, 15 Mar 2021 12:37:50 -0600
From: Rob Herring <robh+dt@...nel.org>
To: Sebastian Reichel <sebastian.reichel@...labora.com>
Cc: Sebastian Reichel <sre@...nel.org>,
"open list:THERMAL" <linux-pm@...r.kernel.org>,
devicetree@...r.kernel.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Collabora Kernel ML <kernel@...labora.com>
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
<sebastian.reichel@...labora.com> wrote:
>
> Convert the binding to DT schema format.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@...labora.com>
> ---
> .../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@...nel.org>
> +
> +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
>
Powered by blists - more mailing lists