[PATCH] dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema
Bhargav Joshi <[email protected]>
| Newsgroups | dev.linux.lists.mfd,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Convert the Texas Instruments Keystone Device State Control binding from legacy text format to DT schema. During the conversion, the following updates were made: - Added "simple-mfd" to the allowed compatible strings. - Enforced child bus properties (#address-cells, #size-cells, and ranges) to be required only when the "simple-mfd" compatible is present. - Added patternProperties definitions to validate standard child nodes - Updated the examples to demonstrate simple-mfd parent usage and updated node names to conform with standard Devicetree specifications. Signed-off-by: Bhargav Joshi <[email protected]> --- 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/[email protected]/ --- .../bindings/mfd/ti,keystone-devctrl.yaml | 105 +++++++++++++++++++++ .../bindings/mfd/ti-keystone-devctrl.txt | 19 ---- 2 files changed, 105 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..33a72c290fb1 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/ti,keystone-devctrl.yaml @@ -0,0 +1,105 @@ +# 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 <[email protected]> + +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: + minItems: 2 + items: + - const: ti,keystone-devctrl + - const: syscon + - const: simple-mfd + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 1 + + ranges: true + +patternProperties: + "^keystone_dsp_gpio@[0-9a-f]+$": + type: object + description: Keystone DSP GPIO controller + + "^keystone_irq@[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 + +allOf: + - if: + properties: + compatible: + contains: + const: simple-mfd + then: + required: + - "#address-cells" + - "#size-cells" + - ranges + else: + properties: + "#address-cells": false + "#size-cells": false + ranges: false + +additionalProperties: false + +examples: + - | + device-state-control@2620000 { + compatible = "ti,keystone-devctrl", "syscon"; + reg = <0x02620000 0x1000>; + }; + + - | + #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>; + + keystone_irq@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>; -}; --- base-commit: 3d6d817622b0a9721e3cc404df3469171582be13 change-id: 20260813-ti-keystone-devctrl-6e49212fe35d Best regards, -- Bhargav