samsung,s3c64xx-clock.txt 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. * Samsung S3C64xx Clock Controller
  2. The S3C64xx clock controller generates and supplies clock to various controllers
  3. within the SoC. The clock binding described here is applicable to all SoCs in
  4. the S3C64xx family.
  5. Required Properties:
  6. - compatible: should be one of the following.
  7. - "samsung,s3c6400-clock" - controller compatible with S3C6400 SoC.
  8. - "samsung,s3c6410-clock" - controller compatible with S3C6410 SoC.
  9. - reg: physical base address of the controller and length of memory mapped
  10. region.
  11. - #clock-cells: should be 1.
  12. Each clock is assigned an identifier and client nodes can use this identifier
  13. to specify the clock which they consume. Some of the clocks are available only
  14. on a particular S3C64xx SoC and this is specified where applicable.
  15. All available clocks are defined as preprocessor macros in
  16. dt-bindings/clock/samsung,s3c64xx-clock.h header and can be used in device
  17. tree sources.
  18. External clocks:
  19. There are several clocks that are generated outside the SoC. It is expected
  20. that they are defined using standard clock bindings with following
  21. clock-output-names:
  22. - "fin_pll" - PLL input clock (xtal/extclk) - required,
  23. - "xusbxti" - USB xtal - required,
  24. - "iiscdclk0" - I2S0 codec clock - optional,
  25. - "iiscdclk1" - I2S1 codec clock - optional,
  26. - "iiscdclk2" - I2S2 codec clock - optional,
  27. - "pcmcdclk0" - PCM0 codec clock - optional,
  28. - "pcmcdclk1" - PCM1 codec clock - optional, only S3C6410.
  29. Example: Clock controller node:
  30. clock: clock-controller@7e00f000 {
  31. compatible = "samsung,s3c6410-clock";
  32. reg = <0x7e00f000 0x1000>;
  33. #clock-cells = <1>;
  34. };
  35. Example: Required external clocks:
  36. fin_pll: clock-fin-pll {
  37. compatible = "fixed-clock";
  38. clock-output-names = "fin_pll";
  39. clock-frequency = <12000000>;
  40. #clock-cells = <0>;
  41. };
  42. xusbxti: clock-xusbxti {
  43. compatible = "fixed-clock";
  44. clock-output-names = "xusbxti";
  45. clock-frequency = <48000000>;
  46. #clock-cells = <0>;
  47. };
  48. Example: UART controller node that consumes the clock generated by the clock
  49. controller (refer to the standard clock bindings for information about
  50. "clocks" and "clock-names" properties):
  51. uart0: serial@7f005000 {
  52. compatible = "samsung,s3c6400-uart";
  53. reg = <0x7f005000 0x100>;
  54. interrupt-parent = <&vic1>;
  55. interrupts = <5>;
  56. clock-names = "uart", "clk_uart_baud2",
  57. "clk_uart_baud3";
  58. clocks = <&clock PCLK_UART0>, <&clocks PCLK_UART0>,
  59. <&clock SCLK_UART>;
  60. status = "disabled";
  61. };