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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
>



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux