GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / clock / samsung,s5pv210-clock.txt
1 * Samsung S5P6442/S5PC110/S5PV210 Clock Controller
2
3 Samsung S5P6442, S5PC110 and S5PV210 SoCs contain integrated clock
4 controller, which generates and supplies clock to various controllers
5 within the SoC.
6
7 Required Properties:
8
9 - compatible: should be one of following:
10         - "samsung,s5pv210-clock" : for clock controller of Samsung
11           S5PC110/S5PV210 SoCs,
12         - "samsung,s5p6442-clock" : for clock controller of Samsung
13           S5P6442 SoC.
14
15 - reg: physical base address of the controller and length of memory mapped
16   region.
17
18 - #clock-cells: should be 1.
19
20 All available clocks are defined as preprocessor macros in
21 dt-bindings/clock/s5pv210.h header and can be used in device tree sources.
22
23 External clocks:
24
25 There are several clocks that are generated outside the SoC. It is expected
26 that they are defined using standard clock bindings with following
27 clock-output-names:
28  - "xxti": external crystal oscillator connected to XXTI and XXTO pins of
29 the SoC,
30  - "xusbxti": external crystal oscillator connected to XUSBXTI and XUSBXTO
31 pins of the SoC,
32
33 A subset of above clocks available on given board shall be specified in
34 board device tree, including the system base clock, as selected by XOM[0]
35 pin of the SoC. Refer to generic fixed rate clock bindings
36 documentation[1] for more information how to specify these clocks.
37
38 [1] Documentation/devicetree/bindings/clock/fixed-clock.txt
39
40 Example: Clock controller node:
41
42         clock: clock-controller@7e00f000 {
43                 compatible = "samsung,s5pv210-clock";
44                 reg = <0x7e00f000 0x1000>;
45                 #clock-cells = <1>;
46         };
47
48 Example: Required external clocks:
49
50         xxti: clock-xxti {
51                 compatible = "fixed-clock";
52                 clock-output-names = "xxti";
53                 clock-frequency = <24000000>;
54                 #clock-cells = <0>;
55         };
56
57         xusbxti: clock-xusbxti {
58                 compatible = "fixed-clock";
59                 clock-output-names = "xusbxti";
60                 clock-frequency = <24000000>;
61                 #clock-cells = <0>;
62         };
63
64 Example: UART controller node that consumes the clock generated by the clock
65   controller (refer to the standard clock bindings for information about
66   "clocks" and "clock-names" properties):
67
68         uart0: serial@e2900000 {
69                 compatible = "samsung,s5pv210-uart";
70                 reg = <0xe2900000 0x400>;
71                 interrupt-parent = <&vic1>;
72                 interrupts = <10>;
73                 clock-names = "uart", "clk_uart_baud0",
74                                 "clk_uart_baud1";
75                 clocks = <&clocks UART0>, <&clocks UART0>,
76                                 <&clocks SCLK_UART0>;
77         };