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

Spreadtrum Clock Binding
------------------------

Required properties:
- compatible: should contain the following compatible strings:
	- "sprd,sc9860-pmu-gate"
	- "sprd,sc9860-pll"
	- "sprd,sc9860-ap-clk"
	- "sprd,sc9860-aon-prediv"
	- "sprd,sc9860-apahb-gate"
	- "sprd,sc9860-aon-gate"
	- "sprd,sc9860-aonsecure-clk"
	- "sprd,sc9860-agcp-gate"
	- "sprd,sc9860-gpu-clk"
	- "sprd,sc9860-vsp-clk"
	- "sprd,sc9860-vsp-gate"
	- "sprd,sc9860-cam-clk"
	- "sprd,sc9860-cam-gate"
	- "sprd,sc9860-disp-clk"
	- "sprd,sc9860-disp-gate"
	- "sprd,sc9860-apapb-gate"

- #clock-cells: must be 1

- clocks : Should be the input parent clock(s) phandle for the clock, this
	   property here just simply shows which clock group the clocks'
	   parents are in, since each clk node would represent many clocks
	   which are defined in the driver.  The detailed dependency
	   relationship (i.e. how many parents and which are the parents)
	   are implemented in driver code.

Optional properties:

- reg:	Contain the registers base address and length. It must be configured
	only if no 'sprd,syscon' under the node.

- sprd,syscon: phandle to the syscon which is in the same address area with
	       the clock, and so we can get regmap for the clocks from the
	       syscon device.

Example:

	pmu_gate: pmu-gate {
		compatible = "sprd,sc9860-pmu-gate";
		sprd,syscon = <&pmu_regs>;
		clocks = <&ext_26m>;
		#clock-cells = <1>;
	};

	pll: pll {
		compatible = "sprd,sc9860-pll";
		sprd,syscon = <&ana_regs>;
		clocks = <&pmu_gate 0>;
		#clock-cells = <1>;
	};

	ap_clk: clock-controller@20000000 {
		compatible = "sprd,sc9860-ap-clk";
		reg = <0 0x20000000 0 0x400>;
		clocks = <&ext_26m>, <&pll 0>,
			 <&pmu_gate 0>;
		#clock-cells = <1>;
	};