* [PATCH v2 0/2] ti,keystone-devctrl: Convert to DT schema and DTS cleanups
@ 2026-08-15 18:52 Bhargav Joshi
2026-08-15 18:52 ` [PATCH v2 1/2] ARM: dts: ti: keystone: Align devctrl child node names with dtschema Bhargav Joshi
2026-08-15 18:53 ` [PATCH v2 2/2] dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema Bhargav Joshi
0 siblings, 2 replies; 5+ messages in thread
From: Bhargav Joshi @ 2026-08-15 18:52 UTC (permalink / raw)
To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Ivan Khoronzhuk, Nishanth Menon, Santosh Shilimkar
Cc: mfd, devicetree, linux-kernel, goledhruva, m-chawdhry,
daniel.baluta, simona.toaca, j.bhargav.u, linux-arm-kernel
Series converts Texas Instruments Keystone Device State Control binding
to DT schema and aligns the existing dt files with standard naming
conventions.
Patch 1 aligns the legacy child node names with standard names.
Patch 2 converts the ti,keystone-devctrl binding to YAML schema.
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
Changes in v2:
- Fix legacy node names containing underscores in existing .dtsi files.
- Dropped 'minItems: 2' and the conditional block. Made 'simple-mfd' and
bus properties strictly required, as all in-tree dts uses it.
- Updated patternProperties to strictly enforce standard node names
- Link to v1: https://lore.kernel.org/r/20260813-ti-keystone-devctrl-v1-1-6f0aa87d9af8@gmail.com
---
Bhargav Joshi (2):
ARM: dts: ti: keystone: Align devctrl child node names with dtschema
dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema
.../bindings/mfd/ti,keystone-devctrl.yaml | 84 ++++++++++++++++++++++
.../bindings/mfd/ti-keystone-devctrl.txt | 19 -----
arch/arm/boot/dts/ti/keystone/keystone-k2e.dtsi | 2 +-
arch/arm/boot/dts/ti/keystone/keystone-k2g.dtsi | 4 +-
arch/arm/boot/dts/ti/keystone/keystone-k2hk.dtsi | 16 ++---
arch/arm/boot/dts/ti/keystone/keystone-k2l.dtsi | 8 +--
arch/arm/boot/dts/ti/keystone/keystone.dtsi | 2 +-
7 files changed, 100 insertions(+), 35 deletions(-)
---
base-commit: 3d6d817622b0a9721e3cc404df3469171582be13
change-id: 20260813-ti-keystone-devctrl-6e49212fe35d
Best regards,
--
Bhargav
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/2] ARM: dts: ti: keystone: Align devctrl child node names with dtschema
2026-08-15 18:52 [PATCH v2 0/2] ti,keystone-devctrl: Convert to DT schema and DTS cleanups Bhargav Joshi
@ 2026-08-15 18:52 ` Bhargav Joshi
2026-08-15 18:59 ` sashiko-bot
2026-08-15 18:53 ` [PATCH v2 2/2] dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema Bhargav Joshi
1 sibling, 1 reply; 5+ messages in thread
From: Bhargav Joshi @ 2026-08-15 18:52 UTC (permalink / raw)
To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Ivan Khoronzhuk, Nishanth Menon, Santosh Shilimkar
Cc: mfd, devicetree, linux-kernel, goledhruva, m-chawdhry,
daniel.baluta, simona.toaca, j.bhargav.u, linux-arm-kernel
Align TI Keystone device state control child node names with standard
naming conventions.
- Change keystone_irq to interrupt-controller
- Change keystone_dsp_gpio to gpio
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
arch/arm/boot/dts/ti/keystone/keystone-k2e.dtsi | 2 +-
arch/arm/boot/dts/ti/keystone/keystone-k2g.dtsi | 4 ++--
arch/arm/boot/dts/ti/keystone/keystone-k2hk.dtsi | 16 ++++++++--------
arch/arm/boot/dts/ti/keystone/keystone-k2l.dtsi | 8 ++++----
arch/arm/boot/dts/ti/keystone/keystone.dtsi | 2 +-
5 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/arch/arm/boot/dts/ti/keystone/keystone-k2e.dtsi b/arch/arm/boot/dts/ti/keystone/keystone-k2e.dtsi
index 662aa33cba11..083c94b62fc7 100644
--- a/arch/arm/boot/dts/ti/keystone/keystone-k2e.dtsi
+++ b/arch/arm/boot/dts/ti/keystone/keystone-k2e.dtsi
@@ -110,7 +110,7 @@ pscrst: reset-controller {
};
devctrl: device-state-control@2620000 {
- dspgpio0: keystone_dsp_gpio@240 {
+ dspgpio0: gpio@240 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x240 0x4>;
gpio-controller;
diff --git a/arch/arm/boot/dts/ti/keystone/keystone-k2g.dtsi b/arch/arm/boot/dts/ti/keystone/keystone-k2g.dtsi
index dafe485dfe19..11b27663503a 100644
--- a/arch/arm/boot/dts/ti/keystone/keystone-k2g.dtsi
+++ b/arch/arm/boot/dts/ti/keystone/keystone-k2g.dtsi
@@ -121,7 +121,7 @@ devctrl: device-state-control@2620000 {
#size-cells = <1>;
ranges = <0x0 0x02620000 0x1000>;
- kirq0: keystone_irq@2a0 {
+ kirq0: interrupt-controller@2a0 {
compatible = "ti,keystone-irq";
reg = <0x2a0 0x10>;
interrupts = <GIC_SPI 1 IRQ_TYPE_EDGE_RISING>;
@@ -130,7 +130,7 @@ kirq0: keystone_irq@2a0 {
ti,syscon-dev = <&devctrl 0x2a0>;
};
- dspgpio0: keystone_dsp_gpio@240 {
+ dspgpio0: gpio@240 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x240 0x4>;
gpio-controller;
diff --git a/arch/arm/boot/dts/ti/keystone/keystone-k2hk.dtsi b/arch/arm/boot/dts/ti/keystone/keystone-k2hk.dtsi
index 4fdf4b30384f..b7a9fbd6d59d 100644
--- a/arch/arm/boot/dts/ti/keystone/keystone-k2hk.dtsi
+++ b/arch/arm/boot/dts/ti/keystone/keystone-k2hk.dtsi
@@ -88,7 +88,7 @@ pscrst: reset-controller {
};
devctrl: device-state-control@2620000 {
- dspgpio0: keystone_dsp_gpio@240 {
+ dspgpio0: gpio@240 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x240 0x4>;
gpio-controller;
@@ -96,7 +96,7 @@ dspgpio0: keystone_dsp_gpio@240 {
gpio,syscon-dev = <&devctrl 0x240>;
};
- dspgpio1: keystone_dsp_gpio@244 {
+ dspgpio1: gpio@244 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x244 0x4>;
gpio-controller;
@@ -104,7 +104,7 @@ dspgpio1: keystone_dsp_gpio@244 {
gpio,syscon-dev = <&devctrl 0x244>;
};
- dspgpio2: keystone_dsp_gpio@248 {
+ dspgpio2: gpio@248 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x248 0x4>;
gpio-controller;
@@ -112,7 +112,7 @@ dspgpio2: keystone_dsp_gpio@248 {
gpio,syscon-dev = <&devctrl 0x248>;
};
- dspgpio3: keystone_dsp_gpio@24c {
+ dspgpio3: gpio@24c {
compatible = "ti,keystone-dsp-gpio";
reg = <0x24c 0x4>;
gpio-controller;
@@ -120,7 +120,7 @@ dspgpio3: keystone_dsp_gpio@24c {
gpio,syscon-dev = <&devctrl 0x24c>;
};
- dspgpio4: keystone_dsp_gpio@250 {
+ dspgpio4: gpio@250 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x250 0x4>;
gpio-controller;
@@ -128,7 +128,7 @@ dspgpio4: keystone_dsp_gpio@250 {
gpio,syscon-dev = <&devctrl 0x250>;
};
- dspgpio5: keystone_dsp_gpio@254 {
+ dspgpio5: gpio@254 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x254 0x4>;
gpio-controller;
@@ -136,7 +136,7 @@ dspgpio5: keystone_dsp_gpio@254 {
gpio,syscon-dev = <&devctrl 0x254>;
};
- dspgpio6: keystone_dsp_gpio@258 {
+ dspgpio6: gpio@258 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x258 0x4>;
gpio-controller;
@@ -144,7 +144,7 @@ dspgpio6: keystone_dsp_gpio@258 {
gpio,syscon-dev = <&devctrl 0x258>;
};
- dspgpio7: keystone_dsp_gpio@25c {
+ dspgpio7: gpio@25c {
compatible = "ti,keystone-dsp-gpio";
reg = <0x25c 0x4>;
gpio-controller;
diff --git a/arch/arm/boot/dts/ti/keystone/keystone-k2l.dtsi b/arch/arm/boot/dts/ti/keystone/keystone-k2l.dtsi
index 330b437b667f..4678454c0eb3 100644
--- a/arch/arm/boot/dts/ti/keystone/keystone-k2l.dtsi
+++ b/arch/arm/boot/dts/ti/keystone/keystone-k2l.dtsi
@@ -290,7 +290,7 @@ osr: sram@70000000 {
};
devctrl: device-state-control@2620000 {
- dspgpio0: keystone_dsp_gpio@240 {
+ dspgpio0: gpio@240 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x240 0x4>;
gpio-controller;
@@ -298,7 +298,7 @@ dspgpio0: keystone_dsp_gpio@240 {
gpio,syscon-dev = <&devctrl 0x240>;
};
- dspgpio1: keystone_dsp_gpio@244 {
+ dspgpio1: gpio@244 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x244 0x4>;
gpio-controller;
@@ -306,7 +306,7 @@ dspgpio1: keystone_dsp_gpio@244 {
gpio,syscon-dev = <&devctrl 0x244>;
};
- dspgpio2: keystone_dsp_gpio@248 {
+ dspgpio2: gpio@248 {
compatible = "ti,keystone-dsp-gpio";
reg = <0x248 0x4>;
gpio-controller;
@@ -314,7 +314,7 @@ dspgpio2: keystone_dsp_gpio@248 {
gpio,syscon-dev = <&devctrl 0x248>;
};
- dspgpio3: keystone_dsp_gpio@24c {
+ dspgpio3: gpio@24c {
compatible = "ti,keystone-dsp-gpio";
reg = <0x24c 0x4>;
gpio-controller;
diff --git a/arch/arm/boot/dts/ti/keystone/keystone.dtsi b/arch/arm/boot/dts/ti/keystone/keystone.dtsi
index ff16428860a9..20596fa446b9 100644
--- a/arch/arm/boot/dts/ti/keystone/keystone.dtsi
+++ b/arch/arm/boot/dts/ti/keystone/keystone.dtsi
@@ -93,7 +93,7 @@ devctrl: device-state-control@2620000 {
#size-cells = <1>;
ranges = <0x0 0x02620000 0x1000>;
- kirq0: keystone_irq@2a0 {
+ kirq0: interrupt-controller@2a0 {
compatible = "ti,keystone-irq";
reg = <0x2a0 0x4>;
interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
--
2.55.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema
2026-08-15 18:52 [PATCH v2 0/2] ti,keystone-devctrl: Convert to DT schema and DTS cleanups Bhargav Joshi
2026-08-15 18:52 ` [PATCH v2 1/2] ARM: dts: ti: keystone: Align devctrl child node names with dtschema Bhargav Joshi
@ 2026-08-15 18:53 ` Bhargav Joshi
2026-08-15 19:00 ` sashiko-bot
1 sibling, 1 reply; 5+ messages in thread
From: Bhargav Joshi @ 2026-08-15 18:53 UTC (permalink / raw)
To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Ivan Khoronzhuk, Nishanth Menon, Santosh Shilimkar
Cc: mfd, devicetree, linux-kernel, goledhruva, m-chawdhry,
daniel.baluta, simona.toaca, j.bhargav.u, linux-arm-kernel
Convert the Texas Instruments Keystone Device State Control binding from
legacy text format to DT schema.
During the conversion, the following updates were made:
- Add "simple-mfd" to compatibles matching existing dts usage.
- Add required bus properties #address-cells, #size-cells, and ranges
which were missing in text binding.
- Document child nodes gpio, interrupt-controller, and reset-controller.
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
Note: Running dt_binding_check on patch will yield a warning for
'ti,keystone-reset' in the example block. The YAML conversion patch for
that child node is already in progress here:
https://lore.kernel.org/linux-devicetree/20260813-ti-keystone-reset-v1-1-189389503324@gmail.com/
---
.../bindings/mfd/ti,keystone-devctrl.yaml | 84 ++++++++++++++++++++++
.../bindings/mfd/ti-keystone-devctrl.txt | 19 -----
2 files changed, 84 insertions(+), 19 deletions(-)
diff --git a/Documentation/devicetree/bindings/mfd/ti,keystone-devctrl.yaml b/Documentation/devicetree/bindings/mfd/ti,keystone-devctrl.yaml
new file mode 100644
index 000000000000..dd73b62357ca
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/ti,keystone-devctrl.yaml
@@ -0,0 +1,84 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/ti,keystone-devctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments Keystone Device State Control
+
+maintainers:
+ - Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
+
+description:
+ The Keystone II devices have a set of registers that are used to control the
+ status of its peripherals. This node is intended to allow access to this
+ functionality.
+
+properties:
+ compatible:
+ items:
+ - const: ti,keystone-devctrl
+ - const: syscon
+ - const: simple-mfd
+
+ reg:
+ maxItems: 1
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 1
+
+ ranges: true
+
+patternProperties:
+ "^gpio@[0-9a-f]+$":
+ type: object
+ description: Keystone DSP GPIO controller
+
+ "^interrupt-controller@[0-9a-f]+$":
+ type: object
+ description: Keystone DSP to ARM interrupt controller
+
+ "^reset-controller@[0-9a-f]+$":
+ type: object
+ description: Keystone reset controller
+
+required:
+ - compatible
+ - reg
+ - "#address-cells"
+ - "#size-cells"
+ - ranges
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ device-state-control@2620000 {
+ compatible = "ti,keystone-devctrl", "syscon", "simple-mfd";
+ reg = <0x02620000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x02620000 0x1000>;
+
+ interrupt-controller@2a0 {
+ compatible = "ti,keystone-irq";
+ reg = <0x2a0 0x4>;
+ interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ ti,syscon-dev = <&devctrl 0x2a0>;
+ };
+
+ reset-controller@328 {
+ compatible = "ti,keystone-reset";
+ reg = <0x328 0x10>;
+ ti,syscon-pll = <&pllctrl 0xe4>;
+ ti,syscon-dev = <&devctrl 0x328>;
+ ti,wdt-list = <0>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/mfd/ti-keystone-devctrl.txt b/Documentation/devicetree/bindings/mfd/ti-keystone-devctrl.txt
deleted file mode 100644
index 71a1f5963936..000000000000
--- a/Documentation/devicetree/bindings/mfd/ti-keystone-devctrl.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-* Device tree bindings for Texas Instruments keystone device state control
-
-The Keystone II devices have a set of registers that are used to control
-the status of its peripherals. This node is intended to allow access to
-this functionality.
-
-Required properties:
-
-- compatible: "ti,keystone-devctrl", "syscon"
-
-- reg: contains offset/length value for device state control
- registers space.
-
-Example:
-
-devctrl: device-state-control@02620000 {
- compatible = "ti,keystone-devctrl", "syscon";
- reg = <0x02620000 0x1000>;
-};
--
2.55.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] ARM: dts: ti: keystone: Align devctrl child node names with dtschema
2026-08-15 18:52 ` [PATCH v2 1/2] ARM: dts: ti: keystone: Align devctrl child node names with dtschema Bhargav Joshi
@ 2026-08-15 18:59 ` sashiko-bot
0 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-08-15 18:59 UTC (permalink / raw)
To: Bhargav Joshi; +Cc: robh, mfd, devicetree, lee, conor+dt
> Align TI Keystone device state control child node names with standard
> naming conventions.
> - Change keystone_irq to interrupt-controller
> - Change keystone_dsp_gpio to gpio
>
> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260816-ti-keystone-devctrl-v2-0-5ab1e13c15c1@gmail.com?part=1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema
2026-08-15 18:53 ` [PATCH v2 2/2] dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema Bhargav Joshi
@ 2026-08-15 19:00 ` sashiko-bot
0 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-08-15 19:00 UTC (permalink / raw)
To: Bhargav Joshi; +Cc: devicetree, mfd, lee, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Unresolved phandle references in the YAML example cause `dt_binding_check` failures.
--
--- Patch [2]: [PATCH v2 2/2] dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema ---
commit 48184e73993f7287e1c95f939a5d488075736de6
Author: Bhargav Joshi <j.bhargav.u@gmail.com>
dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema
This commit converts the Texas Instruments Keystone Device State Control
binding from the legacy text format to a DT schema. It also adds simple-mfd
and missing bus properties while documenting child nodes.
> diff --git a/Documentation/devicetree/bindings/mfd/ti,keystone-devctrl.yaml b/Documentation/devicetree/bindings/mfd/ti,keystone-devctrl.yaml
> new file mode 100644
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/ti,keystone-devctrl.yaml
[ ... ]
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + device-state-control@2620000 {
> + compatible = "ti,keystone-devctrl", "syscon", "simple-mfd";
> + reg = <0x02620000 0x1000>;
[ ... ]
> + interrupt-controller@2a0 {
> + compatible = "ti,keystone-irq";
> + reg = <0x2a0 0x4>;
> + interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
> + interrupt-controller;
> + #interrupt-cells = <1>;
> + ti,syscon-dev = <&devctrl 0x2a0>;
[Severity: Low]
Will dtc fail to compile this example due to an unresolved phandle reference?
The previous text binding defined a devctrl: label for the parent node, but
it appears to have been dropped during the conversion.
> + };
> +
> + reset-controller@328 {
> + compatible = "ti,keystone-reset";
> + reg = <0x328 0x10>;
> + ti,syscon-pll = <&pllctrl 0xe4>;
[Severity: Low]
Does the example need a dummy pllctrl node or label to avoid validation
failures? It looks like &pllctrl is referenced here but not defined anywhere
in the example block.
> + ti,syscon-dev = <&devctrl 0x328>;
> + ti,wdt-list = <0>;
> + };
> + };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260816-ti-keystone-devctrl-v2-0-5ab1e13c15c1@gmail.com?part=2
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-08-15 19:00 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-15 18:52 [PATCH v2 0/2] ti,keystone-devctrl: Convert to DT schema and DTS cleanups Bhargav Joshi
2026-08-15 18:52 ` [PATCH v2 1/2] ARM: dts: ti: keystone: Align devctrl child node names with dtschema Bhargav Joshi
2026-08-15 18:59 ` sashiko-bot
2026-08-15 18:53 ` [PATCH v2 2/2] dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema Bhargav Joshi
2026-08-15 19:00 ` sashiko-bot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.