1* Actions Semi Owl Clock Management Unit (CMU) 2 3The Actions Semi Owl Clock Management Unit generates and supplies clock 4to various controllers within the SoC. The clock binding described here is 5applicable to S900, S700 and S500 SoC's. 6 7Required Properties: 8 9- compatible: should be one of the following, 10 "actions,s900-cmu" 11 "actions,s700-cmu" 12 "actions,s500-cmu" 13- reg: physical base address of the controller and length of memory mapped 14 region. 15- clocks: Reference to the parent clocks ("hosc", "losc") 16- #clock-cells: should be 1. 17- #reset-cells: should be 1. 18 19Each clock is assigned an identifier, and client nodes can use this identifier 20to specify the clock which they consume. 21 22All available clocks are defined as preprocessor macros in corresponding 23dt-bindings/clock/actions,s900-cmu.h or actions,s700-cmu.h or 24actions,s500-cmu.h header and can be used in device tree sources. 25 26External clocks: 27 28The hosc clock used as input for the plls is generated outside the SoC. It is 29expected that it is defined using standard clock bindings as "hosc". 30 31Actions Semi S900 CMU also requires one more clock: 32 - "losc" - internal low frequency oscillator 33 34Example: Clock Management Unit node: 35 36 cmu: clock-controller@e0160000 { 37 compatible = "actions,s900-cmu"; 38 reg = <0x0 0xe0160000 0x0 0x1000>; 39 clocks = <&hosc>, <&losc>; 40 #clock-cells = <1>; 41 #reset-cells = <1>; 42 }; 43 44Example: UART controller node that consumes clock generated by the clock 45management unit: 46 47 uart: serial@e012a000 { 48 compatible = "actions,s900-uart", "actions,owl-uart"; 49 reg = <0x0 0xe012a000 0x0 0x2000>; 50 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 51 clocks = <&cmu CLK_UART5>; 52 }; 53