blob: c6fe48200cb5e306b13071b2377b0cd18f4c1a57 [file] [log] [blame]
Andreas Dannenberg1530e352018-08-27 15:57:43 +05301Texas Instruments TI SCI Clock Controller
2=========================================
3
4All clocks on Texas Instruments' SoCs that contain a System Controller,
5are only controlled by this entity. Communication between a host processor
6running an OS and the System Controller happens through a protocol known
7as TI SCI[1]. This clock implementation plugs into the common clock
8framework and makes use of the TI SCI protocol on clock API requests.
9
10[1] http://processors.wiki.ti.com/index.php/TISCI
11
12Clock Controller Node
13=====================
14The clock controller node represents the clocks managed by the SYSFW. Because
15this relies on the TI SCI protocol to communicate with the SYSFW it must be a
16child of the sysfw node.
17
18Required Properties:
19--------------------
20- compatible: Must be "ti,k2g-sci-clk"
21- #clock-cells: Must be be 2. In clock consumers, this cell represents the
22 device ID and clock ID exposed by the SYSFW firmware.
23
24Example (AM65x):
25----------------
26 dmsc: dmsc {
27 compatible = "ti,k2g-sci";
28 ...
29 k3_clks: clocks {
30 compatible = "ti,k2g-sci-clk";
31 #clock-cells = <2>;
32 };
33 };
34
35Clock Consumers
36===============
37Hardware blocks supplied by a clock should contain a "clocks" property that is
38a phandle pointing to the clock controller node along with an index representing
39the device id together with a clock ID to be passed to the SYSFW for device
40control.
41
42Required Properties:
43--------------------
44- clocks: phandle pointing to the corresponding clock node, an ID representing
45 the device, and an index representing a clock.
46
47Example (AM65x):
48----------------
49 uart2: serial@02800000 {
50 compatible = "ti,omap4-uart";
51 ...
52 clocks = <&k3_clks 0x0007 1>;
53 };