| * Samsung S5P6442/S5PC110/S5PV210 Clock Controller |
| |
| Samsung S5P6442, S5PC110 and S5PV210 SoCs contain integrated clock |
| controller, which generates and supplies clock to various controllers |
| within the SoC. |
| |
| Required Properties: |
| |
| - compatible: should be one of following: |
| - "samsung,s5pv210-clock" : for clock controller of Samsung |
| S5PC110/S5PV210 SoCs, |
| - "samsung,s5p6442-clock" : for clock controller of Samsung |
| S5P6442 SoC. |
| |
| - reg: physical base address of the controller and length of memory mapped |
| region. |
| |
| - #clock-cells: should be 1. |
| |
| All available clocks are defined as preprocessor macros in |
| dt-bindings/clock/s5pv210.h header and can be used in device tree sources. |
| |
| External clocks: |
| |
| There are several clocks that are generated outside the SoC. It is expected |
| that they are defined using standard clock bindings with following |
| clock-output-names: |
| - "xxti": external crystal oscillator connected to XXTI and XXTO pins of |
| the SoC, |
| - "xusbxti": external crystal oscillator connected to XUSBXTI and XUSBXTO |
| pins of the SoC, |
| |
| A subset of above clocks available on given board shall be specified in |
| board device tree, including the system base clock, as selected by XOM[0] |
| pin of the SoC. Refer to generic fixed rate clock bindings |
| documentation[1] for more information how to specify these clocks. |
| |
| [1] Documentation/devicetree/bindings/clock/fixed-clock.yaml |
| |
| Example: Clock controller node: |
| |
| clock: clock-controller@7e00f000 { |
| compatible = "samsung,s5pv210-clock"; |
| reg = <0x7e00f000 0x1000>; |
| #clock-cells = <1>; |
| }; |
| |
| Example: Required external clocks: |
| |
| xxti: clock-xxti { |
| compatible = "fixed-clock"; |
| clock-output-names = "xxti"; |
| clock-frequency = <24000000>; |
| #clock-cells = <0>; |
| }; |
| |
| xusbxti: clock-xusbxti { |
| compatible = "fixed-clock"; |
| clock-output-names = "xusbxti"; |
| clock-frequency = <24000000>; |
| #clock-cells = <0>; |
| }; |
| |
| Example: UART controller node that consumes the clock generated by the clock |
| controller (refer to the standard clock bindings for information about |
| "clocks" and "clock-names" properties): |
| |
| uart0: serial@e2900000 { |
| compatible = "samsung,s5pv210-uart"; |
| reg = <0xe2900000 0x400>; |
| interrupt-parent = <&vic1>; |
| interrupts = <10>; |
| clock-names = "uart", "clk_uart_baud0", |
| "clk_uart_baud1"; |
| clocks = <&clocks UART0>, <&clocks UART0>, |
| <&clocks SCLK_UART0>; |
| }; |