[PATCH v1] dt-bindings: clock: actions,owl-cmu: convert to YAML

Ivaylo Ivanov posted 1 patch 2 weeks, 5 days ago
There is a newer version of this series
.../bindings/clock/actions,owl-cmu.txt        | 52 ----------------
.../bindings/clock/actions,owl-cmu.yaml       | 61 +++++++++++++++++++
MAINTAINERS                                   |  2 +-
3 files changed, 62 insertions(+), 53 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/clock/actions,owl-cmu.txt
create mode 100644 Documentation/devicetree/bindings/clock/actions,owl-cmu.yaml
[PATCH v1] dt-bindings: clock: actions,owl-cmu: convert to YAML
Posted by Ivaylo Ivanov 2 weeks, 5 days ago
Convert the Actions Semi Owl CMU bindings to DT schema.

Changes during conversion:
 - Since all Actions Semi Owl SoCs utilize the internal low frequency
   oscillator as a parent for some clocks, require it.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
---
 .../bindings/clock/actions,owl-cmu.txt        | 52 ----------------
 .../bindings/clock/actions,owl-cmu.yaml       | 61 +++++++++++++++++++
 MAINTAINERS                                   |  2 +-
 3 files changed, 62 insertions(+), 53 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/clock/actions,owl-cmu.txt
 create mode 100644 Documentation/devicetree/bindings/clock/actions,owl-cmu.yaml

diff --git a/Documentation/devicetree/bindings/clock/actions,owl-cmu.txt b/Documentation/devicetree/bindings/clock/actions,owl-cmu.txt
deleted file mode 100644
index d19885b7c..000000000
--- a/Documentation/devicetree/bindings/clock/actions,owl-cmu.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-* Actions Semi Owl Clock Management Unit (CMU)
-
-The Actions Semi Owl Clock Management Unit generates and supplies clock
-to various controllers within the SoC. The clock binding described here is
-applicable to S900, S700 and S500 SoC's.
-
-Required Properties:
-
-- compatible: should be one of the following,
-	"actions,s900-cmu"
-	"actions,s700-cmu"
-	"actions,s500-cmu"
-- reg: physical base address of the controller and length of memory mapped
-  region.
-- clocks: Reference to the parent clocks ("hosc", "losc")
-- #clock-cells: should be 1.
-- #reset-cells: should be 1.
-
-Each clock is assigned an identifier, and client nodes can use this identifier
-to specify the clock which they consume.
-
-All available clocks are defined as preprocessor macros in corresponding
-dt-bindings/clock/actions,s900-cmu.h or actions,s700-cmu.h or
-actions,s500-cmu.h header and can be used in device tree sources.
-
-External clocks:
-
-The hosc clock used as input for the plls is generated outside the SoC. It is
-expected that it is defined using standard clock bindings as "hosc".
-
-Actions Semi S900 CMU also requires one more clock:
- - "losc" - internal low frequency oscillator
-
-Example: Clock Management Unit node:
-
-        cmu: clock-controller@e0160000 {
-                compatible = "actions,s900-cmu";
-                reg = <0x0 0xe0160000 0x0 0x1000>;
-                clocks = <&hosc>, <&losc>;
-                #clock-cells = <1>;
-                #reset-cells = <1>;
-        };
-
-Example: UART controller node that consumes clock generated by the clock
-management unit:
-
-        uart: serial@e012a000 {
-                compatible = "actions,s900-uart", "actions,owl-uart";
-                reg = <0x0 0xe012a000 0x0 0x2000>;
-                interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
-                clocks = <&cmu CLK_UART5>;
-        };
diff --git a/Documentation/devicetree/bindings/clock/actions,owl-cmu.yaml b/Documentation/devicetree/bindings/clock/actions,owl-cmu.yaml
new file mode 100644
index 000000000..e9c0dfb94
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/actions,owl-cmu.yaml
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/actions,owl-cmu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Actions Semi Owl Clock Management Unit (CMU)
+
+maintainers:
+  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+
+description: |
+  The Actions Semi Owl Clock Management Unit generates and supplies clock
+  to various controllers within the SoC.
+
+  All available clocks are defined as preprocessor macros in
+  include/dt-bindings/clock/ headers.
+
+properties:
+  compatible:
+    enum:
+      - actions,s500-cmu
+      - actions,s700-cmu
+      - actions,s900-cmu
+
+  clocks:
+    items:
+      - description: Host oscillator source
+      - description: Internal low frequency oscillator source
+
+  "#clock-cells":
+    const: 1
+
+  reg:
+    maxItems: 1
+
+  "#reset-cells":
+    const: 1
+
+required:
+  - compatible
+  - reg
+  - "#clock-cells"
+  - "#reset-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    soc {
+        #address-cells = <2>;
+        #size-cells = <2>;
+        cmu: clock-controller@e0160000 {
+          compatible = "actions,s900-cmu";
+          reg = <0x0 0xe0160000 0x0 0x1000>;
+          clocks = <&hosc>, <&losc>;
+          #clock-cells = <1>;
+          #reset-cells = <1>;
+        };
+    };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 420d06d37..652c9822a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2016,7 +2016,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-actions@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 F:	Documentation/devicetree/bindings/arm/actions.yaml
-F:	Documentation/devicetree/bindings/clock/actions,owl-cmu.txt
+F:	Documentation/devicetree/bindings/clock/actions,owl-cmu.yaml
 F:	Documentation/devicetree/bindings/dma/owl-dma.yaml
 F:	Documentation/devicetree/bindings/i2c/i2c-owl.yaml
 F:	Documentation/devicetree/bindings/interrupt-controller/actions,owl-sirq.yaml
-- 
2.43.0
Re: [PATCH v1] dt-bindings: clock: actions,owl-cmu: convert to YAML
Posted by Conor Dooley 2 weeks, 5 days ago
On Mon, Nov 04, 2024 at 05:31:08PM +0200, Ivaylo Ivanov wrote:
> +    soc {

> +        #address-cells = <2>;
> +        #size-cells = <2>;

FWIW, you could drop these two if...

> +        cmu: clock-controller@e0160000 {
> +          compatible = "actions,s900-cmu";
> +          reg = <0x0 0xe0160000 0x0 0x1000>;

...you dropped the 0x0s from here.

Reviewed-by: Conor Dooley <conor.dooley@microchip.com>

Cheers,
Conor.
Re: [PATCH v1] dt-bindings: clock: actions,owl-cmu: convert to YAML
Posted by Ivaylo Ivanov 2 weeks, 5 days ago


On 11/4/24 21:03, Conor Dooley wrote:
> On Mon, Nov 04, 2024 at 05:31:08PM +0200, Ivaylo Ivanov wrote:
>> +    soc {
>> +        #address-cells = <2>;
>> +        #size-cells = <2>;
> FWIW, you could drop these two if...

I see, although the point of this was to keep it the example as close
to the original usage in s900.dtsi as possible. Anyways, if a v2 is
needed, I can do that.

Thanks for the review!
Best regards, Ivo.

>
>> +        cmu: clock-controller@e0160000 {
>> +          compatible = "actions,s900-cmu";
>> +          reg = <0x0 0xe0160000 0x0 0x1000>;
> ...you dropped the 0x0s from here.
>
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
>
> Cheers,
> Conor.
Re: [PATCH v1] dt-bindings: clock: actions,owl-cmu: convert to YAML
Posted by Stephen Boyd 2 weeks, 4 days ago
Quoting Ivaylo Ivanov (2024-11-04 12:19:57)
> 
> 
> 
> On 11/4/24 21:03, Conor Dooley wrote:
> > On Mon, Nov 04, 2024 at 05:31:08PM +0200, Ivaylo Ivanov wrote:
> >> +    soc {
> >> +        #address-cells = <2>;
> >> +        #size-cells = <2>;
> > FWIW, you could drop these two if...
> 
> I see, although the point of this was to keep it the example as close
> to the original usage in s900.dtsi as possible. Anyways, if a v2 is
> needed, I can do that.

Please resend with the fix.
Re: [PATCH v1] dt-bindings: clock: actions,owl-cmu: convert to YAML
Posted by Stephen Boyd 2 weeks, 4 days ago
Quoting Stephen Boyd (2024-11-05 17:02:20)
> Quoting Ivaylo Ivanov (2024-11-04 12:19:57)
> > 
> > 
> > 
> > On 11/4/24 21:03, Conor Dooley wrote:
> > > On Mon, Nov 04, 2024 at 05:31:08PM +0200, Ivaylo Ivanov wrote:
> > >> +    soc {
> > >> +        #address-cells = <2>;
> > >> +        #size-cells = <2>;
> > > FWIW, you could drop these two if...
> > 
> > I see, although the point of this was to keep it the example as close
> > to the original usage in s900.dtsi as possible. Anyways, if a v2 is
> > needed, I can do that.
> 
> Please resend with the fix.
> 

Just drop the entire soc node as well because it doesn't help.