forked from luck/tmp_suning_uos_patched
841586082d
This patch adds new, Common Clock Framework-based clock driver for Samsung S5PV210 and compatible SoCs. The driver is just added, without enabling it yet. Signed-off-by: Mateusz Krawczuk <m.krawczuk@partner.samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> [t.figa: Added support for other SoC variants and clock output. Fixed remaining minor issues.] Signed-off-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
79 lines
2.3 KiB
Plaintext
79 lines
2.3 KiB
Plaintext
* 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";
|
|
};
|