LKML Archive on lore.kernel.org
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).