Commit 37f86649 authored by Rob Herring's avatar Rob Herring
Browse files

dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset'



'reg' is the standard property for defining register banks/addresses. Add
it to use for the register address and deprecate 'offset'. This also
allows for using standard node names with unit-addresses. However, since
it is quite possible to have multiple nodes at the same register
address, allow for the unit-address to optionally have the bit
offset. The unit-address format is '@<reg address>[,<bit offset>]'. This
matches the format recently added for nvmem binding which has the same
issue.

Cc: Pavel Machek <pavel@ucw.cz>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-leds@vger.kernel.org
Signed-off-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210913192816.1225025-3-robh@kernel.org


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 604e4e44
Loading
Loading
Loading
Loading
+21 −4
Original line number Diff line number Diff line
@@ -20,9 +20,19 @@ allOf:
  - $ref: /schemas/leds/common.yaml#

properties:
  $nodename:
    description:
      The unit-address is in the form of @<reg addr>,<bit offset>
    pattern: '^led@[0-9a-f]+,[0-9a-f]{1,2}$'

  compatible:
    const: register-bit-led

  reg:
    description:
      The register address and size
    maxItems: 1

  mask:
    description:
      bit mask for the bit controlling this LED in the register
@@ -37,11 +47,12 @@ properties:
    description:
      register offset to the register controlling this LED
    $ref: /schemas/types.yaml#/definitions/uint32
    deprecated: true

required:
  - compatible
  - mask
  - offset
  - reg

unevaluatedProperties: false

@@ -51,24 +62,30 @@ examples:
    syscon@10000000 {
        compatible = "arm,realview-pb1176-syscon", "syscon";
        reg = <0x10000000 0x1000>;
        #address-cells = <1>;
        #size-cells = <1>;
        ranges = <0x0 0x10000000 0x1000>;

        led@8.0 {
        led@8,0 {
            compatible = "register-bit-led";
            reg = <0x08 0x04>;
            offset = <0x08>;
            mask = <0x01>;
            label = "versatile:0";
            linux,default-trigger = "heartbeat";
            default-state = "on";
        };
        led@8.1 {
        led@8,1 {
            compatible = "register-bit-led";
            reg = <0x08 0x04>;
            offset = <0x08>;
            mask = <0x02>;
            label = "versatile:1";
            default-state = "off";
        };
        led@8.2 {
        led@8,2 {
            compatible = "register-bit-led";
            reg = <0x08 0x04>;
            offset = <0x08>;
            mask = <0x04>;
            label = "versatile:2";