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