TEXT   44

Actions S900 Clock Management Unit

Guest on 19th August 2022 12:27:35 AM

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

Raw Paste


Login or Register to edit or fork this paste. It's free.