Andreas Dannenberg | 1530e35 | 2018-08-27 15:57:43 +0530 | [diff] [blame] | 1 | Texas Instruments TI SCI Clock Controller |
| 2 | ========================================= |
| 3 | |
| 4 | All clocks on Texas Instruments' SoCs that contain a System Controller, |
| 5 | are only controlled by this entity. Communication between a host processor |
| 6 | running an OS and the System Controller happens through a protocol known |
| 7 | as TI SCI[1]. This clock implementation plugs into the common clock |
| 8 | framework and makes use of the TI SCI protocol on clock API requests. |
| 9 | |
| 10 | [1] http://processors.wiki.ti.com/index.php/TISCI |
| 11 | |
| 12 | Clock Controller Node |
| 13 | ===================== |
| 14 | The clock controller node represents the clocks managed by the SYSFW. Because |
| 15 | this relies on the TI SCI protocol to communicate with the SYSFW it must be a |
| 16 | child of the sysfw node. |
| 17 | |
| 18 | Required 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 | |
| 24 | Example (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 | |
| 35 | Clock Consumers |
| 36 | =============== |
| 37 | Hardware blocks supplied by a clock should contain a "clocks" property that is |
| 38 | a phandle pointing to the clock controller node along with an index representing |
| 39 | the device id together with a clock ID to be passed to the SYSFW for device |
| 40 | control. |
| 41 | |
| 42 | Required Properties: |
| 43 | -------------------- |
| 44 | - clocks: phandle pointing to the corresponding clock node, an ID representing |
| 45 | the device, and an index representing a clock. |
| 46 | |
| 47 | Example (AM65x): |
| 48 | ---------------- |
| 49 | uart2: serial@02800000 { |
| 50 | compatible = "ti,omap4-uart"; |
| 51 | ... |
| 52 | clocks = <&k3_clks 0x0007 1>; |
| 53 | }; |