On Thu, Nov 07, 2024 at 04:34:31PM +0200, Ivaylo Ivanov wrote: > 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@xxxxxxxxx> Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> Thanks! - Mani > --- > v3: list the headers in the description > v3: match properties: order with required: > v3: add clocks as a required property > v3: drop unused example node label > v3: use the preferred four-space indentation for dts example > > v2: drop address and size cells from example > --- > .../bindings/clock/actions,owl-cmu.txt | 52 ---------------- > .../bindings/clock/actions,owl-cmu.yaml | 60 +++++++++++++++++++ > MAINTAINERS | 2 +- > 3 files changed, 61 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..1717099b7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/actions,owl-cmu.yaml > @@ -0,0 +1,60 @@ > +# 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@xxxxxxxxxx> > + > +description: | > + The Actions Semi Owl Clock Management Unit generates and supplies clock > + to various controllers within the SoC. > + > + See also:: > + include/dt-bindings/clock/actions,s500-cmu.h > + include/dt-bindings/clock/actions,s700-cmu.h > + include/dt-bindings/clock/actions,s900-cmu.h > + > +properties: > + compatible: > + enum: > + - actions,s500-cmu > + - actions,s700-cmu > + - actions,s900-cmu > + > + reg: > + maxItems: 1 > + > + clocks: > + items: > + - description: Host oscillator source > + - description: Internal low frequency oscillator source > + > + "#clock-cells": > + const: 1 > + > + "#reset-cells": > + const: 1 > + > +required: > + - compatible > + - reg > + - clocks > + - "#clock-cells" > + - "#reset-cells" > + > +additionalProperties: false > + > +examples: > + - | > + clock-controller@e0160000 { > + compatible = "actions,s900-cmu"; > + reg = <0xe0160000 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@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers) > L: linux-actions@xxxxxxxxxxxxxxxxxxx (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 > -- மணிவண்ணன் சதாசிவம்