xref: /freebsd/sys/contrib/device-tree/Bindings/clock/samsung,s5pv210-clock.txt (revision 2e3507c25e42292b45a5482e116d278f5515d04d)
1* Samsung S5P6442/S5PC110/S5PV210 Clock Controller
2
3Samsung S5P6442, S5PC110 and S5PV210 SoCs contain integrated clock
4controller, which generates and supplies clock to various controllers
5within the SoC.
6
7Required 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
20All available clocks are defined as preprocessor macros in
21dt-bindings/clock/s5pv210.h header and can be used in device tree sources.
22
23External clocks:
24
25There are several clocks that are generated outside the SoC. It is expected
26that they are defined using standard clock bindings with following
27clock-output-names:
28 - "xxti": external crystal oscillator connected to XXTI and XXTO pins of
29the SoC,
30 - "xusbxti": external crystal oscillator connected to XUSBXTI and XUSBXTO
31pins of the SoC,
32
33A subset of above clocks available on given board shall be specified in
34board device tree, including the system base clock, as selected by XOM[0]
35pin of the SoC. Refer to generic fixed rate clock bindings
36documentation[1] for more information how to specify these clocks.
37
38[1] Documentation/devicetree/bindings/clock/fixed-clock.yaml
39
40Example: Clock controller node:
41
42	clock: clock-controller@7e00f000 {
43		compatible = "samsung,s5pv210-clock";
44		reg = <0x7e00f000 0x1000>;
45		#clock-cells = <1>;
46	};
47
48Example: 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
64Example: 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	};
78