* [PATCH 1/1] dt-bindings: soc: fsl: Convert q(b)man-* to yaml format
@ 2024-06-21 21:30 Frank Li
2024-06-21 22:32 ` Rob Herring (Arm)
2024-06-24 15:04 ` Rob Herring
0 siblings, 2 replies; 3+ messages in thread
From: Frank Li @ 2024-06-21 21:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
open list:FREESCALE SOC DRIVERS,
moderated list:FREESCALE SOC DRIVERS,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
open list
Cc: imx
Convert qman, bman, qman-portals, bman-portals to yaml format.
Additional Chang 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>
---
.../bindings/soc/fsl/bman-portals.txt | 56 ------
.../devicetree/bindings/soc/fsl/bman.txt | 137 -------------
.../bindings/soc/fsl/fsl,bman-portal.yaml | 51 +++++
.../devicetree/bindings/soc/fsl/fsl,bman.yaml | 83 ++++++++
.../bindings/soc/fsl/fsl,qman-fqd.yaml | 68 +++++++
.../bindings/soc/fsl/fsl,qman-portal.yaml | 110 +++++++++++
.../devicetree/bindings/soc/fsl/fsl,qman.yaml | 97 +++++++++
.../bindings/soc/fsl/qman-portals.txt | 134 -------------
.../devicetree/bindings/soc/fsl/qman.txt | 187 ------------------
9 files changed, 409 insertions(+), 514 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/soc/fsl/bman-portals.txt
delete mode 100644 Documentation/devicetree/bindings/soc/fsl/bman.txt
create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,bman-portal.yaml
create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml
create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml
create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml
create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml
delete mode 100644 Documentation/devicetree/bindings/soc/fsl/qman-portals.txt
delete mode 100644 Documentation/devicetree/bindings/soc/fsl/qman.txt
diff --git a/Documentation/devicetree/bindings/soc/fsl/bman-portals.txt b/Documentation/devicetree/bindings/soc/fsl/bman-portals.txt
deleted file mode 100644
index 2a00e14e11e02..0000000000000
--- a/Documentation/devicetree/bindings/soc/fsl/bman-portals.txt
+++ /dev/null
@@ -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>;
- };
- };
diff --git a/Documentation/devicetree/bindings/soc/fsl/bman.txt b/Documentation/devicetree/bindings/soc/fsl/bman.txt
deleted file mode 100644
index 48eed140765b0..0000000000000
--- a/Documentation/devicetree/bindings/soc/fsl/bman.txt
+++ /dev/null
@@ -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>;
- ...
- };
diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,bman-portal.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,bman-portal.yaml
new file mode 100644
index 0000000000000..06b51f049098f
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/fsl,bman-portal.yaml
@@ -0,0 +1,51 @@
+# 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,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 porta
+
+ 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>;
+ };
diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml
new file mode 100644
index 0000000000000..e6b3d489ce5cc
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml
@@ -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:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ 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
+ - fsl,bman-portals
+
+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>;
+ };
diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml
new file mode 100644
index 0000000000000..f7af14dc7deb6
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml
@@ -0,0 +1,68 @@
+# 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.txt
+
+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;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml
new file mode 100644
index 0000000000000..6c81e0d66f4d5
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml
@@ -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>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml
new file mode 100644
index 0000000000000..341c3d2cfd6c7
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml
@@ -0,0 +1,97 @@
+# 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:
+ See clock-bindings.txt and qoriq-clock.txt
+ Reference input clock. Its frequency is half of the platform clock
+
+ memory-region:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ 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
+ - fsl,qman-portals
+
+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>;
+ };
diff --git a/Documentation/devicetree/bindings/soc/fsl/qman-portals.txt b/Documentation/devicetree/bindings/soc/fsl/qman-portals.txt
deleted file mode 100644
index 5a34f3ab7bea3..0000000000000
--- a/Documentation/devicetree/bindings/soc/fsl/qman-portals.txt
+++ /dev/null
@@ -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>;
- };
- };
- };
diff --git a/Documentation/devicetree/bindings/soc/fsl/qman.txt b/Documentation/devicetree/bindings/soc/fsl/qman.txt
deleted file mode 100644
index ee96afd2af721..0000000000000
--- a/Documentation/devicetree/bindings/soc/fsl/qman.txt
+++ /dev/null
@@ -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>;
- ...
- };
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1] dt-bindings: soc: fsl: Convert q(b)man-* to yaml format
2024-06-21 21:30 [PATCH 1/1] dt-bindings: soc: fsl: Convert q(b)man-* to yaml format Frank Li
@ 2024-06-21 22:32 ` Rob Herring (Arm)
2024-06-24 15:04 ` Rob Herring
1 sibling, 0 replies; 3+ messages in thread
From: Rob Herring (Arm) @ 2024-06-21 22:32 UTC (permalink / raw)
To: Frank Li
Cc: devicetree, Conor Dooley, imx, linux-kernel, Krzysztof Kozlowski,
linuxppc-dev, linux-arm-kernel
On Fri, 21 Jun 2024 17:30:14 -0400, Frank Li wrote:
> Convert qman, bman, qman-portals, bman-portals to yaml format.
>
> Additional Chang 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>
> ---
> .../bindings/soc/fsl/bman-portals.txt | 56 ------
> .../devicetree/bindings/soc/fsl/bman.txt | 137 -------------
> .../bindings/soc/fsl/fsl,bman-portal.yaml | 51 +++++
> .../devicetree/bindings/soc/fsl/fsl,bman.yaml | 83 ++++++++
> .../bindings/soc/fsl/fsl,qman-fqd.yaml | 68 +++++++
> .../bindings/soc/fsl/fsl,qman-portal.yaml | 110 +++++++++++
> .../devicetree/bindings/soc/fsl/fsl,qman.yaml | 97 +++++++++
> .../bindings/soc/fsl/qman-portals.txt | 134 -------------
> .../devicetree/bindings/soc/fsl/qman.txt | 187 ------------------
> 9 files changed, 409 insertions(+), 514 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/soc/fsl/bman-portals.txt
> delete mode 100644 Documentation/devicetree/bindings/soc/fsl/bman.txt
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,bman-portal.yaml
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml
> delete mode 100644 Documentation/devicetree/bindings/soc/fsl/qman-portals.txt
> delete mode 100644 Documentation/devicetree/bindings/soc/fsl/qman.txt
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/soc/fsl/fsl,bman-portal.example.dtb: /example-0/bman-portal@0: failed to match any schema with compatible: ['fsl,bman-portal-1.0.0', 'fsl,bman-portal']
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240621213031.2759046-1-Frank.Li@nxp.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1] dt-bindings: soc: fsl: Convert q(b)man-* to yaml format
2024-06-21 21:30 [PATCH 1/1] dt-bindings: soc: fsl: Convert q(b)man-* to yaml format Frank Li
2024-06-21 22:32 ` Rob Herring (Arm)
@ 2024-06-24 15:04 ` Rob Herring
1 sibling, 0 replies; 3+ messages in thread
From: Rob Herring @ 2024-06-24 15:04 UTC (permalink / raw)
To: Frank Li
Cc: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Conor Dooley, imx, open list, Krzysztof Kozlowski,
open list:FREESCALE SOC DRIVERS,
moderated list:FREESCALE SOC DRIVERS
On Fri, Jun 21, 2024 at 05:30:14PM -0400, Frank Li wrote:
> Convert qman, bman, qman-portals, bman-portals to yaml format.
>
> Additional Chang for fsl,q(b)man-portal:
typo
> - 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>
> ---
> .../bindings/soc/fsl/bman-portals.txt | 56 ------
> .../devicetree/bindings/soc/fsl/bman.txt | 137 -------------
> .../bindings/soc/fsl/fsl,bman-portal.yaml | 51 +++++
> .../devicetree/bindings/soc/fsl/fsl,bman.yaml | 83 ++++++++
> .../bindings/soc/fsl/fsl,qman-fqd.yaml | 68 +++++++
> .../bindings/soc/fsl/fsl,qman-portal.yaml | 110 +++++++++++
> .../devicetree/bindings/soc/fsl/fsl,qman.yaml | 97 +++++++++
> .../bindings/soc/fsl/qman-portals.txt | 134 -------------
> .../devicetree/bindings/soc/fsl/qman.txt | 187 ------------------
> 9 files changed, 409 insertions(+), 514 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/soc/fsl/bman-portals.txt
> delete mode 100644 Documentation/devicetree/bindings/soc/fsl/bman.txt
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,bman-portal.yaml
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml
> delete mode 100644 Documentation/devicetree/bindings/soc/fsl/qman-portals.txt
> delete mode 100644 Documentation/devicetree/bindings/soc/fsl/qman.txt
> diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,bman-portal.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,bman-portal.yaml
> new file mode 100644
> index 0000000000000..06b51f049098f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/fsl/fsl,bman-portal.yaml
> @@ -0,0 +1,51 @@
> +# 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,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 porta
typo
> +
> + 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>;
> + };
> diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml
> new file mode 100644
> index 0000000000000..e6b3d489ce5cc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/fsl/fsl,bman.yaml
> @@ -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:
Needs '|' if you want formatting preserved.
> + 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
Wrap lines at 80 unless there's a good reason to go to 100. There isn't
here.
> +
> + interrupts:
> + items:
> + - description: The error interrupt
> +
> + memory-region:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
memory-region already has a type. Need to define how many entries and
what they are.
> + 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
> + - fsl,bman-portals
> +
> +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>;
> + };
> diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml
> new file mode 100644
> index 0000000000000..f7af14dc7deb6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.yaml
> @@ -0,0 +1,68 @@
> +# 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.txt
Please read what that document says.
> +
> +properties:
> + $nodename:
> + pattern: '^(qman-fqd|qman-pfdr|bman-fbpr|)+$'
Don't need the last '|' or the '+'.
> +
> + 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;
> + };
> + };
> diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml
> new file mode 100644
> index 0000000000000..6c81e0d66f4d5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/fsl/fsl,qman-portal.yaml
> @@ -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|)+$':
Same regex problems here.
> + 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>;
> + };
> + };
> diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml
> new file mode 100644
> index 0000000000000..341c3d2cfd6c7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/fsl/fsl,qman.yaml
> @@ -0,0 +1,97 @@
> +# 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:
> + See clock-bindings.txt and qoriq-clock.txt
Drop.
> + Reference input clock. Its frequency is half of the platform clock
> +
> + memory-region:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + 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
> + - fsl,qman-portals
> +
> +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>;
> + };
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-06-24 15:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-21 21:30 [PATCH 1/1] dt-bindings: soc: fsl: Convert q(b)man-* to yaml format Frank Li
2024-06-21 22:32 ` Rob Herring (Arm)
2024-06-24 15:04 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).