18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci# Copyright 2019 Linaro Ltd. 38c2ecf20Sopenharmony_ci%YAML 1.2 48c2ecf20Sopenharmony_ci--- 58c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/misc/intel,ixp4xx-ahb-queue-manager.yaml#" 68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cititle: Intel IXP4xx AHB Queue Manager 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cimaintainers: 118c2ecf20Sopenharmony_ci - Linus Walleij <linus.walleij@linaro.org> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cidescription: | 148c2ecf20Sopenharmony_ci The IXP4xx AHB Queue Manager maintains queues as circular buffers in 158c2ecf20Sopenharmony_ci an 8KB embedded SRAM along with hardware pointers. It is used by both 168c2ecf20Sopenharmony_ci the XScale processor and the NPEs (Network Processing Units) in the 178c2ecf20Sopenharmony_ci IXP4xx for accelerating queues, especially for networking. Clients pick 188c2ecf20Sopenharmony_ci queues from the queue manager with foo-queue = <&qmgr N> where the 198c2ecf20Sopenharmony_ci &qmgr is a phandle to the queue manager and N is the queue resource 208c2ecf20Sopenharmony_ci number. The queue resources available and their specific purpose 218c2ecf20Sopenharmony_ci on a certain IXP4xx system will vary. 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciproperties: 248c2ecf20Sopenharmony_ci compatible: 258c2ecf20Sopenharmony_ci items: 268c2ecf20Sopenharmony_ci - const: intel,ixp4xx-ahb-queue-manager 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci reg: 298c2ecf20Sopenharmony_ci maxItems: 1 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci interrupts: 328c2ecf20Sopenharmony_ci items: 338c2ecf20Sopenharmony_ci - description: Interrupt for queues 0-31 348c2ecf20Sopenharmony_ci - description: Interrupt for queues 32-63 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_cirequired: 378c2ecf20Sopenharmony_ci - compatible 388c2ecf20Sopenharmony_ci - reg 398c2ecf20Sopenharmony_ci - interrupts 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciadditionalProperties: false 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciexamples: 448c2ecf20Sopenharmony_ci - | 458c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci qmgr: queue-manager@60000000 { 488c2ecf20Sopenharmony_ci compatible = "intel,ixp4xx-ahb-queue-manager"; 498c2ecf20Sopenharmony_ci reg = <0x60000000 0x4000>; 508c2ecf20Sopenharmony_ci interrupts = <3 IRQ_TYPE_LEVEL_HIGH>, <4 IRQ_TYPE_LEVEL_HIGH>; 518c2ecf20Sopenharmony_ci }; 52