linux-leds.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups
@ 2021-09-13 19:28 Rob Herring
  2021-09-13 19:28 ` [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema Rob Herring
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Rob Herring @ 2021-09-13 19:28 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds

This series addresses the last of the dtc 'unit_address_format'
warnings in the tree.

The remaining issue was dealing with the node names on 2 bindings for
Arm Ltd boards syscon child nodes: register-bit-led and Versatile ICST.
Both of these used an offset property for register address rather than
'reg' which is the preference nowadays. With a 'reg' property, then we
can have a proper node name and unit-address. This series adds support
for using 'reg' instead and updates the node names and unit-addresses.

The dts file changes have inter-dependencies, but the clock and led
changes can go via each subsystem.

Rob


Rob Herring (8):
  dt-bindings: leds: Convert register-bit-led binding to DT schema
  dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset'
  leds: syscon: Support 'reg' in addition to 'offset' for register
    address
  dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset'
    for VCO register address
  clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset'
    for register address
  ARM: dts: arm: Update register-bit-led nodes 'reg' and node names
  ARM: dts: arm: Update ICST clock nodes 'reg' and node names
  kbuild: Enable dtc 'unit_address_format' warning by default

 .../bindings/clock/arm,syscon-icst.yaml       |  5 +
 .../bindings/leds/register-bit-led.txt        | 94 ------------------
 .../bindings/leds/register-bit-led.yaml       | 95 +++++++++++++++++++
 arch/arm/boot/dts/arm-realview-eb.dtsi        | 42 +++++---
 arch/arm/boot/dts/arm-realview-pb1176.dts     | 42 +++++---
 arch/arm/boot/dts/arm-realview-pb11mp.dts     | 48 +++++++---
 arch/arm/boot/dts/arm-realview-pbx.dtsi       | 42 +++++---
 arch/arm/boot/dts/integrator.dtsi             | 23 +++--
 arch/arm/boot/dts/integratorap-im-pd1.dts     |  9 +-
 arch/arm/boot/dts/integratorap.dts            | 15 ++-
 arch/arm/boot/dts/integratorcp.dts            |  9 +-
 arch/arm/boot/dts/mps2.dtsi                   | 10 +-
 arch/arm/boot/dts/versatile-ab-ib2.dts        |  6 +-
 arch/arm/boot/dts/versatile-ab.dts            | 27 ++++--
 arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 27 ++++--
 drivers/clk/versatile/clk-icst.c              |  3 +-
 drivers/leds/leds-syscon.c                    |  3 +-
 scripts/Makefile.lib                          |  1 -
 18 files changed, 316 insertions(+), 185 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/leds/register-bit-led.txt
 create mode 100644 Documentation/devicetree/bindings/leds/register-bit-led.yaml

-- 
2.30.2


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema
  2021-09-13 19:28 [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
@ 2021-09-13 19:28 ` Rob Herring
  2021-09-13 22:41   ` Linus Walleij
  2021-10-13 22:22   ` Rob Herring
  2021-09-13 19:28 ` [PATCH v2 2/8] dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset' Rob Herring
                   ` (7 subsequent siblings)
  8 siblings, 2 replies; 23+ messages in thread
From: Rob Herring @ 2021-09-13 19:28 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds

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


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 2/8] dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset'
  2021-09-13 19:28 [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
  2021-09-13 19:28 ` [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema Rob Herring
@ 2021-09-13 19:28 ` Rob Herring
  2021-10-13 22:22   ` Rob Herring
  2021-09-13 19:28 ` [PATCH v2 3/8] leds: syscon: Support 'reg' in addition to 'offset' for register address Rob Herring
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Rob Herring @ 2021-09-13 19:28 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds

'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 77ba0b824c15..79b8fc0f9d23 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,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";
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 3/8] leds: syscon: Support 'reg' in addition to 'offset' for register address
  2021-09-13 19:28 [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
  2021-09-13 19:28 ` [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema Rob Herring
  2021-09-13 19:28 ` [PATCH v2 2/8] dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset' Rob Herring
@ 2021-09-13 19:28 ` Rob Herring
  2021-09-13 19:28 ` [PATCH v2 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO " Rob Herring
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 23+ messages in thread
From: Rob Herring @ 2021-09-13 19:28 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds

The register-bit-led binding now also supports 'reg' in addition to
'offset' for the register address. Add support to the driver to get the
address from 'reg'.

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>
---
 drivers/leds/leds-syscon.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/leds/leds-syscon.c b/drivers/leds/leds-syscon.c
index 7eddb8ecb44e..44e79cdf5c39 100644
--- a/drivers/leds/leds-syscon.c
+++ b/drivers/leds/leds-syscon.c
@@ -81,7 +81,8 @@ static int syscon_led_probe(struct platform_device *pdev)
 
 	sled->map = map;
 
-	if (of_property_read_u32(np, "offset", &sled->offset))
+	if (of_property_read_u32(np, "reg", &sled->offset) &&
+	    of_property_read_u32(np, "offset", &sled->offset))
 		return -EINVAL;
 	if (of_property_read_u32(np, "mask", &sled->mask))
 		return -EINVAL;
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO register address
  2021-09-13 19:28 [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
                   ` (2 preceding siblings ...)
  2021-09-13 19:28 ` [PATCH v2 3/8] leds: syscon: Support 'reg' in addition to 'offset' for register address Rob Herring
@ 2021-09-13 19:28 ` Rob Herring
  2021-09-14 19:58   ` Stephen Boyd
  2021-09-17 23:45   ` Linus Walleij
  2021-09-13 19:28 ` [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for " Rob Herring
                   ` (4 subsequent siblings)
  8 siblings, 2 replies; 23+ messages in thread
From: Rob Herring @ 2021-09-13 19:28 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds,
	Michael Turquette

'reg' is the standard property for defining register banks/addresses. Add
it to use for the VCO register address and deprecate 'vco-offset'. This
will also allow for using standard node names with unit-addresses.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-clk@vger.kernel.org
Cc: Michael Turquette <mturquette@baylibre.com>
Signed-off-by: Rob Herring <robh@kernel.org>

---
v2:
 - Fix 'deprecated'
---
 Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml b/Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
index 118c5543e037..90eadf6869b2 100644
--- a/Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
+++ b/Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
@@ -69,6 +69,10 @@ properties:
       - arm,impd1-vco1
       - arm,impd1-vco2
 
+  reg:
+    maxItems: 1
+    description: The VCO register
+
   clocks:
     description: Parent clock for the ICST VCO
     maxItems: 1
@@ -83,6 +87,7 @@ properties:
   vco-offset:
     $ref: '/schemas/types.yaml#/definitions/uint32'
     description: Offset to the VCO register for the oscillator
+    deprecated: true
 
 required:
   - "#clock-cells"
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address
  2021-09-13 19:28 [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
                   ` (3 preceding siblings ...)
  2021-09-13 19:28 ` [PATCH v2 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO " Rob Herring
@ 2021-09-13 19:28 ` Rob Herring
  2021-09-14 19:59   ` Stephen Boyd
  2021-09-14 22:13   ` Linus Walleij
  2021-09-13 19:28 ` [PATCH v2 6/8] ARM: dts: arm: Update register-bit-led nodes 'reg' and node names Rob Herring
                   ` (3 subsequent siblings)
  8 siblings, 2 replies; 23+ messages in thread
From: Rob Herring @ 2021-09-13 19:28 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds

The ICST binding now also supports 'reg' in addition to 'vco-offset' for
the VCO register address. Add support to the driver to get the VCO
address from 'reg'.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-clk@vger.kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
---
 drivers/clk/versatile/clk-icst.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/versatile/clk-icst.c b/drivers/clk/versatile/clk-icst.c
index fdd6aa3cb1fc..77fd0ecaf155 100644
--- a/drivers/clk/versatile/clk-icst.c
+++ b/drivers/clk/versatile/clk-icst.c
@@ -501,7 +501,8 @@ static void __init of_syscon_icst_setup(struct device_node *np)
 		return;
 	}
 
-	if (of_property_read_u32(np, "vco-offset", &icst_desc.vco_offset)) {
+	if (of_property_read_u32(np, "reg", &icst_desc.vco_offset) &&
+	    of_property_read_u32(np, "vco-offset", &icst_desc.vco_offset)) {
 		pr_err("no VCO register offset for ICST clock\n");
 		return;
 	}
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 6/8] ARM: dts: arm: Update register-bit-led nodes 'reg' and node names
  2021-09-13 19:28 [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
                   ` (4 preceding siblings ...)
  2021-09-13 19:28 ` [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for " Rob Herring
@ 2021-09-13 19:28 ` Rob Herring
  2021-10-21 21:15   ` Rob Herring
  2021-09-13 19:28 ` [PATCH v2 7/8] ARM: dts: arm: Update ICST clock " Rob Herring
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Rob Herring @ 2021-09-13 19:28 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds

Add a 'reg' entry for register-bit-led nodes on the Arm Ltd platforms.
The 'reg' entry is the LED control register address. With this, the node
name can be updated to use a generic node name, 'led', and a
unit-address.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm/boot/dts/arm-realview-eb.dtsi        | 27 +++++++++++++------
 arch/arm/boot/dts/arm-realview-pb1176.dts     | 27 +++++++++++++------
 arch/arm/boot/dts/arm-realview-pb11mp.dts     | 27 +++++++++++++------
 arch/arm/boot/dts/arm-realview-pbx.dtsi       | 27 +++++++++++++------
 arch/arm/boot/dts/integrator.dtsi             | 23 +++++++++++-----
 arch/arm/boot/dts/mps2.dtsi                   | 10 +++++--
 arch/arm/boot/dts/versatile-ab-ib2.dts        |  6 ++++-
 arch/arm/boot/dts/versatile-ab.dts            | 27 +++++++++++++------
 arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 27 +++++++++++++------
 9 files changed, 144 insertions(+), 57 deletions(-)

diff --git a/arch/arm/boot/dts/arm-realview-eb.dtsi b/arch/arm/boot/dts/arm-realview-eb.dtsi
index 04e8a27ba1eb..56441ef08a55 100644
--- a/arch/arm/boot/dts/arm-realview-eb.dtsi
+++ b/arch/arm/boot/dts/arm-realview-eb.dtsi
@@ -198,61 +198,72 @@ fpga {
 		syscon: syscon@10000000 {
 			compatible = "arm,realview-eb-syscon", "syscon", "simple-mfd";
 			reg = <0x10000000 0x1000>;
+			ranges = <0x0 0x10000000 0x1000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 
-			led@08.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@08.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@08.2 {
+			led@8,2 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x04>;
 				label = "versatile:2";
 				linux,default-trigger = "cpu0";
 				default-state = "off";
 			};
-			led@08.3 {
+			led@8,3 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x08>;
 				label = "versatile:3";
 				default-state = "off";
 			};
-			led@08.4 {
+			led@8,4 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x10>;
 				label = "versatile:4";
 				default-state = "off";
 			};
-			led@08.5 {
+			led@8,5 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x20>;
 				label = "versatile:5";
 				default-state = "off";
 			};
-			led@08.6 {
+			led@8,6 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x40>;
 				label = "versatile:6";
 				default-state = "off";
 			};
-			led@08.7 {
+			led@8,7 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x80>;
 				label = "versatile:7";
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 366687fb1ee3..df71ee27294d 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -216,61 +216,72 @@ soc {
 		syscon: syscon@10000000 {
 			compatible = "arm,realview-pb1176-syscon", "syscon", "simple-mfd";
 			reg = <0x10000000 0x1000>;
+			ranges = <0x0 0x10000000 0x1000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 
-			led@08.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@08.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@08.2 {
+			led@8,2 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x04>;
 				label = "versatile:2";
 				linux,default-trigger = "cpu0";
 				default-state = "off";
 			};
-			led@08.3 {
+			led@8,3 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x08>;
 				label = "versatile:3";
 				default-state = "off";
 			};
-			led@08.4 {
+			led@8,4 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x10>;
 				label = "versatile:4";
 				default-state = "off";
 			};
-			led@08.5 {
+			led@8,5 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x20>;
 				label = "versatile:5";
 				default-state = "off";
 			};
-			led@08.6 {
+			led@8,6 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x40>;
 				label = "versatile:6";
 				default-state = "off";
 			};
-			led@08.7 {
+			led@8,7 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x80>;
 				label = "versatile:7";
diff --git a/arch/arm/boot/dts/arm-realview-pb11mp.dts b/arch/arm/boot/dts/arm-realview-pb11mp.dts
index 228a51a38f95..54d4cbd10bdf 100644
--- a/arch/arm/boot/dts/arm-realview-pb11mp.dts
+++ b/arch/arm/boot/dts/arm-realview-pb11mp.dts
@@ -303,64 +303,75 @@ soc {
 		pb11mp_syscon: syscon@10000000 {
 			compatible = "arm,realview-pb11mp-syscon", "syscon", "simple-mfd";
 			reg = <0x10000000 0x1000>;
+			ranges = <0x0 0x10000000 0x1000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 
-			led@08.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@08.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@08.2 {
+			led@8,2 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x04>;
 				label = "versatile:2";
 				linux,default-trigger = "cpu0";
 				default-state = "off";
 			};
-			led@08.3 {
+			led@8,3 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x08>;
 				label = "versatile:3";
 				linux,default-trigger = "cpu1";
 				default-state = "off";
 			};
-			led@08.4 {
+			led@8,4 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x10>;
 				label = "versatile:4";
 				linux,default-trigger = "cpu2";
 				default-state = "off";
 			};
-			led@08.5 {
+			led@8,5 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x20>;
 				label = "versatile:5";
 				linux,default-trigger = "cpu3";
 				default-state = "off";
 			};
-			led@08.6 {
+			led@8,6 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x40>;
 				label = "versatile:6";
 				default-state = "off";
 			};
-			led@08.7 {
+			led@8,7 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x80>;
 				label = "versatile:7";
diff --git a/arch/arm/boot/dts/arm-realview-pbx.dtsi b/arch/arm/boot/dts/arm-realview-pbx.dtsi
index ccf6f756b6ed..9366fecc699b 100644
--- a/arch/arm/boot/dts/arm-realview-pbx.dtsi
+++ b/arch/arm/boot/dts/arm-realview-pbx.dtsi
@@ -220,61 +220,72 @@ soc: soc {
 		syscon: syscon@10000000 {
 			compatible = "arm,realview-pbx-syscon", "syscon", "simple-mfd";
 			reg = <0x10000000 0x1000>;
+			ranges = <0x0 0x10000000 0x1000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 
-			led@08.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@08.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@08.2 {
+			led@8,2 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x04>;
 				label = "versatile:2";
 				linux,default-trigger = "cpu0";
 				default-state = "off";
 			};
-			led@08.3 {
+			led@8,3 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x08>;
 				label = "versatile:3";
 				default-state = "off";
 			};
-			led@08.4 {
+			led@8,4 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x10>;
 				label = "versatile:4";
 				default-state = "off";
 			};
-			led@08.5 {
+			led@8,5 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x20>;
 				label = "versatile:5";
 				default-state = "off";
 			};
-			led@08.6 {
+			led@8,6 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x40>;
 				label = "versatile:6";
 				default-state = "off";
 			};
-			led@08.7 {
+			led@8,7 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x80>;
 				label = "versatile:7";
diff --git a/arch/arm/boot/dts/integrator.dtsi b/arch/arm/boot/dts/integrator.dtsi
index 602f74d2c758..ad868cfebc94 100644
--- a/arch/arm/boot/dts/integrator.dtsi
+++ b/arch/arm/boot/dts/integrator.dtsi
@@ -15,10 +15,14 @@ memory {
 	core-module@10000000 {
 		compatible = "arm,core-module-integrator", "syscon", "simple-mfd";
 		reg = <0x10000000 0x200>;
+		ranges = <0x0 0x10000000 0x200>;
+		#address-cells = <1>;
+		#size-cells = <1>;
 
 		/* Use core module LED to indicate CPU load */
-		led@c.0 {
+		led@c,0 {
 			compatible = "register-bit-led";
+			reg = <0x0c 0x04>;
 			offset = <0x0c>;
 			mask = <0x01>;
 			label = "integrator:core_module";
@@ -104,35 +108,42 @@ kmi@19000000 {
 			interrupts = <4>;
 		};
 
-		syscon {
+		syscon@1a000000 {
 			/* Debug registers mapped as syscon */
 			compatible = "syscon", "simple-mfd";
 			reg = <0x1a000000 0x10>;
+			ranges = <0x0 0x1a000000 0x10>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 
-			led@4.0 {
+			led@4,0 {
 				compatible = "register-bit-led";
+				reg = <0x04 0x04>;
 				offset = <0x04>;
 				mask = <0x01>;
 				label = "integrator:green0";
 				linux,default-trigger = "heartbeat";
 				default-state = "on";
 			};
-			led@4.1 {
+			led@4,1 {
 				compatible = "register-bit-led";
+				reg = <0x04 0x04>;
 				offset = <0x04>;
 				mask = <0x02>;
 				label = "integrator:yellow";
 				default-state = "off";
 			};
-			led@4.2 {
+			led@4,2 {
 				compatible = "register-bit-led";
+				reg = <0x04 0x04>;
 				offset = <0x04>;
 				mask = <0x04>;
 				label = "integrator:red";
 				default-state = "off";
 			};
-			led@4.3 {
+			led@4,3 {
 				compatible = "register-bit-led";
+				reg = <0x04 0x04>;
 				offset = <0x04>;
 				mask = <0x08>;
 				label = "integrator:green1";
diff --git a/arch/arm/boot/dts/mps2.dtsi b/arch/arm/boot/dts/mps2.dtsi
index 37f5023f529c..b99577d411b1 100644
--- a/arch/arm/boot/dts/mps2.dtsi
+++ b/arch/arm/boot/dts/mps2.dtsi
@@ -216,8 +216,13 @@ fpgaio@8000 {
 			compatible = "syscon", "simple-mfd";
 			reg = <0x8000 0x10>;
 
-			led0 {
+			ranges = <0x0 0x8000 0x10>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			led@0,0 {
 				compatible = "register-bit-led";
+				reg = <0x00 0x04>;
 				offset = <0x0>;
 				mask = <0x01>;
 				label = "userled:0";
@@ -225,8 +230,9 @@ led0 {
 				default-state = "on";
 			};
 
-			led1 {
+			led@0,1 {
 				compatible = "register-bit-led";
+				reg = <0x00 0x04>;
 				offset = <0x0>;
 				mask = <0x02>;
 				label = "userled:1";
diff --git a/arch/arm/boot/dts/versatile-ab-ib2.dts b/arch/arm/boot/dts/versatile-ab-ib2.dts
index c577ff4bb4be..7ebb0dfd0467 100644
--- a/arch/arm/boot/dts/versatile-ab-ib2.dts
+++ b/arch/arm/boot/dts/versatile-ab-ib2.dts
@@ -13,9 +13,13 @@ / {
 	syscon@27000000 {
 		compatible = "arm,versatile-ib2-syscon", "syscon", "simple-mfd";
 		reg = <0x27000000 0x4>;
+		ranges = <0x0 0x27000000 0x4>;
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-		led@00.4 {
+		led@0,4 {
 			compatible = "register-bit-led";
+			reg = <0x00 0x04>;
 			offset = <0x00>;
 			mask = <0x10>;
 			label = "versatile-ib2:0";
diff --git a/arch/arm/boot/dts/versatile-ab.dts b/arch/arm/boot/dts/versatile-ab.dts
index 151c0220047d..79f7cc241282 100644
--- a/arch/arm/boot/dts/versatile-ab.dts
+++ b/arch/arm/boot/dts/versatile-ab.dts
@@ -70,61 +70,72 @@ vga_con_in: endpoint {
 	core-module@10000000 {
 		compatible = "arm,core-module-versatile", "syscon", "simple-mfd";
 		reg = <0x10000000 0x200>;
+		ranges = <0x0 0x10000000 0x200>;
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-		led@08.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@08.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@08.2 {
+		led@8,2 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x04>;
 			label = "versatile:2";
 			linux,default-trigger = "cpu0";
 			default-state = "off";
 		};
-		led@08.3 {
+		led@8,3 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x08>;
 			label = "versatile:3";
 			default-state = "off";
 		};
-		led@08.4 {
+		led@8,4 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x10>;
 			label = "versatile:4";
 			default-state = "off";
 		};
-		led@08.5 {
+		led@8,5 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x20>;
 			label = "versatile:5";
 			default-state = "off";
 		};
-		led@08.6 {
+		led@8,6 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x40>;
 			label = "versatile:6";
 			default-state = "off";
 		};
-		led@08.7 {
+		led@8,7 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x80>;
 			label = "versatile:7";
diff --git a/arch/arm64/boot/dts/arm/juno-motherboard.dtsi b/arch/arm64/boot/dts/arm/juno-motherboard.dtsi
index 40d95c58b55e..f7afb8faf5de 100644
--- a/arch/arm64/boot/dts/arm/juno-motherboard.dtsi
+++ b/arch/arm64/boot/dts/arm/juno-motherboard.dtsi
@@ -153,64 +153,75 @@ v2m_sysctl: sysctl@20000 {
 				apbregs@10000 {
 					compatible = "syscon", "simple-mfd";
 					reg = <0x010000 0x1000>;
+					ranges = <0x0 0x10000 0x1000>;
+					#address-cells = <1>;
+					#size-cells = <1>;
 
-					led0 {
+					led@8,0 {
 						compatible = "register-bit-led";
+						reg = <0x08 0x04>;
 						offset = <0x08>;
 						mask = <0x01>;
 						label = "vexpress:0";
 						linux,default-trigger = "heartbeat";
 						default-state = "on";
 					};
-					led1 {
+					led@8,1 {
 						compatible = "register-bit-led";
+						reg = <0x08 0x04>;
 						offset = <0x08>;
 						mask = <0x02>;
 						label = "vexpress:1";
 						linux,default-trigger = "mmc0";
 						default-state = "off";
 					};
-					led2 {
+					led@8,2 {
 						compatible = "register-bit-led";
+						reg = <0x08 0x04>;
 						offset = <0x08>;
 						mask = <0x04>;
 						label = "vexpress:2";
 						linux,default-trigger = "cpu0";
 						default-state = "off";
 					};
-					led3 {
+					led@8,3 {
 						compatible = "register-bit-led";
+						reg = <0x08 0x04>;
 						offset = <0x08>;
 						mask = <0x08>;
 						label = "vexpress:3";
 						linux,default-trigger = "cpu1";
 						default-state = "off";
 					};
-					led4 {
+					led@8,4 {
 						compatible = "register-bit-led";
+						reg = <0x08 0x04>;
 						offset = <0x08>;
 						mask = <0x10>;
 						label = "vexpress:4";
 						linux,default-trigger = "cpu2";
 						default-state = "off";
 					};
-					led5 {
+					led@8,5 {
 						compatible = "register-bit-led";
+						reg = <0x08 0x04>;
 						offset = <0x08>;
 						mask = <0x20>;
 						label = "vexpress:5";
 						linux,default-trigger = "cpu3";
 						default-state = "off";
 					};
-					led6 {
+					led@8,6 {
 						compatible = "register-bit-led";
+						reg = <0x08 0x04>;
 						offset = <0x08>;
 						mask = <0x40>;
 						label = "vexpress:6";
 						default-state = "off";
 					};
-					led7 {
+					led@8,7 {
 						compatible = "register-bit-led";
+						reg = <0x08 0x04>;
 						offset = <0x08>;
 						mask = <0x80>;
 						label = "vexpress:7";
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 7/8] ARM: dts: arm: Update ICST clock nodes 'reg' and node names
  2021-09-13 19:28 [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
                   ` (5 preceding siblings ...)
  2021-09-13 19:28 ` [PATCH v2 6/8] ARM: dts: arm: Update register-bit-led nodes 'reg' and node names Rob Herring
@ 2021-09-13 19:28 ` Rob Herring
  2021-09-13 19:28 ` [PATCH v2 8/8] kbuild: Enable dtc 'unit_address_format' warning by default Rob Herring
  2021-10-04 16:23 ` [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
  8 siblings, 0 replies; 23+ messages in thread
From: Rob Herring @ 2021-09-13 19:28 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds

Add a 'reg' entry for ICST clock nodes on the Arm Ltd platforms. The 'reg'
entry is the VCO register address. With this, the node name can be updated
to use a generic node name, 'clock-controller', and a unit-address.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm/boot/dts/arm-realview-eb.dtsi    | 15 ++++++++++-----
 arch/arm/boot/dts/arm-realview-pb1176.dts | 15 ++++++++++-----
 arch/arm/boot/dts/arm-realview-pb11mp.dts | 21 ++++++++++++++-------
 arch/arm/boot/dts/arm-realview-pbx.dtsi   | 15 ++++++++++-----
 arch/arm/boot/dts/integratorap-im-pd1.dts |  9 +++++++--
 arch/arm/boot/dts/integratorap.dts        | 15 +++++++++++----
 arch/arm/boot/dts/integratorcp.dts        |  9 ++++++---
 7 files changed, 68 insertions(+), 31 deletions(-)

diff --git a/arch/arm/boot/dts/arm-realview-eb.dtsi b/arch/arm/boot/dts/arm-realview-eb.dtsi
index 56441ef08a55..2dfb32bf9d48 100644
--- a/arch/arm/boot/dts/arm-realview-eb.dtsi
+++ b/arch/arm/boot/dts/arm-realview-eb.dtsi
@@ -269,36 +269,41 @@ led@8,7 {
 				label = "versatile:7";
 				default-state = "off";
 			};
-			oscclk0: osc0@0c {
+			oscclk0: clock-controller@c {
 				compatible = "arm,syscon-icst307";
+				reg = <0x0c 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x0C>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk1: osc1@10 {
+			oscclk1: clock-controller@10 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x10 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x10>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk2: osc2@14 {
+			oscclk2: clock-controller@14 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x14 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x14>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk3: osc3@18 {
+			oscclk3: clock-controller@18 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x18 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x18>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk4: osc4@1c {
+			oscclk4: clock-controller@1c {
 				compatible = "arm,syscon-icst307";
+				reg = <0x1c 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x1c>;
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index df71ee27294d..06b8723b09eb 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -287,36 +287,41 @@ led@8,7 {
 				label = "versatile:7";
 				default-state = "off";
 			};
-			oscclk0: osc0@0c {
+			oscclk0: clock-controller@c {
 				compatible = "arm,syscon-icst307";
+				reg = <0x0c 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x0C>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk1: osc1@10 {
+			oscclk1: clock-controller@10 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x10 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x10>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk2: osc2@14 {
+			oscclk2: clock-controller@14 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x14 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x14>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk3: osc3@18 {
+			oscclk3: clock-controller@18 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x18 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x18>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk4: osc4@1c {
+			oscclk4: clock-controller@1c {
 				compatible = "arm,syscon-icst307";
+				reg = <0x1c 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x1c>;
diff --git a/arch/arm/boot/dts/arm-realview-pb11mp.dts b/arch/arm/boot/dts/arm-realview-pb11mp.dts
index 54d4cbd10bdf..295aef448123 100644
--- a/arch/arm/boot/dts/arm-realview-pb11mp.dts
+++ b/arch/arm/boot/dts/arm-realview-pb11mp.dts
@@ -378,50 +378,57 @@ led@8,7 {
 				default-state = "off";
 			};
 
-			oscclk0: osc0@0c {
+			oscclk0: clock-controller@c {
 				compatible = "arm,syscon-icst307";
+				reg = <0x0c 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x0C>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk1: osc1@10 {
+			oscclk1: clock-controller@10 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x10 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x10>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk2: osc2@14 {
+			oscclk2: clock-controller@14 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x14 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x14>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk3: osc3@18 {
+			oscclk3: clock-controller@18 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x18 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x18>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk4: osc4@1c {
+			oscclk4: clock-controller@1c {
 				compatible = "arm,syscon-icst307";
+				reg = <0x1c 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x1c>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk5: osc5@d4 {
+			oscclk5: clock-controller@d4 {
 				compatible = "arm,syscon-icst307";
+				reg = <0xd4 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0xd4>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk6: osc6@d8 {
+			oscclk6: clock-controller@d8 {
 				compatible = "arm,syscon-icst307";
+				reg = <0xd8 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0xd8>;
diff --git a/arch/arm/boot/dts/arm-realview-pbx.dtsi b/arch/arm/boot/dts/arm-realview-pbx.dtsi
index 9366fecc699b..6f61f968d689 100644
--- a/arch/arm/boot/dts/arm-realview-pbx.dtsi
+++ b/arch/arm/boot/dts/arm-realview-pbx.dtsi
@@ -291,36 +291,41 @@ led@8,7 {
 				label = "versatile:7";
 				default-state = "off";
 			};
-			oscclk0: osc0@0c {
+			oscclk0: clock-controller@c {
 				compatible = "arm,syscon-icst307";
+				reg = <0x0c 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x0C>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk1: osc1@10 {
+			oscclk1: clock-controller@10 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x10 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x10>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk2: osc2@14 {
+			oscclk2: clock-controller@14 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x14 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x14>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk3: osc3@18 {
+			oscclk3: clock-controller@18 {
 				compatible = "arm,syscon-icst307";
+				reg = <0x18 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x18>;
 				clocks = <&xtal24mhz>;
 			};
-			oscclk4: osc4@1c {
+			oscclk4: clock-controller@1c {
 				compatible = "arm,syscon-icst307";
+				reg = <0x1c 0x04>;
 				#clock-cells = <0>;
 				lock-offset = <0x20>;
 				vco-offset = <0x1c>;
diff --git a/arch/arm/boot/dts/integratorap-im-pd1.dts b/arch/arm/boot/dts/integratorap-im-pd1.dts
index 0614f82b808e..d47bfb66d069 100644
--- a/arch/arm/boot/dts/integratorap-im-pd1.dts
+++ b/arch/arm/boot/dts/integratorap-im-pd1.dts
@@ -28,9 +28,13 @@ &lm0 {
 	syscon@0 {
 		compatible = "arm,im-pd1-syscon", "syscon";
 		reg = <0x00000000 0x1000>;
+		ranges;
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-		vco1: vco1-clock {
+		vco1: clock-controller@0 {
 			compatible = "arm,impd1-vco1";
+			reg = <0x00 0x04>;
 			#clock-cells = <0>;
 			lock-offset = <0x08>;
 			vco-offset = <0x00>;
@@ -38,8 +42,9 @@ vco1: vco1-clock {
 			clock-output-names = "IM-PD1-VCO1";
 		};
 
-		vco2: vco2-clock {
+		vco2: clock-controller@4 {
 			compatible = "arm,impd1-vco2";
+			reg = <0x04 0x04>;
 			#clock-cells = <0>;
 			lock-offset = <0x08>;
 			vco-offset = <0x04>;
diff --git a/arch/arm/boot/dts/integratorap.dts b/arch/arm/boot/dts/integratorap.dts
index 67d1f9b24a52..9b652cc27b14 100644
--- a/arch/arm/boot/dts/integratorap.dts
+++ b/arch/arm/boot/dts/integratorap.dts
@@ -88,8 +88,9 @@ cm24mhz: cm24mhz@24M {
 		};
 
 		/* Oscillator on the core module, clocks the CPU core */
-		cmosc: cmosc@24M {
+		cmosc: clock-controller@8 {
 			compatible = "arm,syscon-icst525-integratorap-cm";
+			reg = <0x08 0x04>;
 			#clock-cells = <0>;
 			lock-offset = <0x14>;
 			vco-offset = <0x08>;
@@ -97,8 +98,9 @@ cmosc: cmosc@24M {
 		};
 
 		/* Auxilary oscillator on the core module, 32.369MHz at boot */
-		auxosc: auxosc@24M {
+		auxosc: clock-controller@1c {
 			compatible = "arm,syscon-icst525";
+			reg = <0x1c 0x04>;
 			#clock-cells = <0>;
 			lock-offset = <0x14>;
 			vco-offset = <0x1c>;
@@ -109,13 +111,17 @@ auxosc: auxosc@24M {
 	syscon {
 		compatible = "arm,integrator-ap-syscon", "syscon";
 		reg = <0x11000000 0x100>;
+		ranges = <0x0 0x11000000 0x100>;
+		#size-cells = <1>;
+		#address-cells = <1>;
 
 		/*
 		 * SYSCLK clocks PCIv3 bridge, system controller and the
 		 * logic modules.
 		 */
-		sysclk: apsys@24M {
+		sysclk: clock-controller@4 {
 			compatible = "arm,syscon-icst525-integratorap-sys";
+			reg = <0x04 0x04>;
 			#clock-cells = <0>;
 			lock-offset = <0x1c>;
 			vco-offset = <0x04>;
@@ -123,8 +129,9 @@ sysclk: apsys@24M {
 		};
 
 		/* One-bit control for the PCI bus clock (33 or 25 MHz) */
-		pciclk: pciclk@24M {
+		pciclk: clock-controller@4,8 {
 			compatible = "arm,syscon-icst525-integratorap-pci";
+			reg = <0x04 0x04>;
 			#clock-cells = <0>;
 			lock-offset = <0x1c>;
 			vco-offset = <0x04>;
diff --git a/arch/arm/boot/dts/integratorcp.dts b/arch/arm/boot/dts/integratorcp.dts
index 01fa229e1bd0..38fc7e81bdb6 100644
--- a/arch/arm/boot/dts/integratorcp.dts
+++ b/arch/arm/boot/dts/integratorcp.dts
@@ -92,8 +92,9 @@ cm24mhz: cm24mhz@24M {
 		};
 
 		/* Oscillator on the core module, clocks the CPU core */
-		cmcore: cmosc@24M {
+		cmcore: clock-controller@8 {
 			compatible = "arm,syscon-icst525-integratorcp-cm-core";
+			reg = <0x08 0x04>;
 			#clock-cells = <0>;
 			lock-offset = <0x14>;
 			vco-offset = <0x08>;
@@ -101,8 +102,9 @@ cmcore: cmosc@24M {
 		};
 
 		/* Oscillator on the core module, clocks the memory bus */
-		cmmem: cmosc@24M {
+		cmmem: clock-controller@8,12 {
 			compatible = "arm,syscon-icst525-integratorcp-cm-mem";
+			reg = <0x08 0x04>;
 			#clock-cells = <0>;
 			lock-offset = <0x14>;
 			vco-offset = <0x08>;
@@ -110,8 +112,9 @@ cmmem: cmosc@24M {
 		};
 
 		/* Auxilary oscillator on the core module, clocks the CLCD */
-		auxosc: auxosc@24M {
+		auxosc: clock-controller@1c {
 			compatible = "arm,syscon-icst525";
+			reg = <0x1c 0x04>;
 			#clock-cells = <0>;
 			lock-offset = <0x14>;
 			vco-offset = <0x1c>;
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 8/8] kbuild: Enable dtc 'unit_address_format' warning by default
  2021-09-13 19:28 [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
                   ` (6 preceding siblings ...)
  2021-09-13 19:28 ` [PATCH v2 7/8] ARM: dts: arm: Update ICST clock " Rob Herring
@ 2021-09-13 19:28 ` Rob Herring
  2021-09-14 15:13   ` Nick Desaulniers
  2021-10-04 16:23 ` [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
  8 siblings, 1 reply; 23+ messages in thread
From: Rob Herring @ 2021-09-13 19:28 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds, Michal Marek,
	Nick Desaulniers, linux-kbuild, Masahiro Yamada

With all the 'unit_address_format' warnings fixed, enable the warning by
default.

Cc: Michal Marek <michal.lkml@markovi.net>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: linux-kbuild@vger.kernel.org
Acked-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 scripts/Makefile.lib | 1 -
 1 file changed, 1 deletion(-)

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 54582673fc1a..56d50eb0cd80 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -310,7 +310,6 @@ DTC_FLAGS += -Wno-interrupt_provider
 # Disable noisy checks by default
 ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),)
 DTC_FLAGS += -Wno-unit_address_vs_reg \
-	-Wno-unit_address_format \
 	-Wno-avoid_unnecessary_addr_size \
 	-Wno-alias_paths \
 	-Wno-graph_child_address \
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema
  2021-09-13 19:28 ` [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema Rob Herring
@ 2021-09-13 22:41   ` Linus Walleij
  2021-09-14 16:22     ` Rob Herring
  2021-10-13 22:22   ` Rob Herring
  1 sibling, 1 reply; 23+ messages in thread
From: Linus Walleij @ 2021-09-13 22:41 UTC (permalink / raw)
  To: Rob Herring
  Cc: Stephen Boyd, Pavel Machek, Liviu Dudau, Sudeep Holla,
	Lorenzo Pieralisi, Linux ARM, linux-clk,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Linux LED Subsystem

On Mon, Sep 13, 2021 at 9:28 PM Rob Herring <robh@kernel.org> wrote:

> 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>

Thanks for doing this!

> v2:
>  - Drop undocumented linux,default-trigger values

Will this lead to warnings? People tend to want to use these.

(Possibly we could actually create operating-system independent
triggers that make sense on any system. But it's another can
of worms we don't need to open today.)

> +    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 ]

That's an interesting looking enum :D

But I can't think of anything better, so:
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 8/8] kbuild: Enable dtc 'unit_address_format' warning by default
  2021-09-13 19:28 ` [PATCH v2 8/8] kbuild: Enable dtc 'unit_address_format' warning by default Rob Herring
@ 2021-09-14 15:13   ` Nick Desaulniers
  0 siblings, 0 replies; 23+ messages in thread
From: Nick Desaulniers @ 2021-09-14 15:13 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linus Walleij, Stephen Boyd, Pavel Machek, Liviu Dudau,
	Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel, linux-clk,
	devicetree, linux-kernel, linux-leds, Michal Marek, linux-kbuild,
	Masahiro Yamada

On Mon, Sep 13, 2021 at 12:28 PM Rob Herring <robh@kernel.org> wrote:
>
> With all the 'unit_address_format' warnings fixed, enable the warning by
> default.
>
> Cc: Michal Marek <michal.lkml@markovi.net>
> Cc: Nick Desaulniers <ndesaulniers@google.com>
> Cc: linux-kbuild@vger.kernel.org
> Acked-by: Masahiro Yamada <masahiroy@kernel.org>
> Signed-off-by: Rob Herring <robh@kernel.org>

Acked-by: Nick Desaulniers <ndesaulniers@google.com>

> ---
>  scripts/Makefile.lib | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index 54582673fc1a..56d50eb0cd80 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -310,7 +310,6 @@ DTC_FLAGS += -Wno-interrupt_provider
>  # Disable noisy checks by default
>  ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),)
>  DTC_FLAGS += -Wno-unit_address_vs_reg \
> -       -Wno-unit_address_format \
>         -Wno-avoid_unnecessary_addr_size \
>         -Wno-alias_paths \
>         -Wno-graph_child_address \
> --
> 2.30.2
>


-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema
  2021-09-13 22:41   ` Linus Walleij
@ 2021-09-14 16:22     ` Rob Herring
  0 siblings, 0 replies; 23+ messages in thread
From: Rob Herring @ 2021-09-14 16:22 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Stephen Boyd, Pavel Machek, Liviu Dudau, Sudeep Holla,
	Lorenzo Pieralisi, Linux ARM, linux-clk,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Linux LED Subsystem

On Tue, Sep 14, 2021 at 12:41:31AM +0200, Linus Walleij wrote:
> On Mon, Sep 13, 2021 at 9:28 PM Rob Herring <robh@kernel.org> wrote:
> 
> > 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>
> 
> Thanks for doing this!
> 
> > v2:
> >  - Drop undocumented linux,default-trigger values
> 
> Will this lead to warnings? People tend to want to use these.

Yes. The list for linux,default-trigger was purposely limited rather 
than just throw in all the occurrences we could find. It's kind of a 
mess with similar or overlapping names.

There's other and better ways to do this now. There's the 'function' 
property and you can link to another device. 

> 
> (Possibly we could actually create operating-system independent
> triggers that make sense on any system. But it's another can
> of worms we don't need to open today.)
> 
> > +    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 ]
> 
> That's an interesting looking enum :D
> 
> But I can't think of anything better, so:

We could define our own type, but I can't say I recall the need for this 
elsewhere.

> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Thanks.

Rob

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO register address
  2021-09-13 19:28 ` [PATCH v2 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO " Rob Herring
@ 2021-09-14 19:58   ` Stephen Boyd
  2021-09-17 23:45   ` Linus Walleij
  1 sibling, 0 replies; 23+ messages in thread
From: Stephen Boyd @ 2021-09-14 19:58 UTC (permalink / raw)
  To: Linus Walleij, Pavel Machek, Rob Herring
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds,
	Michael Turquette

Quoting Rob Herring (2021-09-13 12:28:12)
> 'reg' is the standard property for defining register banks/addresses. Add
> it to use for the VCO register address and deprecate 'vco-offset'. This
> will also allow for using standard node names with unit-addresses.
> 
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Stephen Boyd <sboyd@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-clk@vger.kernel.org
> Cc: Michael Turquette <mturquette@baylibre.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> 
> ---

Reviewed-by: Stephen Boyd <sboyd@kernel.org>

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address
  2021-09-13 19:28 ` [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for " Rob Herring
@ 2021-09-14 19:59   ` Stephen Boyd
  2021-09-14 22:00     ` Rob Herring
  2021-09-14 22:13   ` Linus Walleij
  1 sibling, 1 reply; 23+ messages in thread
From: Stephen Boyd @ 2021-09-14 19:59 UTC (permalink / raw)
  To: Linus Walleij, Pavel Machek, Rob Herring
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds

Quoting Rob Herring (2021-09-13 12:28:13)
> The ICST binding now also supports 'reg' in addition to 'vco-offset' for
> the VCO register address. Add support to the driver to get the VCO
> address from 'reg'.
> 
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Stephen Boyd <sboyd@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-clk@vger.kernel.org
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---

Reviewed-by: Stephen Boyd <sboyd@kernel.org>

I don't think this driver is changing much so you can take it through DT
tree if you prefer.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address
  2021-09-14 19:59   ` Stephen Boyd
@ 2021-09-14 22:00     ` Rob Herring
  2021-09-15  1:10       ` Stephen Boyd
  0 siblings, 1 reply; 23+ messages in thread
From: Rob Herring @ 2021-09-14 22:00 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: Linus Walleij, Pavel Machek, Liviu Dudau, Sudeep Holla,
	Lorenzo Pieralisi, linux-arm-kernel, linux-clk, devicetree,
	linux-kernel, linux-leds

On Tue, Sep 14, 2021 at 12:59:48PM -0700, Stephen Boyd wrote:
> Quoting Rob Herring (2021-09-13 12:28:13)
> > The ICST binding now also supports 'reg' in addition to 'vco-offset' for
> > the VCO register address. Add support to the driver to get the VCO
> > address from 'reg'.
> > 
> > Cc: Linus Walleij <linus.walleij@linaro.org>
> > Cc: Stephen Boyd <sboyd@kernel.org>
> > Cc: linux-arm-kernel@lists.infradead.org
> > Cc: linux-clk@vger.kernel.org
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> 
> Reviewed-by: Stephen Boyd <sboyd@kernel.org>
> 
> I don't think this driver is changing much so you can take it through DT
> tree if you prefer.

clk tree is fine. :)

Rob

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address
  2021-09-13 19:28 ` [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for " Rob Herring
  2021-09-14 19:59   ` Stephen Boyd
@ 2021-09-14 22:13   ` Linus Walleij
  1 sibling, 0 replies; 23+ messages in thread
From: Linus Walleij @ 2021-09-14 22:13 UTC (permalink / raw)
  To: Rob Herring
  Cc: Stephen Boyd, Pavel Machek, Liviu Dudau, Sudeep Holla,
	Lorenzo Pieralisi, Linux ARM, linux-clk,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Linux LED Subsystem

On Mon, Sep 13, 2021 at 9:28 PM Rob Herring <robh@kernel.org> wrote:

> The ICST binding now also supports 'reg' in addition to 'vco-offset' for
> the VCO register address. Add support to the driver to get the VCO
> address from 'reg'.
>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Stephen Boyd <sboyd@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-clk@vger.kernel.org
> Signed-off-by: Rob Herring <robh@kernel.org>

This is nice.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address
  2021-09-14 22:00     ` Rob Herring
@ 2021-09-15  1:10       ` Stephen Boyd
  0 siblings, 0 replies; 23+ messages in thread
From: Stephen Boyd @ 2021-09-15  1:10 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linus Walleij, Pavel Machek, Liviu Dudau, Sudeep Holla,
	Lorenzo Pieralisi, linux-arm-kernel, linux-clk, devicetree,
	linux-kernel, linux-leds

Quoting Rob Herring (2021-09-14 15:00:08)
> On Tue, Sep 14, 2021 at 12:59:48PM -0700, Stephen Boyd wrote:
> > Quoting Rob Herring (2021-09-13 12:28:13)
> > > The ICST binding now also supports 'reg' in addition to 'vco-offset' for
> > > the VCO register address. Add support to the driver to get the VCO
> > > address from 'reg'.
> > > 
> > > Cc: Linus Walleij <linus.walleij@linaro.org>
> > > Cc: Stephen Boyd <sboyd@kernel.org>
> > > Cc: linux-arm-kernel@lists.infradead.org
> > > Cc: linux-clk@vger.kernel.org
> > > Signed-off-by: Rob Herring <robh@kernel.org>
> > > ---
> > 
> > Reviewed-by: Stephen Boyd <sboyd@kernel.org>
> > 
> > I don't think this driver is changing much so you can take it through DT
> > tree if you prefer.
> 
> clk tree is fine. :)
> 

Alright alright

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO register address
  2021-09-13 19:28 ` [PATCH v2 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO " Rob Herring
  2021-09-14 19:58   ` Stephen Boyd
@ 2021-09-17 23:45   ` Linus Walleij
  1 sibling, 0 replies; 23+ messages in thread
From: Linus Walleij @ 2021-09-17 23:45 UTC (permalink / raw)
  To: Rob Herring
  Cc: Stephen Boyd, Pavel Machek, Liviu Dudau, Sudeep Holla,
	Lorenzo Pieralisi, Linux ARM, linux-clk,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Linux LED Subsystem, Michael Turquette

On Mon, Sep 13, 2021 at 9:28 PM Rob Herring <robh@kernel.org> wrote:

> 'reg' is the standard property for defining register banks/addresses. Add
> it to use for the VCO register address and deprecate 'vco-offset'. This
> will also allow for using standard node names with unit-addresses.
>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Stephen Boyd <sboyd@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-clk@vger.kernel.org
> Cc: Michael Turquette <mturquette@baylibre.com>
> Signed-off-by: Rob Herring <robh@kernel.org>

Yeah this is better, dunno why I did it like that. I guess
it was the Wild West of DT bindings back then.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups
  2021-09-13 19:28 [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
                   ` (7 preceding siblings ...)
  2021-09-13 19:28 ` [PATCH v2 8/8] kbuild: Enable dtc 'unit_address_format' warning by default Rob Herring
@ 2021-10-04 16:23 ` Rob Herring
  8 siblings, 0 replies; 23+ messages in thread
From: Rob Herring @ 2021-10-04 16:23 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, linux-leds, Linus Walleij,
	Stephen Boyd

On Mon, Sep 13, 2021 at 02:28:08PM -0500, Rob Herring wrote:
> This series addresses the last of the dtc 'unit_address_format'
> warnings in the tree.
> 
> The remaining issue was dealing with the node names on 2 bindings for
> Arm Ltd boards syscon child nodes: register-bit-led and Versatile ICST.
> Both of these used an offset property for register address rather than
> 'reg' which is the preference nowadays. With a 'reg' property, then we
> can have a proper node name and unit-address. This series adds support
> for using 'reg' instead and updates the node names and unit-addresses.
> 
> The dts file changes have inter-dependencies, but the clock and led
> changes can go via each subsystem.
> 
> Rob
> 
> 
> Rob Herring (8):
>   dt-bindings: leds: Convert register-bit-led binding to DT schema
>   dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset'
>   leds: syscon: Support 'reg' in addition to 'offset' for register
>     address

Pavel, Can you apply or comment on patches 1-3?

Rob


>   dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset'
>     for VCO register address
>   clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset'
>     for register address
>   ARM: dts: arm: Update register-bit-led nodes 'reg' and node names
>   ARM: dts: arm: Update ICST clock nodes 'reg' and node names
>   kbuild: Enable dtc 'unit_address_format' warning by default

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema
  2021-09-13 19:28 ` [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema Rob Herring
  2021-09-13 22:41   ` Linus Walleij
@ 2021-10-13 22:22   ` Rob Herring
  1 sibling, 0 replies; 23+ messages in thread
From: Rob Herring @ 2021-10-13 22:22 UTC (permalink / raw)
  To: Rob Herring
  Cc: Stephen Boyd, Pavel Machek, Liviu Dudau, Lorenzo Pieralisi,
	linux-clk, Linus Walleij, linux-kernel, devicetree, Sudeep Holla,
	linux-arm-kernel, linux-leds

On Mon, 13 Sep 2021 14:28:09 -0500, Rob Herring wrote:
> 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
> 

Applied, thanks!

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 2/8] dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset'
  2021-09-13 19:28 ` [PATCH v2 2/8] dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset' Rob Herring
@ 2021-10-13 22:22   ` Rob Herring
  0 siblings, 0 replies; 23+ messages in thread
From: Rob Herring @ 2021-10-13 22:22 UTC (permalink / raw)
  To: Rob Herring
  Cc: Stephen Boyd, linux-arm-kernel, devicetree, linux-leds,
	linux-kernel, Linus Walleij, Pavel Machek, linux-clk,
	Sudeep Holla, Liviu Dudau, Lorenzo Pieralisi

On Mon, 13 Sep 2021 14:28:10 -0500, Rob Herring wrote:
> '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(-)
> 

Applied, thanks!

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 6/8] ARM: dts: arm: Update register-bit-led nodes 'reg' and node names
  2021-09-13 19:28 ` [PATCH v2 6/8] ARM: dts: arm: Update register-bit-led nodes 'reg' and node names Rob Herring
@ 2021-10-21 21:15   ` Rob Herring
  2021-10-24 23:21     ` Linus Walleij
  0 siblings, 1 reply; 23+ messages in thread
From: Rob Herring @ 2021-10-21 21:15 UTC (permalink / raw)
  To: Linus Walleij, Stephen Boyd, Pavel Machek
  Cc: Liviu Dudau, Sudeep Holla, Lorenzo Pieralisi, linux-arm-kernel,
	linux-clk, devicetree, linux-kernel, Linux LED Subsystem

On Mon, Sep 13, 2021 at 2:28 PM Rob Herring <robh@kernel.org> wrote:
>
> Add a 'reg' entry for register-bit-led nodes on the Arm Ltd platforms.
> The 'reg' entry is the LED control register address. With this, the node
> name can be updated to use a generic node name, 'led', and a
> unit-address.
>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Liviu Dudau <liviu.dudau@arm.com>
> Cc: Sudeep Holla <sudeep.holla@arm.com>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  arch/arm/boot/dts/arm-realview-eb.dtsi        | 27 +++++++++++++------
>  arch/arm/boot/dts/arm-realview-pb1176.dts     | 27 +++++++++++++------
>  arch/arm/boot/dts/arm-realview-pb11mp.dts     | 27 +++++++++++++------
>  arch/arm/boot/dts/arm-realview-pbx.dtsi       | 27 +++++++++++++------
>  arch/arm/boot/dts/integrator.dtsi             | 23 +++++++++++-----
>  arch/arm/boot/dts/mps2.dtsi                   | 10 +++++--
>  arch/arm/boot/dts/versatile-ab-ib2.dts        |  6 ++++-
>  arch/arm/boot/dts/versatile-ab.dts            | 27 +++++++++++++------
>  arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 27 +++++++++++++------
>  9 files changed, 144 insertions(+), 57 deletions(-)

Linus, Can you apply this and patch 7?

>
> diff --git a/arch/arm/boot/dts/arm-realview-eb.dtsi b/arch/arm/boot/dts/arm-realview-eb.dtsi
> index 04e8a27ba1eb..56441ef08a55 100644
> --- a/arch/arm/boot/dts/arm-realview-eb.dtsi
> +++ b/arch/arm/boot/dts/arm-realview-eb.dtsi
> @@ -198,61 +198,72 @@ fpga {
>                 syscon: syscon@10000000 {
>                         compatible = "arm,realview-eb-syscon", "syscon", "simple-mfd";
>                         reg = <0x10000000 0x1000>;
> +                       ranges = <0x0 0x10000000 0x1000>;
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
>
> -                       led@08.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@08.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@08.2 {
> +                       led@8,2 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x04>;
>                                 label = "versatile:2";
>                                 linux,default-trigger = "cpu0";
>                                 default-state = "off";
>                         };
> -                       led@08.3 {
> +                       led@8,3 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x08>;
>                                 label = "versatile:3";
>                                 default-state = "off";
>                         };
> -                       led@08.4 {
> +                       led@8,4 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x10>;
>                                 label = "versatile:4";
>                                 default-state = "off";
>                         };
> -                       led@08.5 {
> +                       led@8,5 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x20>;
>                                 label = "versatile:5";
>                                 default-state = "off";
>                         };
> -                       led@08.6 {
> +                       led@8,6 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x40>;
>                                 label = "versatile:6";
>                                 default-state = "off";
>                         };
> -                       led@08.7 {
> +                       led@8,7 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x80>;
>                                 label = "versatile:7";
> diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
> index 366687fb1ee3..df71ee27294d 100644
> --- a/arch/arm/boot/dts/arm-realview-pb1176.dts
> +++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
> @@ -216,61 +216,72 @@ soc {
>                 syscon: syscon@10000000 {
>                         compatible = "arm,realview-pb1176-syscon", "syscon", "simple-mfd";
>                         reg = <0x10000000 0x1000>;
> +                       ranges = <0x0 0x10000000 0x1000>;
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
>
> -                       led@08.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@08.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@08.2 {
> +                       led@8,2 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x04>;
>                                 label = "versatile:2";
>                                 linux,default-trigger = "cpu0";
>                                 default-state = "off";
>                         };
> -                       led@08.3 {
> +                       led@8,3 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x08>;
>                                 label = "versatile:3";
>                                 default-state = "off";
>                         };
> -                       led@08.4 {
> +                       led@8,4 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x10>;
>                                 label = "versatile:4";
>                                 default-state = "off";
>                         };
> -                       led@08.5 {
> +                       led@8,5 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x20>;
>                                 label = "versatile:5";
>                                 default-state = "off";
>                         };
> -                       led@08.6 {
> +                       led@8,6 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x40>;
>                                 label = "versatile:6";
>                                 default-state = "off";
>                         };
> -                       led@08.7 {
> +                       led@8,7 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x80>;
>                                 label = "versatile:7";
> diff --git a/arch/arm/boot/dts/arm-realview-pb11mp.dts b/arch/arm/boot/dts/arm-realview-pb11mp.dts
> index 228a51a38f95..54d4cbd10bdf 100644
> --- a/arch/arm/boot/dts/arm-realview-pb11mp.dts
> +++ b/arch/arm/boot/dts/arm-realview-pb11mp.dts
> @@ -303,64 +303,75 @@ soc {
>                 pb11mp_syscon: syscon@10000000 {
>                         compatible = "arm,realview-pb11mp-syscon", "syscon", "simple-mfd";
>                         reg = <0x10000000 0x1000>;
> +                       ranges = <0x0 0x10000000 0x1000>;
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
>
> -                       led@08.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@08.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@08.2 {
> +                       led@8,2 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x04>;
>                                 label = "versatile:2";
>                                 linux,default-trigger = "cpu0";
>                                 default-state = "off";
>                         };
> -                       led@08.3 {
> +                       led@8,3 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x08>;
>                                 label = "versatile:3";
>                                 linux,default-trigger = "cpu1";
>                                 default-state = "off";
>                         };
> -                       led@08.4 {
> +                       led@8,4 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x10>;
>                                 label = "versatile:4";
>                                 linux,default-trigger = "cpu2";
>                                 default-state = "off";
>                         };
> -                       led@08.5 {
> +                       led@8,5 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x20>;
>                                 label = "versatile:5";
>                                 linux,default-trigger = "cpu3";
>                                 default-state = "off";
>                         };
> -                       led@08.6 {
> +                       led@8,6 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x40>;
>                                 label = "versatile:6";
>                                 default-state = "off";
>                         };
> -                       led@08.7 {
> +                       led@8,7 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x80>;
>                                 label = "versatile:7";
> diff --git a/arch/arm/boot/dts/arm-realview-pbx.dtsi b/arch/arm/boot/dts/arm-realview-pbx.dtsi
> index ccf6f756b6ed..9366fecc699b 100644
> --- a/arch/arm/boot/dts/arm-realview-pbx.dtsi
> +++ b/arch/arm/boot/dts/arm-realview-pbx.dtsi
> @@ -220,61 +220,72 @@ soc: soc {
>                 syscon: syscon@10000000 {
>                         compatible = "arm,realview-pbx-syscon", "syscon", "simple-mfd";
>                         reg = <0x10000000 0x1000>;
> +                       ranges = <0x0 0x10000000 0x1000>;
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
>
> -                       led@08.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@08.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@08.2 {
> +                       led@8,2 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x04>;
>                                 label = "versatile:2";
>                                 linux,default-trigger = "cpu0";
>                                 default-state = "off";
>                         };
> -                       led@08.3 {
> +                       led@8,3 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x08>;
>                                 label = "versatile:3";
>                                 default-state = "off";
>                         };
> -                       led@08.4 {
> +                       led@8,4 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x10>;
>                                 label = "versatile:4";
>                                 default-state = "off";
>                         };
> -                       led@08.5 {
> +                       led@8,5 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x20>;
>                                 label = "versatile:5";
>                                 default-state = "off";
>                         };
> -                       led@08.6 {
> +                       led@8,6 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x40>;
>                                 label = "versatile:6";
>                                 default-state = "off";
>                         };
> -                       led@08.7 {
> +                       led@8,7 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x08 0x04>;
>                                 offset = <0x08>;
>                                 mask = <0x80>;
>                                 label = "versatile:7";
> diff --git a/arch/arm/boot/dts/integrator.dtsi b/arch/arm/boot/dts/integrator.dtsi
> index 602f74d2c758..ad868cfebc94 100644
> --- a/arch/arm/boot/dts/integrator.dtsi
> +++ b/arch/arm/boot/dts/integrator.dtsi
> @@ -15,10 +15,14 @@ memory {
>         core-module@10000000 {
>                 compatible = "arm,core-module-integrator", "syscon", "simple-mfd";
>                 reg = <0x10000000 0x200>;
> +               ranges = <0x0 0x10000000 0x200>;
> +               #address-cells = <1>;
> +               #size-cells = <1>;
>
>                 /* Use core module LED to indicate CPU load */
> -               led@c.0 {
> +               led@c,0 {
>                         compatible = "register-bit-led";
> +                       reg = <0x0c 0x04>;
>                         offset = <0x0c>;
>                         mask = <0x01>;
>                         label = "integrator:core_module";
> @@ -104,35 +108,42 @@ kmi@19000000 {
>                         interrupts = <4>;
>                 };
>
> -               syscon {
> +               syscon@1a000000 {
>                         /* Debug registers mapped as syscon */
>                         compatible = "syscon", "simple-mfd";
>                         reg = <0x1a000000 0x10>;
> +                       ranges = <0x0 0x1a000000 0x10>;
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
>
> -                       led@4.0 {
> +                       led@4,0 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x04 0x04>;
>                                 offset = <0x04>;
>                                 mask = <0x01>;
>                                 label = "integrator:green0";
>                                 linux,default-trigger = "heartbeat";
>                                 default-state = "on";
>                         };
> -                       led@4.1 {
> +                       led@4,1 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x04 0x04>;
>                                 offset = <0x04>;
>                                 mask = <0x02>;
>                                 label = "integrator:yellow";
>                                 default-state = "off";
>                         };
> -                       led@4.2 {
> +                       led@4,2 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x04 0x04>;
>                                 offset = <0x04>;
>                                 mask = <0x04>;
>                                 label = "integrator:red";
>                                 default-state = "off";
>                         };
> -                       led@4.3 {
> +                       led@4,3 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x04 0x04>;
>                                 offset = <0x04>;
>                                 mask = <0x08>;
>                                 label = "integrator:green1";
> diff --git a/arch/arm/boot/dts/mps2.dtsi b/arch/arm/boot/dts/mps2.dtsi
> index 37f5023f529c..b99577d411b1 100644
> --- a/arch/arm/boot/dts/mps2.dtsi
> +++ b/arch/arm/boot/dts/mps2.dtsi
> @@ -216,8 +216,13 @@ fpgaio@8000 {
>                         compatible = "syscon", "simple-mfd";
>                         reg = <0x8000 0x10>;
>
> -                       led0 {
> +                       ranges = <0x0 0x8000 0x10>;
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +
> +                       led@0,0 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x00 0x04>;
>                                 offset = <0x0>;
>                                 mask = <0x01>;
>                                 label = "userled:0";
> @@ -225,8 +230,9 @@ led0 {
>                                 default-state = "on";
>                         };
>
> -                       led1 {
> +                       led@0,1 {
>                                 compatible = "register-bit-led";
> +                               reg = <0x00 0x04>;
>                                 offset = <0x0>;
>                                 mask = <0x02>;
>                                 label = "userled:1";
> diff --git a/arch/arm/boot/dts/versatile-ab-ib2.dts b/arch/arm/boot/dts/versatile-ab-ib2.dts
> index c577ff4bb4be..7ebb0dfd0467 100644
> --- a/arch/arm/boot/dts/versatile-ab-ib2.dts
> +++ b/arch/arm/boot/dts/versatile-ab-ib2.dts
> @@ -13,9 +13,13 @@ / {
>         syscon@27000000 {
>                 compatible = "arm,versatile-ib2-syscon", "syscon", "simple-mfd";
>                 reg = <0x27000000 0x4>;
> +               ranges = <0x0 0x27000000 0x4>;
> +               #address-cells = <1>;
> +               #size-cells = <1>;
>
> -               led@00.4 {
> +               led@0,4 {
>                         compatible = "register-bit-led";
> +                       reg = <0x00 0x04>;
>                         offset = <0x00>;
>                         mask = <0x10>;
>                         label = "versatile-ib2:0";
> diff --git a/arch/arm/boot/dts/versatile-ab.dts b/arch/arm/boot/dts/versatile-ab.dts
> index 151c0220047d..79f7cc241282 100644
> --- a/arch/arm/boot/dts/versatile-ab.dts
> +++ b/arch/arm/boot/dts/versatile-ab.dts
> @@ -70,61 +70,72 @@ vga_con_in: endpoint {
>         core-module@10000000 {
>                 compatible = "arm,core-module-versatile", "syscon", "simple-mfd";
>                 reg = <0x10000000 0x200>;
> +               ranges = <0x0 0x10000000 0x200>;
> +               #address-cells = <1>;
> +               #size-cells = <1>;
>
> -               led@08.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@08.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@08.2 {
> +               led@8,2 {
>                         compatible = "register-bit-led";
> +                       reg = <0x08 0x04>;
>                         offset = <0x08>;
>                         mask = <0x04>;
>                         label = "versatile:2";
>                         linux,default-trigger = "cpu0";
>                         default-state = "off";
>                 };
> -               led@08.3 {
> +               led@8,3 {
>                         compatible = "register-bit-led";
> +                       reg = <0x08 0x04>;
>                         offset = <0x08>;
>                         mask = <0x08>;
>                         label = "versatile:3";
>                         default-state = "off";
>                 };
> -               led@08.4 {
> +               led@8,4 {
>                         compatible = "register-bit-led";
> +                       reg = <0x08 0x04>;
>                         offset = <0x08>;
>                         mask = <0x10>;
>                         label = "versatile:4";
>                         default-state = "off";
>                 };
> -               led@08.5 {
> +               led@8,5 {
>                         compatible = "register-bit-led";
> +                       reg = <0x08 0x04>;
>                         offset = <0x08>;
>                         mask = <0x20>;
>                         label = "versatile:5";
>                         default-state = "off";
>                 };
> -               led@08.6 {
> +               led@8,6 {
>                         compatible = "register-bit-led";
> +                       reg = <0x08 0x04>;
>                         offset = <0x08>;
>                         mask = <0x40>;
>                         label = "versatile:6";
>                         default-state = "off";
>                 };
> -               led@08.7 {
> +               led@8,7 {
>                         compatible = "register-bit-led";
> +                       reg = <0x08 0x04>;
>                         offset = <0x08>;
>                         mask = <0x80>;
>                         label = "versatile:7";
> diff --git a/arch/arm64/boot/dts/arm/juno-motherboard.dtsi b/arch/arm64/boot/dts/arm/juno-motherboard.dtsi
> index 40d95c58b55e..f7afb8faf5de 100644
> --- a/arch/arm64/boot/dts/arm/juno-motherboard.dtsi
> +++ b/arch/arm64/boot/dts/arm/juno-motherboard.dtsi
> @@ -153,64 +153,75 @@ v2m_sysctl: sysctl@20000 {
>                                 apbregs@10000 {
>                                         compatible = "syscon", "simple-mfd";
>                                         reg = <0x010000 0x1000>;
> +                                       ranges = <0x0 0x10000 0x1000>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <1>;
>
> -                                       led0 {
> +                                       led@8,0 {
>                                                 compatible = "register-bit-led";
> +                                               reg = <0x08 0x04>;
>                                                 offset = <0x08>;
>                                                 mask = <0x01>;
>                                                 label = "vexpress:0";
>                                                 linux,default-trigger = "heartbeat";
>                                                 default-state = "on";
>                                         };
> -                                       led1 {
> +                                       led@8,1 {
>                                                 compatible = "register-bit-led";
> +                                               reg = <0x08 0x04>;
>                                                 offset = <0x08>;
>                                                 mask = <0x02>;
>                                                 label = "vexpress:1";
>                                                 linux,default-trigger = "mmc0";
>                                                 default-state = "off";
>                                         };
> -                                       led2 {
> +                                       led@8,2 {
>                                                 compatible = "register-bit-led";
> +                                               reg = <0x08 0x04>;
>                                                 offset = <0x08>;
>                                                 mask = <0x04>;
>                                                 label = "vexpress:2";
>                                                 linux,default-trigger = "cpu0";
>                                                 default-state = "off";
>                                         };
> -                                       led3 {
> +                                       led@8,3 {
>                                                 compatible = "register-bit-led";
> +                                               reg = <0x08 0x04>;
>                                                 offset = <0x08>;
>                                                 mask = <0x08>;
>                                                 label = "vexpress:3";
>                                                 linux,default-trigger = "cpu1";
>                                                 default-state = "off";
>                                         };
> -                                       led4 {
> +                                       led@8,4 {
>                                                 compatible = "register-bit-led";
> +                                               reg = <0x08 0x04>;
>                                                 offset = <0x08>;
>                                                 mask = <0x10>;
>                                                 label = "vexpress:4";
>                                                 linux,default-trigger = "cpu2";
>                                                 default-state = "off";
>                                         };
> -                                       led5 {
> +                                       led@8,5 {
>                                                 compatible = "register-bit-led";
> +                                               reg = <0x08 0x04>;
>                                                 offset = <0x08>;
>                                                 mask = <0x20>;
>                                                 label = "vexpress:5";
>                                                 linux,default-trigger = "cpu3";
>                                                 default-state = "off";
>                                         };
> -                                       led6 {
> +                                       led@8,6 {
>                                                 compatible = "register-bit-led";
> +                                               reg = <0x08 0x04>;
>                                                 offset = <0x08>;
>                                                 mask = <0x40>;
>                                                 label = "vexpress:6";
>                                                 default-state = "off";
>                                         };
> -                                       led7 {
> +                                       led@8,7 {
>                                                 compatible = "register-bit-led";
> +                                               reg = <0x08 0x04>;
>                                                 offset = <0x08>;
>                                                 mask = <0x80>;
>                                                 label = "vexpress:7";
> --
> 2.30.2
>

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 6/8] ARM: dts: arm: Update register-bit-led nodes 'reg' and node names
  2021-10-21 21:15   ` Rob Herring
@ 2021-10-24 23:21     ` Linus Walleij
  0 siblings, 0 replies; 23+ messages in thread
From: Linus Walleij @ 2021-10-24 23:21 UTC (permalink / raw)
  To: Rob Herring
  Cc: Stephen Boyd, Pavel Machek, Liviu Dudau, Sudeep Holla,
	Lorenzo Pieralisi, linux-arm-kernel, linux-clk,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Linux LED Subsystem

On Thu, Oct 21, 2021 at 11:16 PM Rob Herring <robh@kernel.org> wrote:
> On Mon, Sep 13, 2021 at 2:28 PM Rob Herring <robh@kernel.org> wrote:
> >
> > Add a 'reg' entry for register-bit-led nodes on the Arm Ltd platforms.
> > The 'reg' entry is the LED control register address. With this, the node
> > name can be updated to use a generic node name, 'led', and a
> > unit-address.
> >
> > Cc: Linus Walleij <linus.walleij@linaro.org>
> > Cc: Liviu Dudau <liviu.dudau@arm.com>
> > Cc: Sudeep Holla <sudeep.holla@arm.com>
> > Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> > Cc: linux-arm-kernel@lists.infradead.org
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> >  arch/arm/boot/dts/arm-realview-eb.dtsi        | 27 +++++++++++++------
> >  arch/arm/boot/dts/arm-realview-pb1176.dts     | 27 +++++++++++++------
> >  arch/arm/boot/dts/arm-realview-pb11mp.dts     | 27 +++++++++++++------
> >  arch/arm/boot/dts/arm-realview-pbx.dtsi       | 27 +++++++++++++------
> >  arch/arm/boot/dts/integrator.dtsi             | 23 +++++++++++-----
> >  arch/arm/boot/dts/mps2.dtsi                   | 10 +++++--
> >  arch/arm/boot/dts/versatile-ab-ib2.dts        |  6 ++++-
> >  arch/arm/boot/dts/versatile-ab.dts            | 27 +++++++++++++------
> >  arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 27 +++++++++++++------
> >  9 files changed, 144 insertions(+), 57 deletions(-)
>
> Linus, Can you apply this and patch 7?

I signed them off and sent directly to the SoC tree mailalias.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2021-10-24 23:21 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-13 19:28 [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring
2021-09-13 19:28 ` [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema Rob Herring
2021-09-13 22:41   ` Linus Walleij
2021-09-14 16:22     ` Rob Herring
2021-10-13 22:22   ` Rob Herring
2021-09-13 19:28 ` [PATCH v2 2/8] dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset' Rob Herring
2021-10-13 22:22   ` Rob Herring
2021-09-13 19:28 ` [PATCH v2 3/8] leds: syscon: Support 'reg' in addition to 'offset' for register address Rob Herring
2021-09-13 19:28 ` [PATCH v2 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO " Rob Herring
2021-09-14 19:58   ` Stephen Boyd
2021-09-17 23:45   ` Linus Walleij
2021-09-13 19:28 ` [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for " Rob Herring
2021-09-14 19:59   ` Stephen Boyd
2021-09-14 22:00     ` Rob Herring
2021-09-15  1:10       ` Stephen Boyd
2021-09-14 22:13   ` Linus Walleij
2021-09-13 19:28 ` [PATCH v2 6/8] ARM: dts: arm: Update register-bit-led nodes 'reg' and node names Rob Herring
2021-10-21 21:15   ` Rob Herring
2021-10-24 23:21     ` Linus Walleij
2021-09-13 19:28 ` [PATCH v2 7/8] ARM: dts: arm: Update ICST clock " Rob Herring
2021-09-13 19:28 ` [PATCH v2 8/8] kbuild: Enable dtc 'unit_address_format' warning by default Rob Herring
2021-09-14 15:13   ` Nick Desaulniers
2021-10-04 16:23 ` [PATCH v2 0/8] Arm boards syscon 'unit_address_format' clean-ups Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).