~funderscore blog cgit wiki get in touch
aboutsummaryrefslogtreecommitdiff
blob: c6fe48200cb5e306b13071b2377b0cd18f4c1a57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Texas Instruments TI SCI Clock Controller
=========================================

All clocks on Texas Instruments' SoCs that contain a System Controller,
are only controlled by this entity. Communication between a host processor
running an OS and the System Controller happens through a protocol known
as TI SCI[1]. This clock implementation plugs into the common clock
framework and makes use of the TI SCI protocol on clock API requests.

[1] http://processors.wiki.ti.com/index.php/TISCI

Clock Controller Node
=====================
The clock controller node represents the clocks managed by the SYSFW. Because
this relies on the TI SCI protocol to communicate with the SYSFW it must be a
child of the sysfw node.

Required Properties:
--------------------
- compatible: Must be "ti,k2g-sci-clk"
- #clock-cells: Must be be 2. In clock consumers, this cell represents the
		device ID and clock ID exposed by the SYSFW firmware.

Example (AM65x):
----------------
	dmsc: dmsc {
		compatible = "ti,k2g-sci";
		...
		k3_clks: clocks {
			compatible = "ti,k2g-sci-clk";
			#clock-cells = <2>;
		};
	};

Clock Consumers
===============
Hardware blocks supplied by a clock should contain a "clocks" property that is
a phandle pointing to the clock controller node along with an index representing
the device id together with a clock ID to be passed to the SYSFW for device
control.

Required Properties:
--------------------
- clocks: phandle pointing to the corresponding clock node, an ID representing
	  the device, and an index representing a clock.

Example (AM65x):
----------------
	uart2: serial@02800000 {
		compatible = "ti,omap4-uart";
		...
		clocks = <&k3_clks 0x0007 1>;
	};