xref: /openbmc/linux/Documentation/devicetree/bindings/misc/intel,ixp4xx-ahb-queue-manager.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1e1ff7390SRob Herring# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2e1ff7390SRob Herring# Copyright 2019 Linaro Ltd.
3e1ff7390SRob Herring%YAML 1.2
4e1ff7390SRob Herring---
5*45698208SRob Herring$id: http://devicetree.org/schemas/misc/intel,ixp4xx-ahb-queue-manager.yaml#
6*45698208SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
7e1ff7390SRob Herring
8e1ff7390SRob Herringtitle: Intel IXP4xx AHB Queue Manager
9e1ff7390SRob Herring
10e1ff7390SRob Herringmaintainers:
11e1ff7390SRob Herring  - Linus Walleij <linus.walleij@linaro.org>
12e1ff7390SRob Herring
13e1ff7390SRob Herringdescription: |
14e1ff7390SRob Herring  The IXP4xx AHB Queue Manager maintains queues as circular buffers in
15e1ff7390SRob Herring  an 8KB embedded SRAM along with hardware pointers. It is used by both
16e1ff7390SRob Herring  the XScale processor and the NPEs (Network Processing Units) in the
17e1ff7390SRob Herring  IXP4xx for accelerating queues, especially for networking. Clients pick
18e1ff7390SRob Herring  queues from the queue manager with foo-queue = <&qmgr N> where the
19e1ff7390SRob Herring  &qmgr is a phandle to the queue manager and N is the queue resource
20e1ff7390SRob Herring  number. The queue resources available and their specific purpose
21e1ff7390SRob Herring  on a certain IXP4xx system will vary.
22e1ff7390SRob Herring
23e1ff7390SRob Herringproperties:
24e1ff7390SRob Herring  compatible:
25e1ff7390SRob Herring    items:
26e1ff7390SRob Herring      - const: intel,ixp4xx-ahb-queue-manager
27e1ff7390SRob Herring
28e1ff7390SRob Herring  reg:
29e1ff7390SRob Herring    maxItems: 1
30e1ff7390SRob Herring
31e1ff7390SRob Herring  interrupts:
32e1ff7390SRob Herring    items:
33e1ff7390SRob Herring      - description: Interrupt for queues 0-31
34e1ff7390SRob Herring      - description: Interrupt for queues 32-63
35e1ff7390SRob Herring
36e1ff7390SRob Herringrequired:
37e1ff7390SRob Herring  - compatible
38e1ff7390SRob Herring  - reg
39e1ff7390SRob Herring  - interrupts
40e1ff7390SRob Herring
417f464532SRob HerringadditionalProperties: false
427f464532SRob Herring
43e1ff7390SRob Herringexamples:
44e1ff7390SRob Herring  - |
45e1ff7390SRob Herring    #include <dt-bindings/interrupt-controller/irq.h>
46e1ff7390SRob Herring
47e1ff7390SRob Herring    qmgr: queue-manager@60000000 {
48e1ff7390SRob Herring         compatible = "intel,ixp4xx-ahb-queue-manager";
49e1ff7390SRob Herring         reg = <0x60000000 0x4000>;
50e1ff7390SRob Herring         interrupts = <3 IRQ_TYPE_LEVEL_HIGH>, <4 IRQ_TYPE_LEVEL_HIGH>;
51e1ff7390SRob Herring    };
52