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.2 4--- 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 Accelerator 9 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 accesses 16 from/to a constant address into corresponding read/write accesses from/to a 17 circular data structure in memory. The RA eliminates the need for each DMA 18 controller which needs to access ring elements from having to know the current 19 state of the ring (base address, current offset). The DMA controller 20 performs a read or write access to a specific address range (which maps to the 21 source interface on the RA) and the RA replaces the address for the transaction 22 with a new address which corresponds to the head or tail element of the ring 23 (head for reads, tail for writes). 24 25 The Ring Accelerator is a hardware module that is responsible for accelerating 26 management of the packet queues. The K3 SoCs can have more than one RA instances 27 28properties: 29 compatible: 30 items: 31 - const: ti,am654-navss-ringacc 32 33 reg: 34 items: 35 - description: real time registers regions 36 - description: fifos registers regions 37 - description: proxy gcfg registers regions 38 - description: proxy target registers regions 39 40 reg-names: 41 items: 42 - const: rt 43 - const: fifos 44 - const: proxy_gcfg 45 - const: proxy_target 46 47 msi-parent: true 48 49 ti,num-rings: 50 $ref: /schemas/types.yaml#/definitions/uint32 51 description: Number of rings supported by RA 52 53 ti,sci-rm-range-gp-rings: 54 $ref: /schemas/types.yaml#/definitions/uint32 55 description: TI-SCI RM subtype for GP ring range 56 57 ti,sci: 58 $ref: /schemas/types.yaml#definitions/phandle-array 59 description: phandle on TI-SCI compatible System controller node 60 61 ti,sci-dev-id: 62 $ref: /schemas/types.yaml#/definitions/uint32 63 description: TI-SCI device id of the ring accelerator 64 65 ti,dma-ring-reset-quirk: 66 $ref: /schemas/types.yaml#definitions/flag 67 description: | 68 enable ringacc/udma ring state interoperability issue software w/a 69 70required: 71 - compatible 72 - reg 73 - reg-names 74 - msi-parent 75 - ti,num-rings 76 - ti,sci-rm-range-gp-rings 77 - ti,sci 78 - ti,sci-dev-id 79 80additionalProperties: false 81 82examples: 83 - | 84 bus { 85 #address-cells = <2>; 86 #size-cells = <2>; 87 88 ringacc: ringacc@3c000000 { 89 compatible = "ti,am654-navss-ringacc"; 90 reg = <0x0 0x3c000000 0x0 0x400000>, 91 <0x0 0x38000000 0x0 0x400000>, 92 <0x0 0x31120000 0x0 0x100>, 93 <0x0 0x33000000 0x0 0x40000>; 94 reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target"; 95 ti,num-rings = <818>; 96 ti,sci-rm-range-gp-rings = <0x2>; /* GP ring range */ 97 ti,dma-ring-reset-quirk; 98 ti,sci = <&dmsc>; 99 ti,sci-dev-id = <187>; 100 msi-parent = <&inta_main_udmass>; 101 }; 102 }; 103