blob: c6fe48200cb5e306b13071b2377b0cd18f4c1a57 [file] [log] [blame]
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>;
};