|
@@ -0,0 +1,60 @@
|
|
|
|
|
+* Texas Instruments K3 NavigatorSS Ring Accelerator
|
|
|
|
|
+
|
|
|
|
|
+The Ring Accelerator (RA) is a machine which converts read/write accesses
|
|
|
|
|
+from/to a constant address into corresponding read/write accesses from/to a
|
|
|
|
|
+circular data structure in memory. The RA eliminates the need for each DMA
|
|
|
|
|
+controller which needs to access ring elements from having to know the current
|
|
|
|
|
+state of the ring (base address, current offset). The DMA controller
|
|
|
|
|
+performs a read or write access to a specific address range (which maps to the
|
|
|
|
|
+source interface on the RA) and the RA replaces the address for the transaction
|
|
|
|
|
+with a new address which corresponds to the head or tail element of the ring
|
|
|
|
|
+(head for reads, tail for writes).
|
|
|
|
|
+
|
|
|
|
|
+The Ring Accelerator is a hardware module that is responsible for accelerating
|
|
|
|
|
+management of the packet queues. The K3 SoCs can have more than one RA instances
|
|
|
|
|
+
|
|
|
|
|
+Required properties:
|
|
|
|
|
+- compatible : Must be "ti,am654-navss-ringacc";
|
|
|
|
|
+- reg : Should contain register location and length of the following
|
|
|
|
|
+ named register regions.
|
|
|
|
|
+- reg-names : should be
|
|
|
|
|
+ "rt" - The RA Ring Real-time Control/Status Registers
|
|
|
|
|
+ "fifos" - The RA Queues Registers
|
|
|
|
|
+ "proxy_gcfg" - The RA Proxy Global Config Registers
|
|
|
|
|
+ "proxy_target" - The RA Proxy Datapath Registers
|
|
|
|
|
+- ti,num-rings : Number of rings supported by RA
|
|
|
|
|
+
|
|
|
|
|
+Optional properties:
|
|
|
|
|
+ -- ti,gp-rings : defines general purpose range of rings. Pair of values:
|
|
|
|
|
+ first ring in range and range size.
|
|
|
|
|
+ Each range of rings defined as pair of values: first ring id
|
|
|
|
|
+ in range and number of rings in range.
|
|
|
|
|
+ -- ti,dma-ring-reset-quirk : enable ringacc / udma ring state interoperability
|
|
|
|
|
+ issue software w/a
|
|
|
|
|
+ -- ti,sci : phandle on TI-SCI compatible System controller node
|
|
|
|
|
+ -- ti,sci-dev-id : TI-SCI device id
|
|
|
|
|
+
|
|
|
|
|
+Example:
|
|
|
|
|
+
|
|
|
|
|
+ringacc: ringacc@3c000000 {
|
|
|
|
|
+ compatible = "ti,am654-navss-ringacc";
|
|
|
|
|
+ reg = <0x0 0x3c000000 0x0 0x400000>,
|
|
|
|
|
+ <0x0 0x38000000 0x0 0x400000>,
|
|
|
|
|
+ <0x0 0x31120000 0x0 0x100>,
|
|
|
|
|
+ <0x0 0x33000000 0x0 0x40000>;
|
|
|
|
|
+ reg-names = "rt", "fifos",
|
|
|
|
|
+ "proxy_gcfg", "proxy_target";
|
|
|
|
|
+ ti,num-rings = <818>;
|
|
|
|
|
+ ti,gp-rings = <302 466>; /* start, cnt */
|
|
|
|
|
+ ti,dma-ring-reset-quirk;
|
|
|
|
|
+ ti,sci = <&dmsc>;
|
|
|
|
|
+ ti,sci-dev-id = <187>;
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+client:
|
|
|
|
|
+
|
|
|
|
|
+dma_ipx: dma_ipx@<addr> {
|
|
|
|
|
+ ...
|
|
|
|
|
+ ti,ringacc = <&ringacc>;
|
|
|
|
|
+ ...
|
|
|
|
|
+}
|