Path: blob/main/sys/contrib/device-tree/Bindings/clock/actions,owl-cmu.txt
48375 views
* Actions Semi Owl Clock Management Unit (CMU)12The Actions Semi Owl Clock Management Unit generates and supplies clock3to various controllers within the SoC. The clock binding described here is4applicable to S900, S700 and S500 SoC's.56Required Properties:78- compatible: should be one of the following,9"actions,s900-cmu"10"actions,s700-cmu"11"actions,s500-cmu"12- reg: physical base address of the controller and length of memory mapped13region.14- clocks: Reference to the parent clocks ("hosc", "losc")15- #clock-cells: should be 1.16- #reset-cells: should be 1.1718Each clock is assigned an identifier, and client nodes can use this identifier19to specify the clock which they consume.2021All available clocks are defined as preprocessor macros in corresponding22dt-bindings/clock/actions,s900-cmu.h or actions,s700-cmu.h or23actions,s500-cmu.h header and can be used in device tree sources.2425External clocks:2627The hosc clock used as input for the plls is generated outside the SoC. It is28expected that it is defined using standard clock bindings as "hosc".2930Actions Semi S900 CMU also requires one more clock:31- "losc" - internal low frequency oscillator3233Example: Clock Management Unit node:3435cmu: clock-controller@e0160000 {36compatible = "actions,s900-cmu";37reg = <0x0 0xe0160000 0x0 0x1000>;38clocks = <&hosc>, <&losc>;39#clock-cells = <1>;40#reset-cells = <1>;41};4243Example: UART controller node that consumes clock generated by the clock44management unit:4546uart: serial@e012a000 {47compatible = "actions,s900-uart", "actions,owl-uart";48reg = <0x0 0xe012a000 0x0 0x2000>;49interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;50clocks = <&cmu CLK_UART5>;51};525354