| * Actions S900 Clock Management Unit (CMU) |
| |
| The Actions S900 clock management unit generates and supplies clock to various |
| controllers within the SoC. The clock binding described here is applicable to |
| S900 SoC. |
| |
| Required Properties: |
| |
| - compatible: should be "actions,s900-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. |
| |
| 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 |
| dt-bindings/clock/actions,s900-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 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>; |
| }; |
| |
| 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>; |
| }; |