97 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/3%YAML 1.24---5$id: http://devicetree.org/schemas/soc/ti/k3-ringacc.yaml#6$schema: http://devicetree.org/meta-schemas/core.yaml#7 8title: Texas Instruments K3 NavigatorSS Ring Accelerator9 10maintainers:11 - Santosh Shilimkar <ssantosh@kernel.org>12 - Grygorii Strashko <grygorii.strashko@ti.com>13 14description: |15 The Ring Accelerator (RA) is a machine which converts read/write accesses16 from/to a constant address into corresponding read/write accesses from/to a17 circular data structure in memory. The RA eliminates the need for each DMA18 controller which needs to access ring elements from having to know the current19 state of the ring (base address, current offset). The DMA controller20 performs a read or write access to a specific address range (which maps to the21 source interface on the RA) and the RA replaces the address for the transaction22 with a new address which corresponds to the head or tail element of the ring23 (head for reads, tail for writes).24 25 The Ring Accelerator is a hardware module that is responsible for accelerating26 management of the packet queues. The K3 SoCs can have more than one RA instances27 28allOf:29 - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml#30 31properties:32 compatible:33 items:34 - const: ti,am654-navss-ringacc35 36 reg:37 minItems: 438 items:39 - description: real time registers regions40 - description: fifos registers regions41 - description: proxy gcfg registers regions42 - description: proxy target registers regions43 - description: configuration registers region44 45 reg-names:46 minItems: 447 items:48 - const: rt49 - const: fifos50 - const: proxy_gcfg51 - const: proxy_target52 - const: cfg53 54 msi-parent: true55 56 ti,num-rings:57 $ref: /schemas/types.yaml#/definitions/uint3258 description: Number of rings supported by RA59 60 ti,sci-rm-range-gp-rings:61 $ref: /schemas/types.yaml#/definitions/uint3262 description: TI-SCI RM subtype for GP ring range63 64required:65 - compatible66 - reg67 - reg-names68 - msi-parent69 - ti,num-rings70 - ti,sci-rm-range-gp-rings71 - ti,sci72 - ti,sci-dev-id73 74unevaluatedProperties: false75 76examples:77 - |78 bus {79 #address-cells = <2>;80 #size-cells = <2>;81 82 ringacc: ringacc@3c000000 {83 compatible = "ti,am654-navss-ringacc";84 reg = <0x0 0x3c000000 0x0 0x400000>,85 <0x0 0x38000000 0x0 0x400000>,86 <0x0 0x31120000 0x0 0x100>,87 <0x0 0x33000000 0x0 0x40000>,88 <0x0 0x31080000 0x0 0x40000>;89 reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target", "cfg";90 ti,num-rings = <818>;91 ti,sci-rm-range-gp-rings = <0x2>; /* GP ring range */92 ti,sci = <&dmsc>;93 ti,sci-dev-id = <187>;94 msi-parent = <&inta_main_udmass>;95 };96 };97