Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

* Samsung S3C2410 Clock Controller

The S3C2410 clock controller generates and supplies clock to various controllers
within the SoC. The clock binding described here is applicable to the s3c2410,
s3c2440 and s3c2442 SoCs in the s3c24x family.

Required Properties:

- compatible: should be one of the following.
  - "samsung,s3c2410-clock" - controller compatible with S3C2410 SoC.
  - "samsung,s3c2440-clock" - controller compatible with S3C2440 SoC.
  - "samsung,s3c2442-clock" - controller compatible with S3C2442 SoC.
- 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/s3c2410.h header and can be used in device
tree sources.

External clocks:

The xti clock used as input for the plls is generated outside the SoC. It is
expected that is are defined using standard clock bindings with a
clock-output-names value of "xti".

Example: Clock controller node:

	clocks: clock-controller@4c000000 {
		compatible = "samsung,s3c2410-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,s3c2440-uart";
		reg = <0x50004000 0x4000>;
		interrupts = <1 23 3 4>, <1 23 4 4>;
		clock-names = "uart", "clk_uart_baud2";
		clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>;
		status = "disabled";
	};