97 lines
3.0 KiB
YAML
97 lines
3.0 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: "http://devicetree.org/schemas/soc/ti/k3-ringacc.yaml#"
|
||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||
|
|
||
|
title: Texas Instruments K3 NavigatorSS Ring Accelerator
|
||
|
|
||
|
maintainers:
|
||
|
- Santosh Shilimkar <ssantosh@kernel.org>
|
||
|
- Grygorii Strashko <grygorii.strashko@ti.com>
|
||
|
|
||
|
description: |
|
||
|
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
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
items:
|
||
|
- const: ti,am654-navss-ringacc
|
||
|
|
||
|
reg:
|
||
|
items:
|
||
|
- description: real time registers regions
|
||
|
- description: fifos registers regions
|
||
|
- description: proxy gcfg registers regions
|
||
|
- description: proxy target registers regions
|
||
|
|
||
|
reg-names:
|
||
|
items:
|
||
|
- const: rt
|
||
|
- const: fifos
|
||
|
- const: proxy_gcfg
|
||
|
- const: proxy_target
|
||
|
|
||
|
msi-parent: true
|
||
|
|
||
|
ti,num-rings:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: Number of rings supported by RA
|
||
|
|
||
|
ti,sci-rm-range-gp-rings:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: TI-SCI RM subtype for GP ring range
|
||
|
|
||
|
ti,sci:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||
|
description: phandle on TI-SCI compatible System controller node
|
||
|
|
||
|
ti,sci-dev-id:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: TI-SCI device id of the ring accelerator
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- reg-names
|
||
|
- msi-parent
|
||
|
- ti,num-rings
|
||
|
- ti,sci-rm-range-gp-rings
|
||
|
- ti,sci
|
||
|
- ti,sci-dev-id
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
bus {
|
||
|
#address-cells = <2>;
|
||
|
#size-cells = <2>;
|
||
|
|
||
|
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,sci-rm-range-gp-rings = <0x2>; /* GP ring range */
|
||
|
ti,sci = <&dmsc>;
|
||
|
ti,sci-dev-id = <187>;
|
||
|
msi-parent = <&inta_main_udmass>;
|
||
|
};
|
||
|
};
|