xref: /freebsd/sys/contrib/device-tree/Bindings/clock/samsung,s3c2443-clock.txt (revision a90b9d0159070121c221b966469c3e36d912bf82)
1* Samsung S3C2443 Clock Controller
2
3The S3C2443 clock controller generates and supplies clock to various controllers
4within the SoC. The clock binding described here is applicable to all SoCs in
5the s3c24x family starting with the s3c2443.
6
7Required Properties:
8
9- compatible: should be one of the following.
10  - "samsung,s3c2416-clock" - controller compatible with S3C2416 SoC.
11  - "samsung,s3c2443-clock" - controller compatible with S3C2443 SoC.
12  - "samsung,s3c2450-clock" - controller compatible with S3C2450 SoC.
13- reg: physical base address of the controller and length of memory mapped
14  region.
15- #clock-cells: should be 1.
16
17Each clock is assigned an identifier and client nodes can use this identifier
18to specify the clock which they consume. Some of the clocks are available only
19on a particular SoC.
20
21All available clocks are defined as preprocessor macros in
22dt-bindings/clock/s3c2443.h header and can be used in device
23tree sources.
24
25External clocks:
26
27There are several clocks that are generated outside the SoC. It is expected
28that they are defined using standard clock bindings with following
29clock-output-names:
30 - "xti" - crystal input - required,
31 - "ext" - external clock source - optional,
32 - "ext_i2s" - external I2S clock - optional,
33 - "ext_uart" - external uart clock - optional,
34
35Example: Clock controller node:
36
37	clocks: clock-controller@4c000000 {
38		compatible = "samsung,s3c2416-clock";
39		reg = <0x4c000000 0x40>;
40		#clock-cells = <1>;
41	};
42
43Example: UART controller node that consumes the clock generated by the clock
44  controller (refer to the standard clock bindings for information about
45  "clocks" and "clock-names" properties):
46
47	serial@50004000 {
48		compatible = "samsung,s3c2440-uart";
49		reg = <0x50004000 0x4000>;
50		interrupts = <1 23 3 4>, <1 23 4 4>;
51		clock-names = "uart", "clk_uart_baud2",
52				"clk_uart_baud3";
53		clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,
54				<&clocks SCLK_UART>;
55	};
56