diff options
author | Andreas Dannenberg <dannenberg@ti.com> | 2018-08-27 15:57:43 +0530 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-09-11 08:32:55 -0400 |
commit | e585bef17f9cc22ff82398654e8dfed8e5f39100 (patch) | |
tree | cad2b7d90ba47abd069a67491a8e243f5d3ce0a1 /doc | |
parent | 3b3969bd362b7f97f0f8973df9f1e921a065c5e6 (diff) | |
download | u-boot-e585bef17f9cc22ff82398654e8dfed8e5f39100.tar.gz u-boot-e585bef17f9cc22ff82398654e8dfed8e5f39100.tar.bz2 u-boot-e585bef17f9cc22ff82398654e8dfed8e5f39100.zip |
clk: Introduce TI System Control Interface (TI SCI) clock driver
Some TI Keystone 2 and K3 family of SoCs contain a system controller
(like the Power Management Micro Controller (PMMC) on 66AK2G SoCs and
the Device Management and Security Controller on AM65x SoCs) that manage
the low-level device control (like clocks, resets etc) for the various
hardware modules present on the SoC. These device control operations are
provided to the host processor OS through a communication protocol
called the TI System Control Interface (TI SCI) protocol.
This patch adds a clock driver that communicates to the system
controller over the TI SCI protocol for performing clock management of
various devices present on the SoC. Various clock functionality is
achieved by the means of different TI SCI device operations provided by
the TI SCI framework.
This code is loosely based on the drivers/clk/keystone/sci-clk.c driver
of the Linux kernel.
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/device-tree-bindings/clock/ti,sci-clk.txt | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/doc/device-tree-bindings/clock/ti,sci-clk.txt b/doc/device-tree-bindings/clock/ti,sci-clk.txt new file mode 100644 index 0000000000..c6fe48200c --- /dev/null +++ b/doc/device-tree-bindings/clock/ti,sci-clk.txt @@ -0,0 +1,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>; + }; |