Documentation/devicetree/bindings/remoteproc/ti,keystone-rproc.txt

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/remoteproc/ti,keystone-rproc.txt

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/remoteproc/ti,keystone-rproc.txt
Extension
.txt
Size
5996 bytes
Lines
183
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

TI Keystone DSP devices
=======================

The TI Keystone 2 family of SoCs usually have one or more (upto 8) TI DSP Core
sub-systems that are used to offload some of the processor-intensive tasks or
algorithms, for achieving various system level goals.

These processor sub-systems usually contain additional sub-modules like L1
and/or L2 caches/SRAMs, an Interrupt Controller, an external memory controller,
a dedicated local power/sleep controller etc. The DSP processor core in
Keystone 2 SoCs is usually a TMS320C66x CorePac processor.

DSP Device Node:
================
Each DSP Core sub-system is represented as a single DT node, and should also
have an alias with the stem 'rproc' defined. Each node has a number of required
or optional properties that enable the OS running on the host processor (ARM
CorePac) to perform the device management of the remote processor and to
communicate with the remote processor.

Required properties:
--------------------
The following are the mandatory properties:

- compatible:		Should be one of the following,
			    "ti,k2hk-dsp" for DSPs on Keystone 2 66AK2H/K SoCs
			    "ti,k2l-dsp" for DSPs on Keystone 2 66AK2L SoCs
			    "ti,k2e-dsp" for DSPs on Keystone 2 66AK2E SoCs
			    "ti,k2g-dsp" for DSPs on Keystone 2 66AK2G SoCs

- reg:			Should contain an entry for each value in 'reg-names'.
			Each entry should have the memory region's start address
			and the size of the region, the representation matching
			the parent node's '#address-cells' and '#size-cells' values.

- reg-names:		Should contain strings with the following names, each
			representing a specific internal memory region, and
			should be defined in this order,
			     "l2sram", "l1pram", "l1dram"

- ti,syscon-dev:	Should be a pair of the phandle to the Keystone Device
			State Control node, and the register offset of the DSP
			boot address register within that node's address space.

- resets:		Should contain the phandle to the reset controller node
			managing the resets for this device, and a reset
			specifier. Please refer to either of the following reset
			bindings for the reset argument specifier as per SoC,
			Documentation/devicetree/bindings/reset/ti-syscon-reset.txt
			    for 66AK2HK/66AK2L/66AK2E SoCs or,
			Documentation/devicetree/bindings/reset/ti,sci-reset.yaml
			    for 66AK2G SoCs

- interrupts: 		Should contain an entry for each value in 'interrupt-names'.
			Each entry should have the interrupt source number used by
			the remote processor to the host processor. The values should
			follow the interrupt-specifier format as dictated by the
			'interrupt-parent' node. The purpose of each is as per the
			description in the 'interrupt-names' property.

- interrupt-names:	Should contain strings with the following names, each
			representing a specific interrupt,
			    "vring" - interrupt for virtio based IPC
			    "exception" - interrupt for exception notification

- kick-gpios: 		Should specify the gpio device needed for the virtio IPC
			stack. This will be used to interrupt the remote processor.
			The gpio device to be used is as per the bindings in,
			Documentation/devicetree/bindings/gpio/ti,keystone-dsp-gpio.yaml

Annotation

Implementation Notes