xref: /linux/Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml (revision 6e7fd890f1d6ac83805409e9c346240de2705584)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/soc/fsl/fsl,qman-fqd.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: QMan Private Memory Nodes
8
9maintainers:
10  - Frank Li <Frank.Li@nxp.com>
11
12description: |
13  QMan requires two contiguous range of physical memory used for the backing store
14  for QMan Frame Queue Descriptor (FQD) and Packed Frame Descriptor Record (PFDR).
15  This memory is reserved/allocated as a node under the /reserved-memory node.
16
17  BMan requires a contiguous range of physical memory used for the backing store
18  for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as
19  a node under the /reserved-memory node.
20
21  The QMan FQD memory node must be named "qman-fqd"
22  The QMan PFDR memory node must be named "qman-pfdr"
23  The BMan FBPR memory node must be named "bman-fbpr"
24
25  The following constraints are relevant to the FQD and PFDR private memory:
26    - The size must be 2^(size + 1), with size = 11..29. That is 4 KiB to
27      1 GiB
28    - The alignment must be a muliptle of the memory size
29
30  The size of the FQD and PFDP must be chosen by observing the hardware features
31  configured via the Reset Configuration Word (RCW) and that are relevant to a
32  specific board (e.g. number of MAC(s) pinned-out, number of offline/host command
33  FMan ports, etc.). The size configured in the DT must reflect the hardware
34  capabilities and not the specific needs of an application
35
36  For additional details about reserved memory regions see
37  reserved-memory/reserved-memory.yaml in dtschema project.
38
39properties:
40  $nodename:
41    pattern: '^(qman-fqd|qman-pfdr|bman-fbpr)+$'
42
43  compatible:
44    enum:
45      - fsl,qman-fqd
46      - fsl,qman-pfdr
47      - fsl,bman-fbpr
48
49required:
50  - compatible
51
52allOf:
53  - $ref: reserved-memory.yaml
54
55unevaluatedProperties: false
56
57examples:
58  - |
59    reserved-memory {
60        #address-cells = <2>;
61        #size-cells = <2>;
62
63        qman-fqd {
64            compatible = "shared-dma-pool";
65            size = <0 0x400000>;
66            alignment = <0 0x400000>;
67            no-map;
68        };
69    };
70