summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/clock/samsung,s5pv210-clock.txt
blob: effd9401c13317934a38eeaa03e273a4c804d97e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
* 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.txt

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>;
		status = "disabled";
	};