From: Rob Herring <robh@kernel.org> To: Linus Walleij <linus.walleij@linaro.org>, Stephen Boyd <sboyd@kernel.org>, Pavel Machek <pavel@ucw.cz> Cc: Liviu Dudau <liviu.dudau@arm.com>, Sudeep Holla <sudeep.holla@arm.com>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org Subject: [PATCH 2/8] dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset' Date: Thu, 9 Sep 2021 16:31:12 -0500 [thread overview] Message-ID: <20210909213118.1087083-3-robh@kernel.org> (raw) In-Reply-To: <20210909213118.1087083-1-robh@kernel.org> '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: Rob Herring <robh@kernel.org> --- .../bindings/leds/register-bit-led.yaml | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/leds/register-bit-led.yaml b/Documentation/devicetree/bindings/leds/register-bit-led.yaml index 4a5bb0aa5f27..404ac75e1dc4 100644 --- a/Documentation/devicetree/bindings/leds/register-bit-led.yaml +++ b/Documentation/devicetree/bindings/leds/register-bit-led.yaml @@ -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,25 +62,31 @@ 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"; linux,default-trigger = "mmc0"; default-state = "off"; }; - led@8.2 { + led@8,2 { compatible = "register-bit-led"; + reg = <0x08 0x04>; offset = <0x08>; mask = <0x04>; label = "versatile:2"; -- 2.30.2
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org> To: Linus Walleij <linus.walleij@linaro.org>, Stephen Boyd <sboyd@kernel.org>, Pavel Machek <pavel@ucw.cz> Cc: Liviu Dudau <liviu.dudau@arm.com>, Sudeep Holla <sudeep.holla@arm.com>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org Subject: [PATCH 2/8] dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset' Date: Thu, 9 Sep 2021 16:31:12 -0500 [thread overview] Message-ID: <20210909213118.1087083-3-robh@kernel.org> (raw) In-Reply-To: <20210909213118.1087083-1-robh@kernel.org> '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: Rob Herring <robh@kernel.org> --- .../bindings/leds/register-bit-led.yaml | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/leds/register-bit-led.yaml b/Documentation/devicetree/bindings/leds/register-bit-led.yaml index 4a5bb0aa5f27..404ac75e1dc4 100644 --- a/Documentation/devicetree/bindings/leds/register-bit-led.yaml +++ b/Documentation/devicetree/bindings/leds/register-bit-led.yaml @@ -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,25 +62,31 @@ 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"; linux,default-trigger = "mmc0"; default-state = "off"; }; - led@8.2 { + led@8,2 { compatible = "register-bit-led"; + reg = <0x08 0x04>; offset = <0x08>; mask = <0x04>; label = "versatile:2"; -- 2.30.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-09-09 21:31 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-09 21:31 [PATCH 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring 2021-09-09 21:31 ` Rob Herring 2021-09-09 21:31 ` [PATCH 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema Rob Herring 2021-09-09 21:31 ` Rob Herring 2021-09-09 21:31 ` Rob Herring [this message] 2021-09-09 21:31 ` [PATCH 2/8] dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset' Rob Herring 2021-09-09 21:31 ` [PATCH 3/8] leds: syscon: Support 'reg' in addition to 'offset' for register address Rob Herring 2021-09-09 21:31 ` Rob Herring 2021-09-09 21:31 ` [PATCH 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO " Rob Herring 2021-09-09 21:31 ` [PATCH 4/8] dt-bindings: clock: arm, syscon-icst: " Rob Herring 2021-09-10 13:11 ` [PATCH 4/8] dt-bindings: clock: arm,syscon-icst: " Rob Herring 2021-09-10 13:11 ` Rob Herring 2021-09-09 21:31 ` [PATCH 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for " Rob Herring 2021-09-09 21:31 ` Rob Herring 2021-09-09 21:31 ` [PATCH 6/8] ARM: dts: arm: Update register-bit-led nodes 'reg' and node names Rob Herring 2021-09-09 21:31 ` Rob Herring 2021-09-14 8:25 ` Sudeep Holla 2021-09-14 8:25 ` Sudeep Holla 2021-09-17 23:41 ` Linus Walleij 2021-09-17 23:41 ` Linus Walleij 2021-09-09 21:31 ` [PATCH 7/8] ARM: dts: arm: Update ICST clock " Rob Herring 2021-09-09 21:31 ` Rob Herring 2021-09-09 21:31 ` [PATCH 8/8] kbuild: Enable dtc 'unit_address_format' warning by default Rob Herring 2021-09-09 21:31 ` Rob Herring 2021-09-10 0:27 ` Masahiro Yamada 2021-09-10 0:27 ` Masahiro Yamada
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210909213118.1087083-3-robh@kernel.org \ --to=robh@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-clk@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-leds@vger.kernel.org \ --cc=liviu.dudau@arm.com \ --cc=lorenzo.pieralisi@arm.com \ --cc=pavel@ucw.cz \ --cc=sboyd@kernel.org \ --cc=sudeep.holla@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.