From: Daniel28972897 <danyboy28sep@gmail.com>
To: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-staging@lists.linux.dev,
Daniel28972897 <danyboy28sep@gmail.com>
Subject: [PATCH v2 1/2] dt-bindings: misc: convert axis-fifo binding to YAML
Date: Fri, 18 Sep 2026 20:58:59 -0600 [thread overview]
Message-ID: <20260919025900.169703-2-danyboy28sep@gmail.com> (raw)
In-Reply-To: <20260919025900.169703-1-danyboy28sep@gmail.com>
Convert drivers/staging/axis-fifo/axis-fifo.txt to a YAML schema
under Documentation/devicetree/bindings/misc/, so it is checked by
dtbs_check and by checkpatch.pl's undocumented-compatible warning.
The FIFO depth properties are documented as being in 32-bit words,
matching the original text binding and the driver's own arithmetic
in axis_fifo_write(), not bytes as an earlier draft of this schema
incorrectly stated.
All properties from the original text binding are preserved,
including ones the driver itself ignores, since they are generated
unconditionally by the Xilinx IP integrator and may be present in
real-world devicetree sources.
Signed-off-by: Daniel28972897 <danyboy28sep@gmail.com>
---
.../bindings/misc/xlnx,axi-fifo-mm-s.yaml | 150 ++++++++++++++++++
1 file changed, 150 insertions(+)
create mode 100644 Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml
diff --git a/Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml b/Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml
new file mode 100644
index 000000000000..fffd69b12811
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml
@@ -0,0 +1,150 @@
+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/misc/xlnx,axi-fifo-mm-s.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Xilinx AXI4-Stream FIFO MM S IP core
+
+maintainers:
+ - Daniel <danyboy28sep@gmail.com>
+
+description:
+ The Xilinx AXI4-Stream FIFO MM S IP core has read and write AXI-Stream
+ FIFOs, the contents of which can be accessed from the AXI4 memory-mapped
+ interface. This is useful for transferring data from a processor into
+ the FPGA fabric. See Xilinx PG080 for details.
+
+ Currently the Linux driver supports only store-forward mode with a
+ 32-bit AXI4-Lite interface, and does not support cut-through mode or
+ full (non-lite) AXI4.
+
+properties:
+ compatible:
+ enum:
+ - xlnx,axi-fifo-mm-s-4.1
+ - xlnx,axi-fifo-mm-s-4.2
+ - xlnx,axi-fifo-mm-s-4.3
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ interrupt-names:
+ const: interrupt
+
+ xlnx,axi-str-rxd-tdata-width:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ const: 32
+ description:
+ Width, in bits, of the AXI4-Stream receive data interface. Only 32
+ is currently supported by the driver.
+
+ xlnx,axi-str-txd-tdata-width:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ const: 32
+ description:
+ Width, in bits, of the AXI4-Stream transmit data interface. Only 32
+ is currently supported by the driver.
+
+ xlnx,rx-fifo-depth:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Depth, in 32-bit words, of the receive FIFO.
+
+ xlnx,tx-fifo-depth:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Depth, in 32-bit words, of the transmit FIFO.
+
+ xlnx,use-rx-data:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [0, 1]
+ description:
+ Whether the receive data path is present in this IP core instance.
+
+ xlnx,use-tx-data:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [0, 1]
+ description:
+ Whether the transmit data path is present in this IP core instance.
+
+ # The following properties are generated by the Xilinx IP integrator
+ # for this core and may be present in real-world devicetrees, but are
+ # not currently read by the Linux driver.
+ xlnx,axi-str-rxd-protocol: true
+ xlnx,axi-str-txc-protocol: true
+ xlnx,axi-str-txc-tdata-width: true
+ xlnx,axi-str-txd-protocol: true
+ xlnx,axis-tdest-width: true
+ xlnx,axis-tid-width: true
+ xlnx,axis-tuser-width: true
+ xlnx,data-interface-type: true
+ xlnx,has-axis-tdest: true
+ xlnx,has-axis-tid: true
+ xlnx,has-axis-tkeep: true
+ xlnx,has-axis-tstrb: true
+ xlnx,has-axis-tuser: true
+ xlnx,rx-fifo-pe-threshold: true
+ xlnx,rx-fifo-pf-threshold: true
+ xlnx,s-axi-id-width: true
+ xlnx,s-axi4-data-width: true
+ xlnx,select-xpm: true
+ xlnx,tx-fifo-pe-threshold: true
+ xlnx,tx-fifo-pf-threshold: true
+ xlnx,use-rx-cut-through: true
+ xlnx,use-tx-ctrl: true
+ xlnx,use-tx-cut-through: true
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - xlnx,axi-str-rxd-tdata-width
+ - xlnx,axi-str-txd-tdata-width
+ - xlnx,rx-fifo-depth
+ - xlnx,tx-fifo-depth
+ - xlnx,use-rx-data
+ - xlnx,use-tx-data
+
+additionalProperties: false
+
+examples:
+ - |
+ fifo@43c00000 {
+ compatible = "xlnx,axi-fifo-mm-s-4.1";
+ reg = <0x43c00000 0x10000>;
+ interrupt-names = "interrupt";
+ interrupts = <0 29 4>;
+ xlnx,axi-str-rxd-protocol = "XIL_AXI_STREAM_ETH_DATA";
+ xlnx,axi-str-rxd-tdata-width = <32>;
+ xlnx,axi-str-txc-protocol = "XIL_AXI_STREAM_ETH_CTRL";
+ xlnx,axi-str-txc-tdata-width = <32>;
+ xlnx,axi-str-txd-protocol = "XIL_AXI_STREAM_ETH_DATA";
+ xlnx,axi-str-txd-tdata-width = <32>;
+ xlnx,axis-tdest-width = <4>;
+ xlnx,axis-tid-width = <4>;
+ xlnx,axis-tuser-width = <4>;
+ xlnx,data-interface-type = <0>;
+ xlnx,has-axis-tdest = <0>;
+ xlnx,has-axis-tid = <0>;
+ xlnx,has-axis-tkeep = <0>;
+ xlnx,has-axis-tstrb = <0>;
+ xlnx,has-axis-tuser = <0>;
+ xlnx,rx-fifo-depth = <512>;
+ xlnx,rx-fifo-pe-threshold = <2>;
+ xlnx,rx-fifo-pf-threshold = <507>;
+ xlnx,s-axi-id-width = <4>;
+ xlnx,s-axi4-data-width = <32>;
+ xlnx,select-xpm = <0>;
+ xlnx,tx-fifo-depth = <32768>;
+ xlnx,tx-fifo-pe-threshold = <512>;
+ xlnx,tx-fifo-pf-threshold = <32763>;
+ xlnx,use-rx-cut-through = <0>;
+ xlnx,use-rx-data = <0>;
+ xlnx,use-tx-ctrl = <0>;
+ xlnx,use-tx-cut-through = <0>;
+ xlnx,use-tx-data = <1>;
+ };
--
2.34.1
next prev parent reply other threads:[~2026-09-19 2:59 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-19 1:14 [PATCH] dt-bindings: misc: add binding for Xilinx AXI4-Stream FIFO MM S Daniel28972897
2026-09-19 2:58 ` [PATCH v2 0/2] dt-bindings: misc: convert axis-fifo binding to YAML Daniel28972897
2026-09-19 2:58 ` Daniel28972897 [this message]
2026-09-19 6:58 ` [PATCH v2 1/2] " Krzysztof Kozlowski
2026-09-19 2:59 ` [PATCH v2 2/2] staging: axis-fifo: remove superseded text binding Daniel28972897
2026-09-19 6:59 ` Krzysztof Kozlowski
2026-09-19 7:47 ` [PATCH v2 0/2] dt-bindings: misc: convert axis-fifo binding to YAML Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260919025900.169703-2-danyboy28sep@gmail.com \
--to=danyboy28sep@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®