| * 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>; |
| }; |