lkml.org 
[lkml]   [2021]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema
    Date
    Convert the register-bit-led binding to DT schema format.

    As the example just repeats nearly identical nodes, trim it down to a
    few nodes and use some documented values for 'linux,default-trigger'.

    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Rob Herring <robh@kernel.org>

    ---
    v2:
    - Drop undocumented linux,default-trigger values
    ---
    .../bindings/leds/register-bit-led.txt | 94 -------------------
    .../bindings/leds/register-bit-led.yaml | 78 +++++++++++++++
    2 files changed, 78 insertions(+), 94 deletions(-)
    delete mode 100644 Documentation/devicetree/bindings/leds/register-bit-led.txt
    create mode 100644 Documentation/devicetree/bindings/leds/register-bit-led.yaml

    diff --git a/Documentation/devicetree/bindings/leds/register-bit-led.txt b/Documentation/devicetree/bindings/leds/register-bit-led.txt
    deleted file mode 100644
    index c7af6f70a97b..000000000000
    --- a/Documentation/devicetree/bindings/leds/register-bit-led.txt
    +++ /dev/null
    @@ -1,94 +0,0 @@
    -Device Tree Bindings for Register Bit LEDs
    -
    -Register bit leds are used with syscon multifunctional devices
    -where single bits in a certain register can turn on/off a
    -single LED. The register bit LEDs appear as children to the
    -syscon device, with the proper compatible string. For the
    -syscon bindings see:
    -Documentation/devicetree/bindings/mfd/syscon.yaml
    -
    -Each LED is represented as a sub-node of the syscon device. Each
    -node's name represents the name of the corresponding LED.
    -
    -LED sub-node properties:
    -
    -Required properties:
    -- compatible : must be "register-bit-led"
    -- offset : register offset to the register controlling this LED
    -- mask : bit mask for the bit controlling this LED in the register
    - typically 0x01, 0x02, 0x04 ...
    -
    -Optional properties:
    -- label : (optional)
    - see Documentation/devicetree/bindings/leds/common.txt
    -- linux,default-trigger : (optional)
    - see Documentation/devicetree/bindings/leds/common.txt
    -- default-state: (optional) The initial state of the LED
    - see Documentation/devicetree/bindings/leds/common.txt
    -
    -Example:
    -
    -syscon: syscon@10000000 {
    - compatible = "arm,realview-pb1176-syscon", "syscon";
    - reg = <0x10000000 0x1000>;
    -
    - led@8.0 {
    - compatible = "register-bit-led";
    - offset = <0x08>;
    - mask = <0x01>;
    - label = "versatile:0";
    - linux,default-trigger = "heartbeat";
    - default-state = "on";
    - };
    - led@8.1 {
    - compatible = "register-bit-led";
    - offset = <0x08>;
    - mask = <0x02>;
    - label = "versatile:1";
    - linux,default-trigger = "mmc0";
    - default-state = "off";
    - };
    - led@8.2 {
    - compatible = "register-bit-led";
    - offset = <0x08>;
    - mask = <0x04>;
    - label = "versatile:2";
    - linux,default-trigger = "cpu0";
    - default-state = "off";
    - };
    - led@8.3 {
    - compatible = "register-bit-led";
    - offset = <0x08>;
    - mask = <0x08>;
    - label = "versatile:3";
    - default-state = "off";
    - };
    - led@8.4 {
    - compatible = "register-bit-led";
    - offset = <0x08>;
    - mask = <0x10>;
    - label = "versatile:4";
    - default-state = "off";
    - };
    - led@8.5 {
    - compatible = "register-bit-led";
    - offset = <0x08>;
    - mask = <0x20>;
    - label = "versatile:5";
    - default-state = "off";
    - };
    - led@8.6 {
    - compatible = "register-bit-led";
    - offset = <0x08>;
    - mask = <0x40>;
    - label = "versatile:6";
    - default-state = "off";
    - };
    - led@8.7 {
    - compatible = "register-bit-led";
    - offset = <0x08>;
    - mask = <0x80>;
    - label = "versatile:7";
    - default-state = "off";
    - };
    -};
    diff --git a/Documentation/devicetree/bindings/leds/register-bit-led.yaml b/Documentation/devicetree/bindings/leds/register-bit-led.yaml
    new file mode 100644
    index 000000000000..77ba0b824c15
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/leds/register-bit-led.yaml
    @@ -0,0 +1,78 @@
    +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    +%YAML 1.2
    +---
    +$id: http://devicetree.org/schemas/leds/register-bit-led.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: Device Tree Bindings for Register Bit LEDs
    +
    +maintainers:
    + - Linus Walleij <linus.walleij@linaro.org>
    +
    +description: |+
    + Register bit leds are used with syscon multifunctional devices where single
    + bits in a certain register can turn on/off a single LED. The register bit LEDs
    + appear as children to the syscon device, with the proper compatible string.
    + For the syscon bindings see:
    + Documentation/devicetree/bindings/mfd/syscon.yaml
    +
    +allOf:
    + - $ref: /schemas/leds/common.yaml#
    +
    +properties:
    + compatible:
    + const: register-bit-led
    +
    + mask:
    + description:
    + bit mask for the bit controlling this LED in the register
    + $ref: /schemas/types.yaml#/definitions/uint32
    + enum:
    + [ 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, 0x800,
    + 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000, 0x40000, 0x80000,
    + 0x100000, 0x200000, 0x400000, 0x800000, 0x1000000, 0x2000000, 0x4000000,
    + 0x8000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000 ]
    +
    + offset:
    + description:
    + register offset to the register controlling this LED
    + $ref: /schemas/types.yaml#/definitions/uint32
    +
    +required:
    + - compatible
    + - mask
    + - offset
    +
    +unevaluatedProperties: false
    +
    +examples:
    + - |
    +
    + syscon@10000000 {
    + compatible = "arm,realview-pb1176-syscon", "syscon";
    + reg = <0x10000000 0x1000>;
    +
    + led@8.0 {
    + compatible = "register-bit-led";
    + offset = <0x08>;
    + mask = <0x01>;
    + label = "versatile:0";
    + linux,default-trigger = "heartbeat";
    + default-state = "on";
    + };
    + led@8.1 {
    + compatible = "register-bit-led";
    + offset = <0x08>;
    + mask = <0x02>;
    + label = "versatile:1";
    + default-state = "off";
    + };
    + led@8.2 {
    + compatible = "register-bit-led";
    + offset = <0x08>;
    + mask = <0x04>;
    + label = "versatile:2";
    + default-state = "off";
    + };
    + };
    +...
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-09-13 21:29    [W:4.872 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site