Skip to contentSkip to conversation

Arm boards syscon 'unit_address_format' clean-ups

PATCH Applied Rob Herring 4 participants 23 messages Sep 13, 2021 – Oct 24, 2021

Subsystems (6)
lore
Share & tools
lore

Rob Herring

author maintainer
#0 lore raw

v2 cover Arm boards syscon 'unit_address_format' clean-ups

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
Signature · 1 line
2.30.2
author maintainer
#1 lore raw

PATCH v2 1/8 dt-bindings: leds: Convert register-bit-led binding to DT schema

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

---
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
Documentation/devicetree/bindings/leds/register-bit-led.txt deleted +0 -94
deleted file mode 100644
index c7af6f70a97b..000000000000
@@ -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>;
-
-	[email protected] {
-		compatible = "register-bit-led";
-		offset = <0x08>;
-		mask = <0x01>;
-		label = "versatile:0";
-		linux,default-trigger = "heartbeat";
-		default-state = "on";
-	};
-	[email protected] {
-		compatible = "register-bit-led";
-		offset = <0x08>;
-		mask = <0x02>;
-		label = "versatile:1";
-		linux,default-trigger = "mmc0";
-		default-state = "off";
-	};
-	[email protected] {
-		compatible = "register-bit-led";
-		offset = <0x08>;
-		mask = <0x04>;
-		label = "versatile:2";
-		linux,default-trigger = "cpu0";
-		default-state = "off";
-	};
-	[email protected] {
-		compatible = "register-bit-led";
-		offset = <0x08>;
-		mask = <0x08>;
-		label = "versatile:3";
-		default-state = "off";
-	};
-	[email protected] {
-		compatible = "register-bit-led";
-		offset = <0x08>;
-		mask = <0x10>;
-		label = "versatile:4";
-		default-state = "off";
-	};
-	[email protected] {
-		compatible = "register-bit-led";
-		offset = <0x08>;
-		mask = <0x20>;
-		label = "versatile:5";
-		default-state = "off";
-	};
-	[email protected] {
-		compatible = "register-bit-led";
-		offset = <0x08>;
-		mask = <0x40>;
-		label = "versatile:6";
-		default-state = "off";
-	};
-	[email protected] {
-		compatible = "register-bit-led";
-		offset = <0x08>;
-		mask = <0x80>;
-		label = "versatile:7";
-		default-state = "off";
-	};
-};
Documentation/devicetree/bindings/leds/register-bit-led.yaml new file +78 -0

78 lines not on this page · raw message

Signature · 1 line
2.30.2
Reviewed-by on v2 1/8
#2 lore raw

Re: [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema

Quoted 9 lines · Rob Herring

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

Thanks for doing this!

Quoted 2 lines

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

Documentation/devicetree/bindings/leds/register-bit-led.yaml line 34

Quoted 5 lines
Documentation/devicetree/bindings/leds/register-bit-led.yaml new file +5 -0
+    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:

Yours,
Linus Walleij

_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

author maintainer
#3 lore raw

Re: [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema

Quoted 12 lines · Linus Walleij
Quoted 9 lines · Rob Herring

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

Quoted 6 lines

Thanks for doing this!

Quoted 2 lines

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.

Quoted 11 lines

(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.)

Documentation/devicetree/bindings/leds/register-bit-led.yaml line 34

Quoted 5 lines
Documentation/devicetree/bindings/leds/register-bit-led.yaml new file +5 -0
+    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 ]
Quoted 3 lines

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.

Quoted 1 line

Thanks.

Rob

author maintainer Applied
#4 lore raw

Re: [PATCH v2 1/8] dt-bindings: leds: Convert register-bit-led binding to DT schema

In reply to Rob Herring
Quoted 13 lines · Rob Herring

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

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

Quoted 7 lines
---
 .../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!

author maintainer
#5 lore raw

PATCH v2 2/8 dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset'

In reply to Rob Herring

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

---
 .../bindings/leds/register-bit-led.yaml       | 25 ++++++++++++++++---
 1 file changed, 21 insertions(+), 4 deletions(-)
Documentation/devicetree/bindings/leds/register-bit-led.yaml +21 -4
index 77ba0b824c15..79b8fc0f9d23 100644
@@ -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>;
 
-        [email protected] {
+        led@8,0 {
             compatible = "register-bit-led";
+            reg = <0x08 0x04>;
             offset = <0x08>;
             mask = <0x01>;
             label = "versatile:0";
             linux,default-trigger = "heartbeat";
             default-state = "on";
         };
-        [email protected] {
+        led@8,1 {
             compatible = "register-bit-led";
+            reg = <0x08 0x04>;
             offset = <0x08>;
             mask = <0x02>;
             label = "versatile:1";
             default-state = "off";
         };
-        [email protected] {
+        led@8,2 {
             compatible = "register-bit-led";
+            reg = <0x08 0x04>;
             offset = <0x08>;
             mask = <0x04>;
             label = "versatile:2";
Signature · 1 line
2.30.2
author maintainer Applied
#6 lore raw

Re: [PATCH v2 2/8] dt-bindings: leds: register-bit-led: Use 'reg' instead of 'offset'

Quoted 9 lines · Rob Herring

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

Quoted 8 lines
---
 .../bindings/leds/register-bit-led.yaml       | 25 ++++++++++++++++---
 1 file changed, 21 insertions(+), 4 deletions(-)

Applied, thanks!

author maintainer
#7 lore raw

PATCH v2 3/8 leds: syscon: Support 'reg' in addition to 'offset' for register address

In reply to Rob Herring

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

---
 drivers/leds/leds-syscon.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/leds/leds-syscon.c +2 -1
index 7eddb8ecb44e..44e79cdf5c39 100644
@@ -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;
Signature · 1 line
2.30.2
author maintainer
#8 lore raw

PATCH v2 4/8 dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO register address

In reply to Rob Herring

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

---
v2:
- Fix 'deprecated'

---
 Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml | 5 +++++
 1 file changed, 5 insertions(+)
Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml +5 -0
index 118c5543e037..90eadf6869b2 100644
@@ -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"
Signature · 1 line
2.30.2
maintainer Reviewed-by on v2 4/8
#9 lore raw

Re: [PATCH v2 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO register address

Quoting Rob Herring (2021-09-13 12:28:12)

Quoted 4 lines

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

Quoted 8 lines

---

Reviewed-by on v2 4/8
#10 lore raw

Re: [PATCH v2 4/8] dt-bindings: clock: arm,syscon-icst: Use 'reg' instead of 'vco-offset' for VCO register address

In reply to Rob Herring
Quoted 10 lines · Rob Herring

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

Yeah this is better, dunno why I did it like that. I guess it was the Wild West of DT bindings back then.

Yours,
Linus Walleij

author maintainer
#11 lore raw

PATCH v2 5/8 clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address

In reply to Rob Herring

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

---
 drivers/clk/versatile/clk-icst.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/clk/versatile/clk-icst.c +2 -1
index fdd6aa3cb1fc..77fd0ecaf155 100644
@@ -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;
 	}
Signature · 1 line
2.30.2
maintainer Reviewed-by on v2 5/8
#12 lore raw

Re: [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address

Quoting Rob Herring (2021-09-13 12:28:13)

Quoted 10 lines

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

---

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

author maintainer
#13 lore raw

Re: [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address

Quoted 12 lines · Stephen Boyd

Quoting Rob Herring (2021-09-13 12:28:13)

Quoted 10 lines

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

---

Quoted 4 lines

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

maintainer
#14 lore raw

Re: [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address

Quoting Rob Herring (2021-09-14 15:00:08)

Quoted 13 lines · Stephen Boyd
Quoted 12 lines

Quoting Rob Herring (2021-09-13 12:28:13)

Quoted 10 lines

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

---

Quoted 7 lines
Quoted 4 lines

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

Reviewed-by on v2 5/8
#15 lore raw

Re: [PATCH v2 5/8] clk: versatile: clk-icst: Support 'reg' in addition to 'vco-offset' for register address

In reply to Rob Herring
Quoted 9 lines · Rob Herring

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

This is nice.

Yours,
Linus Walleij

author maintainer
#16 lore raw

PATCH v2 6/8 ARM: dts: arm: Update register-bit-led nodes 'reg' and node names

In reply to Rob Herring

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 <[email protected]>
Cc Liviu Dudau <[email protected]>
Cc Sudeep Holla <[email protected]>
Cc Lorenzo Pieralisi <[email protected]>
---
 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(-)
arch/arm/boot/dts/arm-realview-eb.dtsi +19 -8
index 04e8a27ba1eb..56441ef08a55 100644
@@ -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>;
 
-			[email protected] {
+			led@8,0 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x01>;
 				label = "versatile:0";
 				linux,default-trigger = "heartbeat";
 				default-state = "on";
 			};
-			[email protected] {
+			led@8,1 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x02>;
 				label = "versatile:1";
 				linux,default-trigger = "mmc0";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,2 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x04>;
 				label = "versatile:2";
 				linux,default-trigger = "cpu0";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,3 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x08>;
 				label = "versatile:3";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,4 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x10>;
 				label = "versatile:4";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,5 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x20>;
 				label = "versatile:5";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,6 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x40>;
 				label = "versatile:6";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,7 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x80>;
 				label = "versatile:7";
arch/arm/boot/dts/arm-realview-pb1176.dts +19 -8
index 366687fb1ee3..df71ee27294d 100644
@@ -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>;
 
-			[email protected] {
+			led@8,0 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x01>;
 				label = "versatile:0";
 				linux,default-trigger = "heartbeat";
 				default-state = "on";
 			};
-			[email protected] {
+			led@8,1 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x02>;
 				label = "versatile:1";
 				linux,default-trigger = "mmc0";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,2 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x04>;
 				label = "versatile:2";
 				linux,default-trigger = "cpu0";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,3 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x08>;
 				label = "versatile:3";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,4 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x10>;
 				label = "versatile:4";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,5 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x20>;
 				label = "versatile:5";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,6 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x40>;
 				label = "versatile:6";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,7 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x80>;
 				label = "versatile:7";
arch/arm/boot/dts/arm-realview-pb11mp.dts +19 -8
index 228a51a38f95..54d4cbd10bdf 100644
@@ -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>;
 
-			[email protected] {
+			led@8,0 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x01>;
 				label = "versatile:0";
 				linux,default-trigger = "heartbeat";
 				default-state = "on";
 			};
-			[email protected] {
+			led@8,1 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x02>;
 				label = "versatile:1";
 				linux,default-trigger = "mmc0";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,2 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x04>;
 				label = "versatile:2";
 				linux,default-trigger = "cpu0";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,3 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x08>;
 				label = "versatile:3";
 				linux,default-trigger = "cpu1";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,4 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x10>;
 				label = "versatile:4";
 				linux,default-trigger = "cpu2";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,5 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x20>;
 				label = "versatile:5";
 				linux,default-trigger = "cpu3";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,6 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x40>;
 				label = "versatile:6";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,7 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x80>;
 				label = "versatile:7";
arch/arm/boot/dts/arm-realview-pbx.dtsi +19 -8
index ccf6f756b6ed..9366fecc699b 100644
@@ -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>;
 
-			[email protected] {
+			led@8,0 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x01>;
 				label = "versatile:0";
 				linux,default-trigger = "heartbeat";
 				default-state = "on";
 			};
-			[email protected] {
+			led@8,1 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x02>;
 				label = "versatile:1";
 				linux,default-trigger = "mmc0";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,2 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x04>;
 				label = "versatile:2";
 				linux,default-trigger = "cpu0";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,3 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x08>;
 				label = "versatile:3";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,4 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x10>;
 				label = "versatile:4";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,5 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x20>;
 				label = "versatile:5";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,6 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x40>;
 				label = "versatile:6";
 				default-state = "off";
 			};
-			[email protected] {
+			led@8,7 {
 				compatible = "register-bit-led";
+				reg = <0x08 0x04>;
 				offset = <0x08>;
 				mask = <0x80>;
 				label = "versatile:7";
arch/arm/boot/dts/integrator.dtsi +17 -6
index 602f74d2c758..ad868cfebc94 100644
@@ -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 */
-		[email protected] {
+		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>;
 
-			[email protected] {
+			led@4,0 {
 				compatible = "register-bit-led";
+				reg = <0x04 0x04>;
 				offset = <0x04>;
 				mask = <0x01>;
 				label = "integrator:green0";
 				linux,default-trigger = "heartbeat";
 				default-state = "on";
 			};
-			[email protected] {
+			led@4,1 {
 				compatible = "register-bit-led";
+				reg = <0x04 0x04>;
 				offset = <0x04>;
 				mask = <0x02>;
 				label = "integrator:yellow";
 				default-state = "off";
 			};
-			[email protected] {
+			led@4,2 {
 				compatible = "register-bit-led";
+				reg = <0x04 0x04>;
 				offset = <0x04>;
 				mask = <0x04>;
 				label = "integrator:red";
 				default-state = "off";
 			};
-			[email protected] {
+			led@4,3 {
 				compatible = "register-bit-led";
+				reg = <0x04 0x04>;
 				offset = <0x04>;
 				mask = <0x08>;
 				label = "integrator:green1";
arch/arm/boot/dts/mps2.dtsi +8 -2
index 37f5023f529c..b99577d411b1 100644
@@ -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";
arch/arm/boot/dts/versatile-ab-ib2.dts +5 -1
index c577ff4bb4be..7ebb0dfd0467 100644
@@ -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>;
 
-		[email protected] {
+		led@0,4 {
 			compatible = "register-bit-led";
+			reg = <0x00 0x04>;
 			offset = <0x00>;
 			mask = <0x10>;
 			label = "versatile-ib2:0";
arch/arm/boot/dts/versatile-ab.dts +19 -8
index 151c0220047d..79f7cc241282 100644
@@ -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>;
 
-		[email protected] {
+		led@8,0 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x01>;
 			label = "versatile:0";
 			linux,default-trigger = "heartbeat";
 			default-state = "on";
 		};
-		[email protected] {
+		led@8,1 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x02>;
 			label = "versatile:1";
 			linux,default-trigger = "mmc0";
 			default-state = "off";
 		};
-		[email protected] {
+		led@8,2 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x04>;
 			label = "versatile:2";
 			linux,default-trigger = "cpu0";
 			default-state = "off";
 		};
-		[email protected] {
+		led@8,3 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x08>;
 			label = "versatile:3";
 			default-state = "off";
 		};
-		[email protected] {
+		led@8,4 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x10>;
 			label = "versatile:4";
 			default-state = "off";
 		};
-		[email protected] {
+		led@8,5 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x20>;
 			label = "versatile:5";
 			default-state = "off";
 		};
-		[email protected] {
+		led@8,6 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x40>;
 			label = "versatile:6";
 			default-state = "off";
 		};
-		[email protected] {
+		led@8,7 {
 			compatible = "register-bit-led";
+			reg = <0x08 0x04>;
 			offset = <0x08>;
 			mask = <0x80>;
 			label = "versatile:7";
arch/arm64/boot/dts/arm/juno-motherboard.dtsi +19 -8
index 40d95c58b55e..f7afb8faf5de 100644
@@ -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";
Signature · 1 line
2.30.2
author maintainer
#17 lore raw

Re: [PATCH v2 6/8] ARM: dts: arm: Update register-bit-led nodes 'reg' and node names

Quoted 12 lines · Rob Herring

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 <[email protected]>
Cc Liviu Dudau <[email protected]>
Cc Sudeep Holla <[email protected]>
Cc Lorenzo Pieralisi <[email protected]>
Quoted 11 lines
---
 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?

Quoted 637 lines
arch/arm/boot/dts/arm-realview-eb.dtsi +19 -8
index 04e8a27ba1eb..56441ef08a55 100644
@@ -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>;
 
-                       [email protected] {
+                       led@8,0 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x01>;
                                label = "versatile:0";
                                linux,default-trigger = "heartbeat";
                                default-state = "on";
                        };
-                       [email protected] {
+                       led@8,1 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x02>;
                                label = "versatile:1";
                                linux,default-trigger = "mmc0";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,2 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x04>;
                                label = "versatile:2";
                                linux,default-trigger = "cpu0";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,3 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x08>;
                                label = "versatile:3";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,4 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x10>;
                                label = "versatile:4";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,5 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x20>;
                                label = "versatile:5";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,6 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x40>;
                                label = "versatile:6";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,7 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x80>;
                                label = "versatile:7";
arch/arm/boot/dts/arm-realview-pb1176.dts +19 -8
index 366687fb1ee3..df71ee27294d 100644
@@ -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>;
 
-                       [email protected] {
+                       led@8,0 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x01>;
                                label = "versatile:0";
                                linux,default-trigger = "heartbeat";
                                default-state = "on";
                        };
-                       [email protected] {
+                       led@8,1 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x02>;
                                label = "versatile:1";
                                linux,default-trigger = "mmc0";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,2 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x04>;
                                label = "versatile:2";
                                linux,default-trigger = "cpu0";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,3 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x08>;
                                label = "versatile:3";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,4 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x10>;
                                label = "versatile:4";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,5 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x20>;
                                label = "versatile:5";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,6 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x40>;
                                label = "versatile:6";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,7 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x80>;
                                label = "versatile:7";
arch/arm/boot/dts/arm-realview-pb11mp.dts +19 -8
index 228a51a38f95..54d4cbd10bdf 100644
@@ -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>;
 
-                       [email protected] {
+                       led@8,0 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x01>;
                                label = "versatile:0";
                                linux,default-trigger = "heartbeat";
                                default-state = "on";
                        };
-                       [email protected] {
+                       led@8,1 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x02>;
                                label = "versatile:1";
                                linux,default-trigger = "mmc0";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,2 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x04>;
                                label = "versatile:2";
                                linux,default-trigger = "cpu0";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,3 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x08>;
                                label = "versatile:3";
                                linux,default-trigger = "cpu1";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,4 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x10>;
                                label = "versatile:4";
                                linux,default-trigger = "cpu2";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,5 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x20>;
                                label = "versatile:5";
                                linux,default-trigger = "cpu3";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,6 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x40>;
                                label = "versatile:6";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,7 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x80>;
                                label = "versatile:7";
arch/arm/boot/dts/arm-realview-pbx.dtsi +19 -8
index ccf6f756b6ed..9366fecc699b 100644
@@ -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>;
 
-                       [email protected] {
+                       led@8,0 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x01>;
                                label = "versatile:0";
                                linux,default-trigger = "heartbeat";
                                default-state = "on";
                        };
-                       [email protected] {
+                       led@8,1 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x02>;
                                label = "versatile:1";
                                linux,default-trigger = "mmc0";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,2 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x04>;
                                label = "versatile:2";
                                linux,default-trigger = "cpu0";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,3 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x08>;
                                label = "versatile:3";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,4 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x10>;
                                label = "versatile:4";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,5 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x20>;
                                label = "versatile:5";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,6 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x40>;
                                label = "versatile:6";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@8,7 {
                                compatible = "register-bit-led";
+                               reg = <0x08 0x04>;
                                offset = <0x08>;
                                mask = <0x80>;
                                label = "versatile:7";
arch/arm/boot/dts/integrator.dtsi +17 -6
index 602f74d2c758..ad868cfebc94 100644
@@ -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 */
-               [email protected] {
+               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>;
 
-                       [email protected] {
+                       led@4,0 {
                                compatible = "register-bit-led";
+                               reg = <0x04 0x04>;
                                offset = <0x04>;
                                mask = <0x01>;
                                label = "integrator:green0";
                                linux,default-trigger = "heartbeat";
                                default-state = "on";
                        };
-                       [email protected] {
+                       led@4,1 {
                                compatible = "register-bit-led";
+                               reg = <0x04 0x04>;
                                offset = <0x04>;
                                mask = <0x02>;
                                label = "integrator:yellow";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@4,2 {
                                compatible = "register-bit-led";
+                               reg = <0x04 0x04>;
                                offset = <0x04>;
                                mask = <0x04>;
                                label = "integrator:red";
                                default-state = "off";
                        };
-                       [email protected] {
+                       led@4,3 {
                                compatible = "register-bit-led";
+                               reg = <0x04 0x04>;
                                offset = <0x04>;
                                mask = <0x08>;
                                label = "integrator:green1";
arch/arm/boot/dts/mps2.dtsi +8 -2
index 37f5023f529c..b99577d411b1 100644
@@ -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";
arch/arm/boot/dts/versatile-ab-ib2.dts +5 -1
index c577ff4bb4be..7ebb0dfd0467 100644
@@ -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>;
 
-               [email protected] {
+               led@0,4 {
                        compatible = "register-bit-led";
+                       reg = <0x00 0x04>;
                        offset = <0x00>;
                        mask = <0x10>;
                        label = "versatile-ib2:0";
arch/arm/boot/dts/versatile-ab.dts +19 -8
index 151c0220047d..79f7cc241282 100644
@@ -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>;
 
-               [email protected] {
+               led@8,0 {
                        compatible = "register-bit-led";
+                       reg = <0x08 0x04>;
                        offset = <0x08>;
                        mask = <0x01>;
                        label = "versatile:0";
                        linux,default-trigger = "heartbeat";
                        default-state = "on";
                };
-               [email protected] {
+               led@8,1 {
                        compatible = "register-bit-led";
+                       reg = <0x08 0x04>;
                        offset = <0x08>;
                        mask = <0x02>;
                        label = "versatile:1";
                        linux,default-trigger = "mmc0";
                        default-state = "off";
                };
-               [email protected] {
+               led@8,2 {
                        compatible = "register-bit-led";
+                       reg = <0x08 0x04>;
                        offset = <0x08>;
                        mask = <0x04>;
                        label = "versatile:2";
                        linux,default-trigger = "cpu0";
                        default-state = "off";
                };
-               [email protected] {
+               led@8,3 {
                        compatible = "register-bit-led";
+                       reg = <0x08 0x04>;
                        offset = <0x08>;
                        mask = <0x08>;
                        label = "versatile:3";
                        default-state = "off";
                };
-               [email protected] {
+               led@8,4 {
                        compatible = "register-bit-led";
+                       reg = <0x08 0x04>;
                        offset = <0x08>;
                        mask = <0x10>;
                        label = "versatile:4";
                        default-state = "off";
                };
-               [email protected] {
+               led@8,5 {
                        compatible = "register-bit-led";
+                       reg = <0x08 0x04>;
                        offset = <0x08>;
                        mask = <0x20>;
                        label = "versatile:5";
                        default-state = "off";
                };
-               [email protected] {
+               led@8,6 {
                        compatible = "register-bit-led";
+                       reg = <0x08 0x04>;
                        offset = <0x08>;
                        mask = <0x40>;
                        label = "versatile:6";
                        default-state = "off";
                };
-               [email protected] {
+               led@8,7 {
                        compatible = "register-bit-led";
+                       reg = <0x08 0x04>;
                        offset = <0x08>;
                        mask = <0x80>;
                        label = "versatile:7";
arch/arm64/boot/dts/arm/juno-motherboard.dtsi +19 -9
index 40d95c58b55e..f7afb8faf5de 100644
@@ -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

#18 lore raw

Re: [PATCH v2 6/8] ARM: dts: arm: Update register-bit-led nodes 'reg' and node names

Quoted 25 lines · Rob Herring
Quoted 12 lines · Rob Herring

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 <[email protected]>
Cc Liviu Dudau <[email protected]>
Cc Sudeep Holla <[email protected]>
Cc Lorenzo Pieralisi <[email protected]>
Quoted 11 lines
---
 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(-)
Quoted 1 line

Linus, Can you apply this and patch 7?

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

Yours,
Linus Walleij

author maintainer
#19 lore raw

PATCH v2 7/8 ARM: dts: arm: Update ICST clock nodes 'reg' and node names

In reply to Rob Herring

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.

---
 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(-)
arch/arm/boot/dts/arm-realview-eb.dtsi +10 -5
index 56441ef08a55..2dfb32bf9d48 100644
@@ -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>;
arch/arm/boot/dts/arm-realview-pb1176.dts +10 -5
index df71ee27294d..06b8723b09eb 100644
@@ -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>;
arch/arm/boot/dts/arm-realview-pb11mp.dts +14 -7
index 54d4cbd10bdf..295aef448123 100644
@@ -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>;
arch/arm/boot/dts/arm-realview-pbx.dtsi +10 -5
index 9366fecc699b..6f61f968d689 100644
@@ -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>;
arch/arm/boot/dts/integratorap-im-pd1.dts +7 -2
index 0614f82b808e..d47bfb66d069 100644
@@ -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>;
arch/arm/boot/dts/integratorap.dts +11 -4
index 67d1f9b24a52..9b652cc27b14 100644
@@ -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>;
arch/arm/boot/dts/integratorcp.dts +6 -3
index 01fa229e1bd0..38fc7e81bdb6 100644
@@ -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>;
Signature · 1 line
2.30.2
author maintainer
#20 lore raw

PATCH v2 8/8 kbuild: Enable dtc 'unit_address_format' warning by default

In reply to Rob Herring

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

---
 scripts/Makefile.lib | 1 -
 1 file changed, 1 deletion(-)
scripts/Makefile.lib +0 -1
index 54582673fc1a..56d50eb0cd80 100644
@@ -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 \
Signature · 1 line
2.30.2
Acked-by on v2 8/8
#21 lore raw

Re: [PATCH v2 8/8] kbuild: Enable dtc 'unit_address_format' warning by default

Quoted 9 lines · Rob Herring

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

Quoted 19 lines
---
 scripts/Makefile.lib | 1 -
 1 file changed, 1 deletion(-)
scripts/Makefile.lib +0 -2
index 54582673fc1a..56d50eb0cd80 100644
@@ -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

Signature · 2 lines
Thanks,
~Nick Desaulniers
author maintainer
#22 lore raw
In reply to Rob Herring
Quoted 13 lines · Rob Herring

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.

Quoted 8 lines

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

Quoted 7 lines

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