mirror of https://gitee.com/openkylin/linux.git
50 lines
1.6 KiB
Plaintext
50 lines
1.6 KiB
Plaintext
|
* Samsung S3C2412 Clock Controller
|
||
|
|
||
|
The S3C2412 clock controller generates and supplies clock to various controllers
|
||
|
within the SoC. The clock binding described here is applicable to the s3c2412
|
||
|
and s3c2413 SoCs in the s3c24x family.
|
||
|
|
||
|
Required Properties:
|
||
|
|
||
|
- compatible: should be "samsung,s3c2412-clock"
|
||
|
- reg: physical base address of the controller and length of memory mapped
|
||
|
region.
|
||
|
- #clock-cells: should be 1.
|
||
|
|
||
|
Each clock is assigned an identifier and client nodes can use this identifier
|
||
|
to specify the clock which they consume. Some of the clocks are available only
|
||
|
on a particular SoC.
|
||
|
|
||
|
All available clocks are defined as preprocessor macros in
|
||
|
dt-bindings/clock/s3c2412.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:
|
||
|
- "xti" - crystal input - required,
|
||
|
- "ext" - external clock source - optional,
|
||
|
|
||
|
Example: Clock controller node:
|
||
|
|
||
|
clocks: clock-controller@4c000000 {
|
||
|
compatible = "samsung,s3c2412-clock";
|
||
|
reg = <0x4c000000 0x20>;
|
||
|
#clock-cells = <1>;
|
||
|
};
|
||
|
|
||
|
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):
|
||
|
|
||
|
serial@50004000 {
|
||
|
compatible = "samsung,s3c2412-uart";
|
||
|
reg = <0x50004000 0x4000>;
|
||
|
interrupts = <1 23 3 4>, <1 23 4 4>;
|
||
|
clock-names = "uart", "clk_uart_baud2", "clk_uart_baud3";
|
||
|
clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,
|
||
|
<&clocks SCLK_UART>;
|
||
|
};
|