xref: /linux/Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml (revision 946661e3bef8efa11ba8079d4ebafe6fc3b0aaad)
1304a90c4SFrank Li# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2304a90c4SFrank Li%YAML 1.2
3304a90c4SFrank Li---
4304a90c4SFrank Li$id: http://devicetree.org/schemas/soc/fsl/fsl,qman-portal.yaml#
5304a90c4SFrank Li$schema: http://devicetree.org/meta-schemas/core.yaml#
6304a90c4SFrank Li
7304a90c4SFrank Lititle: QorIQ DPAA Queue Manager Portals
8304a90c4SFrank Li
9304a90c4SFrank Limaintainers:
10304a90c4SFrank Li  - Frank Li <Frank.Li@nxp.com>
11304a90c4SFrank Li
12304a90c4SFrank Lidescription:
13304a90c4SFrank Li  Portals are memory mapped interfaces to QMan that allow low-latency, lock-less
14304a90c4SFrank Li  interaction by software running on processor cores, accelerators and network
15304a90c4SFrank Li  interfaces with the QMan
16304a90c4SFrank Li
17304a90c4SFrank Liproperties:
18304a90c4SFrank Li  compatible:
19304a90c4SFrank Li    oneOf:
20304a90c4SFrank Li      - const: fsl,qman-portal
21304a90c4SFrank Li      - items:
22304a90c4SFrank Li          - enum:
23304a90c4SFrank Li              - fsl,ls1043-qman-portal
24304a90c4SFrank Li              - fsl,ls1046-qman-portal
25304a90c4SFrank Li              - fsl,qman-portal-1.2.0
26304a90c4SFrank Li          - const: fsl,qman-portal
27304a90c4SFrank Li
28304a90c4SFrank Li  reg:
29304a90c4SFrank Li    items:
30304a90c4SFrank Li      - description: the cache-enabled region of the portal
31304a90c4SFrank Li      - description: the cache-inhibited region of the portal
32304a90c4SFrank Li
33304a90c4SFrank Li  interrupts:
34304a90c4SFrank Li    maxItems: 1
35304a90c4SFrank Li
36304a90c4SFrank Li  fsl,liodn:
37304a90c4SFrank Li    $ref: /schemas/types.yaml#/definitions/uint32-array
38*61a6ba23SRob Herring (Arm)    maxItems: 2
39304a90c4SFrank Li    description: See pamu.txt. Two LIODN(s). DQRR LIODN (DLIODN) and Frame LIODN
40304a90c4SFrank Li      (FLIODN)
41304a90c4SFrank Li
42304a90c4SFrank Li  fsl,iommu-parent:
43304a90c4SFrank Li    $ref: /schemas/types.yaml#/definitions/phandle
44304a90c4SFrank Li    description: See pamu.txt.
45304a90c4SFrank Li
46304a90c4SFrank Li  fsl,qman-channel-id:
47304a90c4SFrank Li    $ref: /schemas/types.yaml#/definitions/uint32
48304a90c4SFrank Li    description: qman channel id.
49304a90c4SFrank Li
50304a90c4SFrank Li  cell-index:
51304a90c4SFrank Li    $ref: /schemas/types.yaml#/definitions/uint32
52304a90c4SFrank Li    description:
53304a90c4SFrank Li      The hardware index of the channel. This can also be
54304a90c4SFrank Li      determined by dividing any of the channel's 8 work queue
55304a90c4SFrank Li      IDs by 8
56304a90c4SFrank Li
57304a90c4SFrank Li      In addition to these properties the qman-portals should have sub-nodes to
58304a90c4SFrank Li      represent the HW devices/portals that are connected to the software portal
59304a90c4SFrank Li      described here
60304a90c4SFrank Li
61304a90c4SFrank Lirequired:
62304a90c4SFrank Li  - compatible
63304a90c4SFrank Li  - reg
64304a90c4SFrank Li  - interrupts
65304a90c4SFrank Li
66304a90c4SFrank LiadditionalProperties: false
67304a90c4SFrank Li
68304a90c4SFrank LipatternProperties:
69304a90c4SFrank Li  '^(fman0|fman1|pme|crypto)+$':
70304a90c4SFrank Li    type: object
71304a90c4SFrank Li    properties:
72304a90c4SFrank Li      fsl,liodn:
73*61a6ba23SRob Herring (Arm)        $ref: /schemas/types.yaml#/definitions/uint32-array
74304a90c4SFrank Li        description: See pamu.txt, PAMU property used for static LIODN assignment
75304a90c4SFrank Li
76304a90c4SFrank Li      fsl,iommu-parent:
77304a90c4SFrank Li        description: See pamu.txt, PAMU property used for dynamic LIODN assignment
78304a90c4SFrank Li
79304a90c4SFrank Li      dev-handle:
80304a90c4SFrank Li        $ref: /schemas/types.yaml#/definitions/phandle
81304a90c4SFrank Li        description:
82304a90c4SFrank Li          The phandle to the particular hardware device that this
83304a90c4SFrank Li          portal is connected to.
84304a90c4SFrank Li
85304a90c4SFrank Li    additionalProperties: false
86304a90c4SFrank Li
87304a90c4SFrank Liexamples:
88304a90c4SFrank Li  - |
89304a90c4SFrank Li    #include <dt-bindings/interrupt-controller/irq.h>
90304a90c4SFrank Li
91304a90c4SFrank Li    qman-portal@0 {
92304a90c4SFrank Li        compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal";
93304a90c4SFrank Li        reg = <0 0x4000>, <0x100000 0x1000>;
94304a90c4SFrank Li        interrupts = <104 IRQ_TYPE_EDGE_FALLING 0 0>;
95304a90c4SFrank Li        fsl,liodn = <1 2>;
96304a90c4SFrank Li        fsl,qman-channel-id = <0>;
97304a90c4SFrank Li
98304a90c4SFrank Li        fman0 {
99304a90c4SFrank Li            fsl,liodn = <0x21>;
100304a90c4SFrank Li            dev-handle = <&fman0>;
101304a90c4SFrank Li        };
102304a90c4SFrank Li
103304a90c4SFrank Li        fman1 {
104304a90c4SFrank Li            fsl,liodn = <0xa1>;
105304a90c4SFrank Li            dev-handle = <&fman1>;
106304a90c4SFrank Li        };
107304a90c4SFrank Li
108304a90c4SFrank Li        crypto {
109304a90c4SFrank Li            fsl,liodn = <0x41 0x66>;
110304a90c4SFrank Li            dev-handle = <&crypto>;
111304a90c4SFrank Li        };
112304a90c4SFrank Li    };
113