Commit 0c193c24 authored by Ivaylo Ivanov's avatar Ivaylo Ivanov Committed by Stephen Boyd
Browse files

dt-bindings: clock: actions,owl-cmu: convert to YAML



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: default avatarIvaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20241114072601.265011-1-ivo.ivanov.ivanov1@gmail.com


Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent 5fbe6f51
Loading
Loading
Loading
Loading
+0 −52
Original line number Diff line number Diff line
* 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>;
        };
+60 −0
Original line number Diff line number Diff line
# 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.

  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>;
    };
...
+1 −1
Original line number Diff line number Diff line
@@ -1996,7 +1996,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