xref: /freebsd/sys/contrib/device-tree/Bindings/soc/fsl/fsl,qman.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/soc/fsl/fsl,qman.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: QorIQ DPAA Queue Manager
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotmaintainers:
10*0e8011faSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
11*0e8011faSEmmanuel Vadot
12*0e8011faSEmmanuel Vadotdescription:
13*0e8011faSEmmanuel Vadot  The Queue Manager is part of the Data-Path Acceleration Architecture (DPAA). QMan
14*0e8011faSEmmanuel Vadot  supports queuing and QoS scheduling of frames to CPUs, network interfaces and
15*0e8011faSEmmanuel Vadot  DPAA logic modules, maintains packet ordering within flows. Besides providing
16*0e8011faSEmmanuel Vadot  flow-level queuing, is also responsible for congestion management functions such
17*0e8011faSEmmanuel Vadot  as RED/WRED, congestion notifications and tail discards. This binding covers the
18*0e8011faSEmmanuel Vadot  CCSR space programming model
19*0e8011faSEmmanuel Vadot
20*0e8011faSEmmanuel Vadotproperties:
21*0e8011faSEmmanuel Vadot  compatible:
22*0e8011faSEmmanuel Vadot    oneOf:
23*0e8011faSEmmanuel Vadot      - const: fsl,qman
24*0e8011faSEmmanuel Vadot      - items:
25*0e8011faSEmmanuel Vadot          - enum:
26*0e8011faSEmmanuel Vadot              - fsl,ls1043a-qman
27*0e8011faSEmmanuel Vadot              - fsl,ls1046a-qman
28*0e8011faSEmmanuel Vadot          - const: fsl,qman
29*0e8011faSEmmanuel Vadot  reg:
30*0e8011faSEmmanuel Vadot    items:
31*0e8011faSEmmanuel Vadot      - description: |
32*0e8011faSEmmanuel Vadot          Registers region within the CCSR address space
33*0e8011faSEmmanuel Vadot
34*0e8011faSEmmanuel Vadot          The QMan revision information is located in the QMAN_IP_REV_1/2
35*0e8011faSEmmanuel Vadot          registers which are located at offsets 0xbf8 and 0xbfc
36*0e8011faSEmmanuel Vadot
37*0e8011faSEmmanuel Vadot  interrupts:
38*0e8011faSEmmanuel Vadot    items:
39*0e8011faSEmmanuel Vadot      - description: The error interrupt
40*0e8011faSEmmanuel Vadot
41*0e8011faSEmmanuel Vadot  fsl,qman-portals:
42*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
43*0e8011faSEmmanuel Vadot    description: ref fsl,qman-port.yaml
44*0e8011faSEmmanuel Vadot
45*0e8011faSEmmanuel Vadot  fsl,liodn:
46*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
47*0e8011faSEmmanuel Vadot    description:
48*0e8011faSEmmanuel Vadot      See pamu.txt, PAMU property used for static LIODN assignment
49*0e8011faSEmmanuel Vadot
50*0e8011faSEmmanuel Vadot  fsl,iommu-parent:
51*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
52*0e8011faSEmmanuel Vadot    description:
53*0e8011faSEmmanuel Vadot      See pamu.txt, PAMU property used for dynamic LIODN assignment
54*0e8011faSEmmanuel Vadot
55*0e8011faSEmmanuel Vadot  clocks:
56*0e8011faSEmmanuel Vadot    maxItems: 1
57*0e8011faSEmmanuel Vadot    description:
58*0e8011faSEmmanuel Vadot      Reference input clock. Its frequency is half of the platform clock
59*0e8011faSEmmanuel Vadot
60*0e8011faSEmmanuel Vadot  memory-region:
61*0e8011faSEmmanuel Vadot    maxItems: 2
62*0e8011faSEmmanuel Vadot    description:
63*0e8011faSEmmanuel Vadot      List of phandles referencing the QMan private memory nodes (described
64*0e8011faSEmmanuel Vadot      below). The qman-fqd node must be first followed by qman-pfdr node.
65*0e8011faSEmmanuel Vadot      Only used on ARM Devices connected to a QMan instance via Direct Connect
66*0e8011faSEmmanuel Vadot      Portals (DCP) must link to the respective QMan instance.
67*0e8011faSEmmanuel Vadot
68*0e8011faSEmmanuel Vadot  fsl,qman:
69*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
70*0e8011faSEmmanuel Vadot    description:
71*0e8011faSEmmanuel Vadot      List of phandle and DCP index pairs, to the QMan instance
72*0e8011faSEmmanuel Vadot      to which this device is connected via the DCP
73*0e8011faSEmmanuel Vadot
74*0e8011faSEmmanuel Vadotrequired:
75*0e8011faSEmmanuel Vadot  - compatible
76*0e8011faSEmmanuel Vadot  - reg
77*0e8011faSEmmanuel Vadot  - interrupts
78*0e8011faSEmmanuel Vadot
79*0e8011faSEmmanuel VadotadditionalProperties: false
80*0e8011faSEmmanuel Vadot
81*0e8011faSEmmanuel Vadotexamples:
82*0e8011faSEmmanuel Vadot  - |
83*0e8011faSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
84*0e8011faSEmmanuel Vadot
85*0e8011faSEmmanuel Vadot    qman: qman@318000 {
86*0e8011faSEmmanuel Vadot        compatible = "fsl,qman";
87*0e8011faSEmmanuel Vadot        reg = <0x318000 0x1000>;
88*0e8011faSEmmanuel Vadot        interrupts = <16 IRQ_TYPE_EDGE_FALLING 1 3>;
89*0e8011faSEmmanuel Vadot        fsl,liodn = <0x16>;
90*0e8011faSEmmanuel Vadot        fsl,qman-portals = <&qportals>;
91*0e8011faSEmmanuel Vadot        memory-region = <&qman_fqd &qman_pfdr>;
92*0e8011faSEmmanuel Vadot        clocks = <&platform_pll 1>;
93*0e8011faSEmmanuel Vadot    };
94