mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-02 08:32:55 +00:00
dt-bindings: soc: fsl: Convert q(b)man-* to yaml format
Convert qman, bman, qman-portals, bman-portals to yaml format. Additional Change for fsl,q(b)man-portal: - Only keep one example. - Add fsl,qman-channel-id property. - Use interrupt type macro. - Remove top level qman-portals@ff4200000 at example. Additional change for fsl,q(b)man: - Fixed example error. - Remove redundent part, only keep fsl,qman node. - Change memory-regions to memory-region. - fsl,q(b)man-portals is not required property Additional change for fsl,qman-fqd.yaml: - Fixed example error. - Only keep one example. - Ref to reserve-memory.yaml - Merge fsl,bman reserver memory part Signed-off-by: Frank Li <Frank.Li@nxp.com> Link: https://lore.kernel.org/r/20240626193753.2088926-1-Frank.Li@nxp.com Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This commit is contained in:
parent
bfb921b2a9
commit
304a90c4f7
@ -1,56 +0,0 @@
|
|||||||
QorIQ DPAA Buffer Manager Portals Device Tree Binding
|
|
||||||
|
|
||||||
Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
|
|
||||||
|
|
||||||
CONTENTS
|
|
||||||
|
|
||||||
- BMan Portal
|
|
||||||
- Example
|
|
||||||
|
|
||||||
BMan Portal Node
|
|
||||||
|
|
||||||
Portals are memory mapped interfaces to BMan that allow low-latency, lock-less
|
|
||||||
interaction by software running on processor cores, accelerators and network
|
|
||||||
interfaces with the BMan
|
|
||||||
|
|
||||||
PROPERTIES
|
|
||||||
|
|
||||||
- compatible
|
|
||||||
Usage: Required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: Must include "fsl,bman-portal-<hardware revision>"
|
|
||||||
May include "fsl,<SoC>-bman-portal" or "fsl,bman-portal"
|
|
||||||
|
|
||||||
- reg
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Two regions. The first is the cache-enabled region of
|
|
||||||
the portal. The second is the cache-inhibited region of
|
|
||||||
the portal
|
|
||||||
|
|
||||||
- interrupts
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Standard property
|
|
||||||
|
|
||||||
EXAMPLE
|
|
||||||
|
|
||||||
The example below shows a (P4080) BMan portals container/bus node with two portals
|
|
||||||
|
|
||||||
bman-portals@ff4000000 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
compatible = "simple-bus";
|
|
||||||
ranges = <0 0xf 0xf4000000 0x200000>;
|
|
||||||
|
|
||||||
bman-portal@0 {
|
|
||||||
compatible = "fsl,bman-portal-1.0.0", "fsl,bman-portal";
|
|
||||||
reg = <0x0 0x4000>, <0x100000 0x1000>;
|
|
||||||
interrupts = <105 2 0 0>;
|
|
||||||
};
|
|
||||||
bman-portal@4000 {
|
|
||||||
compatible = "fsl,bman-portal-1.0.0", "fsl,bman-portal";
|
|
||||||
reg = <0x4000 0x4000>, <0x101000 0x1000>;
|
|
||||||
interrupts = <107 2 0 0>;
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,137 +0,0 @@
|
|||||||
QorIQ DPAA Buffer Manager Device Tree Bindings
|
|
||||||
|
|
||||||
Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
|
|
||||||
|
|
||||||
CONTENTS
|
|
||||||
|
|
||||||
- BMan Node
|
|
||||||
- BMan Private Memory Node
|
|
||||||
- Example
|
|
||||||
|
|
||||||
BMan Node
|
|
||||||
|
|
||||||
The Buffer Manager is part of the Data-Path Acceleration Architecture (DPAA).
|
|
||||||
BMan supports hardware allocation and deallocation of buffers belonging to pools
|
|
||||||
originally created by software with configurable depletion thresholds. This
|
|
||||||
binding covers the CCSR space programming model
|
|
||||||
|
|
||||||
PROPERTIES
|
|
||||||
|
|
||||||
- compatible
|
|
||||||
Usage: Required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: Must include "fsl,bman"
|
|
||||||
May include "fsl,<SoC>-bman"
|
|
||||||
|
|
||||||
- reg
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Registers region within the CCSR address space
|
|
||||||
|
|
||||||
The BMan revision information is located in the BMAN_IP_REV_1/2 registers which
|
|
||||||
are located at offsets 0xbf8 and 0xbfc
|
|
||||||
|
|
||||||
- interrupts
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Standard property. The error interrupt
|
|
||||||
|
|
||||||
- fsl,bman-portals
|
|
||||||
Usage: Required
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: Phandle to this BMan instance's portals
|
|
||||||
|
|
||||||
- fsl,liodn
|
|
||||||
Usage: See pamu.txt
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: PAMU property used for static LIODN assignment
|
|
||||||
|
|
||||||
- fsl,iommu-parent
|
|
||||||
Usage: See pamu.txt
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: PAMU property used for dynamic LIODN assignment
|
|
||||||
|
|
||||||
For additional details about the PAMU/LIODN binding(s) see pamu.txt
|
|
||||||
|
|
||||||
Devices connected to a BMan instance via Direct Connect Portals (DCP) must link
|
|
||||||
to the respective BMan instance
|
|
||||||
|
|
||||||
- fsl,bman
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Description: List of phandle and DCP index pairs, to the BMan instance
|
|
||||||
to which this device is connected via the DCP
|
|
||||||
|
|
||||||
BMan Private Memory Node
|
|
||||||
|
|
||||||
BMan requires a contiguous range of physical memory used for the backing store
|
|
||||||
for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as
|
|
||||||
a node under the /reserved-memory node.
|
|
||||||
|
|
||||||
The BMan FBPR memory node must be named "bman-fbpr"
|
|
||||||
|
|
||||||
PROPERTIES
|
|
||||||
|
|
||||||
- compatible
|
|
||||||
Usage: required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: PPC platforms: Must include "fsl,bman-fbpr"
|
|
||||||
ARM platforms: Must include "shared-dma-pool"
|
|
||||||
as well as the "no-map" property
|
|
||||||
|
|
||||||
The following constraints are relevant to the FBPR private memory:
|
|
||||||
- The size must be 2^(size + 1), with size = 11..33. That is 4 KiB to
|
|
||||||
16 GiB
|
|
||||||
- The alignment must be a muliptle of the memory size
|
|
||||||
|
|
||||||
The size of the FBPR must be chosen by observing the hardware features configured
|
|
||||||
via the Reset Configuration Word (RCW) and that are relevant to a specific board
|
|
||||||
(e.g. number of MAC(s) pinned-out, number of offline/host command FMan ports,
|
|
||||||
etc.). The size configured in the DT must reflect the hardware capabilities and
|
|
||||||
not the specific needs of an application
|
|
||||||
|
|
||||||
For additional details about reserved memory regions see reserved-memory.txt
|
|
||||||
|
|
||||||
EXAMPLE
|
|
||||||
|
|
||||||
The example below shows a BMan FBPR dynamic allocation memory node
|
|
||||||
|
|
||||||
reserved-memory {
|
|
||||||
#address-cells = <2>;
|
|
||||||
#size-cells = <2>;
|
|
||||||
ranges;
|
|
||||||
|
|
||||||
bman_fbpr: bman-fbpr {
|
|
||||||
compatible = "shared-mem-pool";
|
|
||||||
size = <0 0x1000000>;
|
|
||||||
alignment = <0 0x1000000>;
|
|
||||||
no-map;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
The example below shows a (P4080) BMan CCSR-space node
|
|
||||||
|
|
||||||
bportals: bman-portals@ff4000000 {
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
crypto@300000 {
|
|
||||||
...
|
|
||||||
fsl,bman = <&bman, 2>;
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
bman: bman@31a000 {
|
|
||||||
compatible = "fsl,bman";
|
|
||||||
reg = <0x31a000 0x1000>;
|
|
||||||
interrupts = <16 2 1 2>;
|
|
||||||
fsl,liodn = <0x17>;
|
|
||||||
fsl,bman-portals = <&bportals>;
|
|
||||||
memory-region = <&bman_fbpr>;
|
|
||||||
};
|
|
||||||
|
|
||||||
fman@400000 {
|
|
||||||
...
|
|
||||||
fsl,bman = <&bman, 0>;
|
|
||||||
...
|
|
||||||
};
|
|
@ -0,0 +1,52 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/soc/fsl/fsl,bman-portal.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: QorIQ DPAA Queue Manager Portals
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Frank Li <Frank.Li@nxp.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
QorIQ DPAA Buffer Manager Portal
|
||||||
|
|
||||||
|
Portals are memory mapped interfaces to BMan that allow low-latency, lock-less
|
||||||
|
interaction by software running on processor cores, accelerators and network
|
||||||
|
interfaces with the BMan
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: fsl,bman-portal
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- fsl,bman-portal-1.0.0
|
||||||
|
- fsl,ls1043a-bmap-portal
|
||||||
|
- fsl,ls1046a-bmap-portal
|
||||||
|
- const: fsl,bman-portal
|
||||||
|
reg:
|
||||||
|
items:
|
||||||
|
- description: the cache-enabled region of the portal
|
||||||
|
- description: the cache-inhibited region of the portal
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
bman-portal@0 {
|
||||||
|
compatible = "fsl,bman-portal-1.0.0", "fsl,bman-portal";
|
||||||
|
reg = <0x0 0x4000>, <0x100000 0x1000>;
|
||||||
|
interrupts = <105 IRQ_TYPE_EDGE_FALLING 0 0>;
|
||||||
|
};
|
83
Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml
Normal file
83
Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/soc/fsl/fsl,bman.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: QorIQ DPAA Buffer Manager
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Frank Li <Frank.Li@nxp.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
The Buffer Manager is part of the Data-Path Acceleration Architecture (DPAA).
|
||||||
|
BMan supports hardware allocation and deallocation of buffers belonging to
|
||||||
|
pools originally created by software with configurable depletion thresholds.
|
||||||
|
This binding covers the CCSR space programming model
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: fsl,bman
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- fsl,ls1043a-bman
|
||||||
|
- fsl,ls1046a-bman
|
||||||
|
- const: fsl,bman
|
||||||
|
|
||||||
|
reg:
|
||||||
|
items:
|
||||||
|
- description: |
|
||||||
|
Registers region within the CCSR address space
|
||||||
|
|
||||||
|
The BMan revision information is located in the BMAN_IP_REV_1/2
|
||||||
|
registers which are located at offsets 0xbf8 and 0xbfc
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
items:
|
||||||
|
- description: The error interrupt
|
||||||
|
|
||||||
|
memory-region:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
description:
|
||||||
|
List of phandles referencing the BMan private memory
|
||||||
|
nodes (described below). The bman-fqd node must be
|
||||||
|
first followed by bman-pfdr node. Only used on ARM
|
||||||
|
|
||||||
|
Devices connected to a BMan instance via Direct Connect Portals (DCP) must link
|
||||||
|
to the respective BMan instance
|
||||||
|
|
||||||
|
fsl,bman-portals:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description: ref fsl,bman-port.yaml
|
||||||
|
|
||||||
|
fsl,liodn:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description:
|
||||||
|
See pamu.txt, PAMU property used for static LIODN assignment
|
||||||
|
|
||||||
|
fsl,iommu-parent:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
See pamu.txt, PAMU property used for dynamic LIODN assignment
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
bman@31a000 {
|
||||||
|
compatible = "fsl,bman";
|
||||||
|
reg = <0x31a000 0x1000>;
|
||||||
|
interrupts = <16 IRQ_TYPE_EDGE_FALLING 1 2>;
|
||||||
|
fsl,liodn = <0x17>;
|
||||||
|
fsl,bman-portals = <&bportals>;
|
||||||
|
memory-region = <&bman_fbpr>;
|
||||||
|
};
|
69
Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml
Normal file
69
Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/soc/fsl/fsl,qman-fqd.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: QMan Private Memory Nodes
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Frank Li <Frank.Li@nxp.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
QMan requires two contiguous range of physical memory used for the backing store
|
||||||
|
for QMan Frame Queue Descriptor (FQD) and Packed Frame Descriptor Record (PFDR).
|
||||||
|
This memory is reserved/allocated as a node under the /reserved-memory node.
|
||||||
|
|
||||||
|
BMan requires a contiguous range of physical memory used for the backing store
|
||||||
|
for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as
|
||||||
|
a node under the /reserved-memory node.
|
||||||
|
|
||||||
|
The QMan FQD memory node must be named "qman-fqd"
|
||||||
|
The QMan PFDR memory node must be named "qman-pfdr"
|
||||||
|
The BMan FBPR memory node must be named "bman-fbpr"
|
||||||
|
|
||||||
|
The following constraints are relevant to the FQD and PFDR private memory:
|
||||||
|
- The size must be 2^(size + 1), with size = 11..29. That is 4 KiB to
|
||||||
|
1 GiB
|
||||||
|
- The alignment must be a muliptle of the memory size
|
||||||
|
|
||||||
|
The size of the FQD and PFDP must be chosen by observing the hardware features
|
||||||
|
configured via the Reset Configuration Word (RCW) and that are relevant to a
|
||||||
|
specific board (e.g. number of MAC(s) pinned-out, number of offline/host command
|
||||||
|
FMan ports, etc.). The size configured in the DT must reflect the hardware
|
||||||
|
capabilities and not the specific needs of an application
|
||||||
|
|
||||||
|
For additional details about reserved memory regions see
|
||||||
|
reserved-memory/reserved-memory.yaml in dtschema project.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: '^(qman-fqd|qman-pfdr|bman-fbpr)+$'
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- fsl,qman-fqd
|
||||||
|
- fsl,qman-pfdr
|
||||||
|
- fsl,bman-fbpr
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: reserved-memory.yaml
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
reserved-memory {
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
qman-fqd {
|
||||||
|
compatible = "shared-dma-pool";
|
||||||
|
size = <0 0x400000>;
|
||||||
|
alignment = <0 0x400000>;
|
||||||
|
no-map;
|
||||||
|
};
|
||||||
|
};
|
110
Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml
Normal file
110
Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/soc/fsl/fsl,qman-portal.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: QorIQ DPAA Queue Manager Portals
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Frank Li <Frank.Li@nxp.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
Portals are memory mapped interfaces to QMan that allow low-latency, lock-less
|
||||||
|
interaction by software running on processor cores, accelerators and network
|
||||||
|
interfaces with the QMan
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: fsl,qman-portal
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- fsl,ls1043-qman-portal
|
||||||
|
- fsl,ls1046-qman-portal
|
||||||
|
- fsl,qman-portal-1.2.0
|
||||||
|
- const: fsl,qman-portal
|
||||||
|
|
||||||
|
reg:
|
||||||
|
items:
|
||||||
|
- description: the cache-enabled region of the portal
|
||||||
|
- description: the cache-inhibited region of the portal
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
fsl,liodn:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description: See pamu.txt. Two LIODN(s). DQRR LIODN (DLIODN) and Frame LIODN
|
||||||
|
(FLIODN)
|
||||||
|
|
||||||
|
fsl,iommu-parent:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description: See pamu.txt.
|
||||||
|
|
||||||
|
fsl,qman-channel-id:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: qman channel id.
|
||||||
|
|
||||||
|
cell-index:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
The hardware index of the channel. This can also be
|
||||||
|
determined by dividing any of the channel's 8 work queue
|
||||||
|
IDs by 8
|
||||||
|
|
||||||
|
In addition to these properties the qman-portals should have sub-nodes to
|
||||||
|
represent the HW devices/portals that are connected to the software portal
|
||||||
|
described here
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
'^(fman0|fman1|pme|crypto)+$':
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
fsl,liodn:
|
||||||
|
description: See pamu.txt, PAMU property used for static LIODN assignment
|
||||||
|
|
||||||
|
fsl,iommu-parent:
|
||||||
|
description: See pamu.txt, PAMU property used for dynamic LIODN assignment
|
||||||
|
|
||||||
|
dev-handle:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
The phandle to the particular hardware device that this
|
||||||
|
portal is connected to.
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
qman-portal@0 {
|
||||||
|
compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal";
|
||||||
|
reg = <0 0x4000>, <0x100000 0x1000>;
|
||||||
|
interrupts = <104 IRQ_TYPE_EDGE_FALLING 0 0>;
|
||||||
|
fsl,liodn = <1 2>;
|
||||||
|
fsl,qman-channel-id = <0>;
|
||||||
|
|
||||||
|
fman0 {
|
||||||
|
fsl,liodn = <0x21>;
|
||||||
|
dev-handle = <&fman0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
fman1 {
|
||||||
|
fsl,liodn = <0xa1>;
|
||||||
|
dev-handle = <&fman1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
crypto {
|
||||||
|
fsl,liodn = <0x41 0x66>;
|
||||||
|
dev-handle = <&crypto>;
|
||||||
|
};
|
||||||
|
};
|
93
Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml
Normal file
93
Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/soc/fsl/fsl,qman.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: QorIQ DPAA Queue Manager
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Frank Li <Frank.Li@nxp.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
The Queue Manager is part of the Data-Path Acceleration Architecture (DPAA). QMan
|
||||||
|
supports queuing and QoS scheduling of frames to CPUs, network interfaces and
|
||||||
|
DPAA logic modules, maintains packet ordering within flows. Besides providing
|
||||||
|
flow-level queuing, is also responsible for congestion management functions such
|
||||||
|
as RED/WRED, congestion notifications and tail discards. This binding covers the
|
||||||
|
CCSR space programming model
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: fsl,qman
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- fsl,ls1043a-qman
|
||||||
|
- fsl,ls1046a-qman
|
||||||
|
- const: fsl,qman
|
||||||
|
reg:
|
||||||
|
items:
|
||||||
|
- description: |
|
||||||
|
Registers region within the CCSR address space
|
||||||
|
|
||||||
|
The QMan revision information is located in the QMAN_IP_REV_1/2
|
||||||
|
registers which are located at offsets 0xbf8 and 0xbfc
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
items:
|
||||||
|
- description: The error interrupt
|
||||||
|
|
||||||
|
fsl,qman-portals:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description: ref fsl,qman-port.yaml
|
||||||
|
|
||||||
|
fsl,liodn:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description:
|
||||||
|
See pamu.txt, PAMU property used for static LIODN assignment
|
||||||
|
|
||||||
|
fsl,iommu-parent:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
See pamu.txt, PAMU property used for dynamic LIODN assignment
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
Reference input clock. Its frequency is half of the platform clock
|
||||||
|
|
||||||
|
memory-region:
|
||||||
|
maxItems: 2
|
||||||
|
description:
|
||||||
|
List of phandles referencing the QMan private memory nodes (described
|
||||||
|
below). The qman-fqd node must be first followed by qman-pfdr node.
|
||||||
|
Only used on ARM Devices connected to a QMan instance via Direct Connect
|
||||||
|
Portals (DCP) must link to the respective QMan instance.
|
||||||
|
|
||||||
|
fsl,qman:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description:
|
||||||
|
List of phandle and DCP index pairs, to the QMan instance
|
||||||
|
to which this device is connected via the DCP
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
qman: qman@318000 {
|
||||||
|
compatible = "fsl,qman";
|
||||||
|
reg = <0x318000 0x1000>;
|
||||||
|
interrupts = <16 IRQ_TYPE_EDGE_FALLING 1 3>;
|
||||||
|
fsl,liodn = <0x16>;
|
||||||
|
fsl,qman-portals = <&qportals>;
|
||||||
|
memory-region = <&qman_fqd &qman_pfdr>;
|
||||||
|
clocks = <&platform_pll 1>;
|
||||||
|
};
|
@ -1,134 +0,0 @@
|
|||||||
QorIQ DPAA Queue Manager Portals Device Tree Binding
|
|
||||||
|
|
||||||
Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
|
|
||||||
|
|
||||||
CONTENTS
|
|
||||||
|
|
||||||
- QMan Portal
|
|
||||||
- Example
|
|
||||||
|
|
||||||
QMan Portal Node
|
|
||||||
|
|
||||||
Portals are memory mapped interfaces to QMan that allow low-latency, lock-less
|
|
||||||
interaction by software running on processor cores, accelerators and network
|
|
||||||
interfaces with the QMan
|
|
||||||
|
|
||||||
PROPERTIES
|
|
||||||
|
|
||||||
- compatible
|
|
||||||
Usage: Required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: Must include "fsl,qman-portal-<hardware revision>"
|
|
||||||
May include "fsl,<SoC>-qman-portal" or "fsl,qman-portal"
|
|
||||||
|
|
||||||
- reg
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Two regions. The first is the cache-enabled region of
|
|
||||||
the portal. The second is the cache-inhibited region of
|
|
||||||
the portal
|
|
||||||
|
|
||||||
- interrupts
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Standard property
|
|
||||||
|
|
||||||
- fsl,liodn
|
|
||||||
Usage: See pamu.txt
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Two LIODN(s). DQRR LIODN (DLIODN) and Frame LIODN
|
|
||||||
(FLIODN)
|
|
||||||
|
|
||||||
- fsl,iommu-parent
|
|
||||||
Usage: See pamu.txt
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: PAMU property used for dynamic LIODN assignment
|
|
||||||
|
|
||||||
For additional details about the PAMU/LIODN binding(s) see pamu.txt
|
|
||||||
|
|
||||||
- cell-index
|
|
||||||
Usage: Required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: The hardware index of the channel. This can also be
|
|
||||||
determined by dividing any of the channel's 8 work queue
|
|
||||||
IDs by 8
|
|
||||||
|
|
||||||
In addition to these properties the qman-portals should have sub-nodes to
|
|
||||||
represent the HW devices/portals that are connected to the software portal
|
|
||||||
described here
|
|
||||||
|
|
||||||
The currently supported sub-nodes are:
|
|
||||||
* fman0
|
|
||||||
* fman1
|
|
||||||
* pme
|
|
||||||
* crypto
|
|
||||||
|
|
||||||
These subnodes should have the following properties:
|
|
||||||
|
|
||||||
- fsl,liodn
|
|
||||||
Usage: See pamu.txt
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: PAMU property used for static LIODN assignment
|
|
||||||
|
|
||||||
- fsl,iommu-parent
|
|
||||||
Usage: See pamu.txt
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: PAMU property used for dynamic LIODN assignment
|
|
||||||
|
|
||||||
- dev-handle
|
|
||||||
Usage: Required
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: The phandle to the particular hardware device that this
|
|
||||||
portal is connected to.
|
|
||||||
|
|
||||||
EXAMPLE
|
|
||||||
|
|
||||||
The example below shows a (P4080) QMan portals container/bus node with two portals
|
|
||||||
|
|
||||||
qman-portals@ff4200000 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
compatible = "simple-bus";
|
|
||||||
ranges = <0 0xf 0xf4200000 0x200000>;
|
|
||||||
|
|
||||||
qman-portal@0 {
|
|
||||||
compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal";
|
|
||||||
reg = <0 0x4000>, <0x100000 0x1000>;
|
|
||||||
interrupts = <104 2 0 0>;
|
|
||||||
fsl,liodn = <1 2>;
|
|
||||||
fsl,qman-channel-id = <0>;
|
|
||||||
|
|
||||||
fman0 {
|
|
||||||
fsl,liodn = <0x21>;
|
|
||||||
dev-handle = <&fman0>;
|
|
||||||
};
|
|
||||||
fman1 {
|
|
||||||
fsl,liodn = <0xa1>;
|
|
||||||
dev-handle = <&fman1>;
|
|
||||||
};
|
|
||||||
crypto {
|
|
||||||
fsl,liodn = <0x41 0x66>;
|
|
||||||
dev-handle = <&crypto>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
qman-portal@4000 {
|
|
||||||
compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal";
|
|
||||||
reg = <0x4000 0x4000>, <0x101000 0x1000>;
|
|
||||||
interrupts = <106 2 0 0>;
|
|
||||||
fsl,liodn = <3 4>;
|
|
||||||
cell-index = <1>;
|
|
||||||
|
|
||||||
fman0 {
|
|
||||||
fsl,liodn = <0x22>;
|
|
||||||
dev-handle = <&fman0>;
|
|
||||||
};
|
|
||||||
fman1 {
|
|
||||||
fsl,liodn = <0xa2>;
|
|
||||||
dev-handle = <&fman1>;
|
|
||||||
};
|
|
||||||
crypto {
|
|
||||||
fsl,liodn = <0x42 0x67>;
|
|
||||||
dev-handle = <&crypto>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,187 +0,0 @@
|
|||||||
QorIQ DPAA Queue Manager Device Tree Binding
|
|
||||||
|
|
||||||
Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
|
|
||||||
|
|
||||||
CONTENTS
|
|
||||||
|
|
||||||
- QMan Node
|
|
||||||
- QMan Private Memory Nodes
|
|
||||||
- Example
|
|
||||||
|
|
||||||
QMan Node
|
|
||||||
|
|
||||||
The Queue Manager is part of the Data-Path Acceleration Architecture (DPAA). QMan
|
|
||||||
supports queuing and QoS scheduling of frames to CPUs, network interfaces and
|
|
||||||
DPAA logic modules, maintains packet ordering within flows. Besides providing
|
|
||||||
flow-level queuing, is also responsible for congestion management functions such
|
|
||||||
as RED/WRED, congestion notifications and tail discards. This binding covers the
|
|
||||||
CCSR space programming model
|
|
||||||
|
|
||||||
PROPERTIES
|
|
||||||
|
|
||||||
- compatible
|
|
||||||
Usage: Required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: Must include "fsl,qman"
|
|
||||||
May include "fsl,<SoC>-qman"
|
|
||||||
|
|
||||||
- reg
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Registers region within the CCSR address space
|
|
||||||
|
|
||||||
The QMan revision information is located in the QMAN_IP_REV_1/2 registers which
|
|
||||||
are located at offsets 0xbf8 and 0xbfc
|
|
||||||
|
|
||||||
- interrupts
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Standard property. The error interrupt
|
|
||||||
|
|
||||||
- fsl,qman-portals
|
|
||||||
Usage: Required
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: Phandle to this QMan instance's portals
|
|
||||||
|
|
||||||
- fsl,liodn
|
|
||||||
Usage: See pamu.txt
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: PAMU property used for static LIODN assignment
|
|
||||||
|
|
||||||
- fsl,iommu-parent
|
|
||||||
Usage: See pamu.txt
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: PAMU property used for dynamic LIODN assignment
|
|
||||||
|
|
||||||
For additional details about the PAMU/LIODN binding(s) see pamu.txt
|
|
||||||
|
|
||||||
- clocks
|
|
||||||
Usage: See clock-bindings.txt and qoriq-clock.txt
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Reference input clock. Its frequency is half of the
|
|
||||||
platform clock
|
|
||||||
- memory-regions
|
|
||||||
Usage: Required for ARM
|
|
||||||
Value type: <phandle array>
|
|
||||||
Definition: List of phandles referencing the QMan private memory
|
|
||||||
nodes (described below). The qman-fqd node must be
|
|
||||||
first followed by qman-pfdr node. Only used on ARM
|
|
||||||
|
|
||||||
Devices connected to a QMan instance via Direct Connect Portals (DCP) must link
|
|
||||||
to the respective QMan instance
|
|
||||||
|
|
||||||
- fsl,qman
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Description: List of phandle and DCP index pairs, to the QMan instance
|
|
||||||
to which this device is connected via the DCP
|
|
||||||
|
|
||||||
QMan Private Memory Nodes
|
|
||||||
|
|
||||||
QMan requires two contiguous range of physical memory used for the backing store
|
|
||||||
for QMan Frame Queue Descriptor (FQD) and Packed Frame Descriptor Record (PFDR).
|
|
||||||
This memory is reserved/allocated as a node under the /reserved-memory node.
|
|
||||||
|
|
||||||
For additional details about reserved memory regions see reserved-memory.txt
|
|
||||||
|
|
||||||
The QMan FQD memory node must be named "qman-fqd"
|
|
||||||
|
|
||||||
PROPERTIES
|
|
||||||
|
|
||||||
- compatible
|
|
||||||
Usage: required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: PPC platforms: Must include "fsl,qman-fqd"
|
|
||||||
ARM platforms: Must include "shared-dma-pool"
|
|
||||||
as well as the "no-map" property
|
|
||||||
|
|
||||||
The QMan PFDR memory node must be named "qman-pfdr"
|
|
||||||
|
|
||||||
PROPERTIES
|
|
||||||
|
|
||||||
- compatible
|
|
||||||
Usage: required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: PPC platforms: Must include "fsl,qman-pfdr"
|
|
||||||
ARM platforms: Must include "shared-dma-pool"
|
|
||||||
as well as the "no-map" property
|
|
||||||
|
|
||||||
The following constraints are relevant to the FQD and PFDR private memory:
|
|
||||||
- The size must be 2^(size + 1), with size = 11..29. That is 4 KiB to
|
|
||||||
1 GiB
|
|
||||||
- The alignment must be a muliptle of the memory size
|
|
||||||
|
|
||||||
The size of the FQD and PFDP must be chosen by observing the hardware features
|
|
||||||
configured via the Reset Configuration Word (RCW) and that are relevant to a
|
|
||||||
specific board (e.g. number of MAC(s) pinned-out, number of offline/host command
|
|
||||||
FMan ports, etc.). The size configured in the DT must reflect the hardware
|
|
||||||
capabilities and not the specific needs of an application
|
|
||||||
|
|
||||||
For additional details about reserved memory regions see reserved-memory.txt
|
|
||||||
|
|
||||||
EXAMPLE
|
|
||||||
|
|
||||||
The example below shows a QMan FQD and a PFDR dynamic allocation memory nodes
|
|
||||||
|
|
||||||
reserved-memory {
|
|
||||||
#address-cells = <2>;
|
|
||||||
#size-cells = <2>;
|
|
||||||
ranges;
|
|
||||||
|
|
||||||
qman_fqd: qman-fqd {
|
|
||||||
compatible = "shared-dma-pool";
|
|
||||||
size = <0 0x400000>;
|
|
||||||
alignment = <0 0x400000>;
|
|
||||||
no-map;
|
|
||||||
};
|
|
||||||
qman_pfdr: qman-pfdr {
|
|
||||||
compatible = "shared-dma-pool";
|
|
||||||
size = <0 0x2000000>;
|
|
||||||
alignment = <0 0x2000000>;
|
|
||||||
no-map;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
The example below shows a (P4080) QMan CCSR-space node
|
|
||||||
|
|
||||||
qportals: qman-portals@ff4200000 {
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
clockgen: global-utilities@e1000 {
|
|
||||||
...
|
|
||||||
sysclk: sysclk {
|
|
||||||
...
|
|
||||||
};
|
|
||||||
...
|
|
||||||
platform_pll: platform-pll@c00 {
|
|
||||||
#clock-cells = <1>;
|
|
||||||
reg = <0xc00 0x4>;
|
|
||||||
compatible = "fsl,qoriq-platform-pll-1.0";
|
|
||||||
clocks = <&sysclk>;
|
|
||||||
clock-output-names = "platform-pll", "platform-pll-div2";
|
|
||||||
};
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
crypto@300000 {
|
|
||||||
...
|
|
||||||
fsl,qman = <&qman, 2>;
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
qman: qman@318000 {
|
|
||||||
compatible = "fsl,qman";
|
|
||||||
reg = <0x318000 0x1000>;
|
|
||||||
interrupts = <16 2 1 3>
|
|
||||||
fsl,liodn = <0x16>;
|
|
||||||
fsl,qman-portals = <&qportals>;
|
|
||||||
memory-region = <&qman_fqd &qman_pfdr>;
|
|
||||||
clocks = <&platform_pll 1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
fman@400000 {
|
|
||||||
...
|
|
||||||
fsl,qman = <&qman, 0>;
|
|
||||||
...
|
|
||||||
};
|
|
Loading…
Reference in New Issue
Block a user