mirror of
https://github.com/torvalds/linux.git
synced 2026-04-21 08:13:56 -04:00
Texas Instrument's System Control Interface (TISCI) permits the ability for OSs running in virtual machines to be able to independently communicate with the firmware without the need going through an hypervisor. The "host-id" in effect is the hardware representation of the host (example: VMs locked to a core) as identified to the System Controller. Hypervisors can either fill in appropriate host-ids in dt used for each VM instance OR may use prebuilt blobs where the host-ids are pre-populated, as appropriate for the OS running in the VMs. This is introduced as an optional parameter to maintain consistency with legacy device tree blobs. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
86 lines
2.8 KiB
Plaintext
86 lines
2.8 KiB
Plaintext
Texas Instruments System Control Interface (TI-SCI) Message Protocol
|
|
--------------------------------------------------------------------
|
|
|
|
Texas Instrument's processors including those belonging to Keystone generation
|
|
of processors have separate hardware entity which is now responsible for the
|
|
management of the System on Chip (SoC) system. These include various system
|
|
level functions as well.
|
|
|
|
An example of such an SoC is K2G, which contains the system control hardware
|
|
block called Power Management Micro Controller (PMMC). This hardware block is
|
|
initialized early into boot process and provides services to Operating Systems
|
|
on multiple processors including ones running Linux.
|
|
|
|
See http://processors.wiki.ti.com/index.php/TISCI for protocol definition.
|
|
|
|
TI-SCI controller Device Node:
|
|
=============================
|
|
|
|
The TI-SCI node describes the Texas Instrument's System Controller entity node.
|
|
This parent node may optionally have additional children nodes which describe
|
|
specific functionality such as clocks, power domain, reset or additional
|
|
functionality as may be required for the SoC. This hierarchy also describes the
|
|
relationship between the TI-SCI parent node to the child node.
|
|
|
|
Required properties:
|
|
-------------------
|
|
- compatible: should be "ti,k2g-sci"
|
|
- mbox-names:
|
|
"rx" - Mailbox corresponding to receive path
|
|
"tx" - Mailbox corresponding to transmit path
|
|
|
|
- mboxes: Mailboxes corresponding to the mbox-names. Each value of the mboxes
|
|
property should contain a phandle to the mailbox controller device
|
|
node and an args specifier that will be the phandle to the intended
|
|
sub-mailbox child node to be used for communication.
|
|
|
|
See Documentation/devicetree/bindings/mailbox/mailbox.txt for more details
|
|
about the generic mailbox controller and client driver bindings. Also see
|
|
Documentation/devicetree/bindings/mailbox/ti,message-manager.txt for typical
|
|
controller that is used to communicate with this System controllers.
|
|
|
|
Optional Properties:
|
|
-------------------
|
|
- reg-names:
|
|
debug_messages - Map the Debug message region
|
|
- reg: register space corresponding to the debug_messages
|
|
- ti,system-reboot-controller: If system reboot can be triggered by SoC reboot
|
|
- ti,host-id: Integer value corresponding to the host ID assigned by Firmware
|
|
for identification of host processing entities such as virtual
|
|
machines
|
|
|
|
Example (K2G):
|
|
-------------
|
|
pmmc: pmmc {
|
|
compatible = "ti,k2g-sci";
|
|
ti,host-id = <2>;
|
|
mbox-names = "rx", "tx";
|
|
mboxes= <&msgmgr &msgmgr_proxy_pmmc_rx>,
|
|
<&msgmgr &msgmgr_proxy_pmmc_tx>;
|
|
reg-names = "debug_messages";
|
|
reg = <0x02921800 0x800>;
|
|
};
|
|
|
|
|
|
TI-SCI Client Device Node:
|
|
=========================
|
|
|
|
Client nodes are maintained as children of the relevant TI-SCI device node.
|
|
|
|
Example (K2G):
|
|
-------------
|
|
pmmc: pmmc {
|
|
compatible = "ti,k2g-sci";
|
|
...
|
|
|
|
my_clk_node: clk_node {
|
|
...
|
|
...
|
|
};
|
|
|
|
my_pd_node: pd_node {
|
|
...
|
|
...
|
|
};
|
|
};
|