All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: misc: add binding for Xilinx AXI4-Stream FIFO MM S
@ 2026-09-19  1:14 Daniel28972897
  2026-09-19  1:24 ` sashiko-bot
  2026-09-19  2:58 ` [PATCH v2 0/2] dt-bindings: misc: convert axis-fifo binding to YAML Daniel28972897
  0 siblings, 2 replies; 9+ messages in thread
From: Daniel28972897 @ 2026-09-19  1:14 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, linux-staging, Daniel28972897

The axis-fifo driver (drivers/staging/axis-fifo/axis-fifo.c) has
supported the "xlnx,axi-fifo-mm-s-4.1", "xlnx,axi-fifo-mm-s-4.2" and
"xlnx,axi-fifo-mm-s-4.3" compatible strings since it was added, but no
devicetree binding schema exists for them, which checkpatch.pl flags:

  WARNING: DT compatible string "xlnx,axi-fifo-mm-s-4.1" appears
  un-documented -- check ./Documentation/devicetree/bindings/

Add a schema documenting the compatible strings and the six
xlnx,*-prefixed properties the driver reads in
axis_fifo_parse_dt(), all of which are currently required by the
driver's own error handling.

Validated with:
  make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml

Signed-off-by: Daniel28972897 <danyboy28sep@gmail.com>
---
 .../bindings/misc/xlnx,axi-fifo-mm-s.yaml     | 91 +++++++++++++++++++
 1 file changed, 91 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..56d58b37b71e
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml
@@ -0,0 +1,91 @@
+# 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 provides a simple interface
+  to move data between the AXI4-Stream and AXI4 memory-mapped domains.
+  See Xilinx PG080 for details.
+
+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
+
+  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 bytes, of the receive FIFO.
+
+  xlnx,tx-fifo-depth:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Depth, in bytes, 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.
+
+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@40000000 {
+        compatible = "xlnx,axi-fifo-mm-s-4.1";
+        reg = <0x40000000 0x10000>;
+        interrupts = <0 29 4>;
+        xlnx,axi-str-rxd-tdata-width = <32>;
+        xlnx,axi-str-txd-tdata-width = <32>;
+        xlnx,rx-fifo-depth = <2048>;
+        xlnx,tx-fifo-depth = <2048>;
+        xlnx,use-rx-data = <1>;
+        xlnx,use-tx-data = <1>;
+    };
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] dt-bindings: misc: add binding for Xilinx AXI4-Stream FIFO MM S
  2026-09-19  1:14 [PATCH] dt-bindings: misc: add binding for Xilinx AXI4-Stream FIFO MM S Daniel28972897
@ 2026-09-19  1:24 ` sashiko-bot
  2026-09-19  2:58 ` [PATCH v2 0/2] dt-bindings: misc: convert axis-fifo binding to YAML Daniel28972897
  1 sibling, 0 replies; 9+ messages in thread
From: sashiko-bot @ 2026-09-19  1:24 UTC (permalink / raw)
  To: Daniel28972897; +Cc: robh, devicetree, conor+dt

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] dt-bindings: misc: tx-fifo-depth documented in bytes instead of words
- [Medium] dt-bindings: misc: additionalProperties false rejects valid properties
- [Low] dt-bindings: misc: incomplete migration leaves orphaned text binding
--

commit b044052b8807822a68aa39048ff207a8df629e04
Author: Daniel28972897 <danyboy28sep@gmail.com>

dt-bindings: misc: add binding for Xilinx AXI4-Stream FIFO MM S

This commit adds a YAML binding schema for the Xilinx AXI4-Stream FIFO MM S IP
core, which is supported by the axis-fifo driver. It documents the compatible
strings and six properties required by the driver.

>     The axis-fifo driver (drivers/staging/axis-fifo/axis-fifo.c) has
>     supported the "xlnx,axi-fifo-mm-s-4.1", "xlnx,axi-fifo-mm-s-4.2" and
>     "xlnx,axi-fifo-mm-s-4.3" compatible strings since it was added, but no
>     devicetree binding schema exists for them, which checkpatch.pl flags:

[Severity: Low]
Is the claim that no binding schema exists accurate?

The original text binding in drivers/staging/axis-fifo/axis-fifo.txt already
documents this hardware. This commit creates a new YAML binding but fails to
remove or update the existing comprehensive text binding, leaving split and
conflicting documentation in the tree.

> 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 0000000000000..56d58b37b71ed
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml

[ ... ]

> +  xlnx,rx-fifo-depth:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Depth, in bytes, of the receive FIFO.
> +
> +  xlnx,tx-fifo-depth:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Depth, in bytes, of the transmit FIFO.

[Severity: High]
Does the driver expect these depths in words rather than bytes?

If a user follows this YAML and specifies a depth in bytes (e.g. 2048 for a
512-word hardware FIFO), the driver will erroneously permit writes up to 2044
words.

The driver enforces maximum write sizes via
words_to_write > (fifo->tx_fifo_depth - 4) and calls
wait_event_interruptible() waiting for hardware FIFO vacancy to reach the
requested amount. Since the physical FIFO only has 512 words, this condition
will never be met, causing an infinite wait when a user writes data larger
than the actual hardware capacity.

[ ... ]

> +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

[Severity: Medium]
Does setting this to false reject valid device trees?

Xilinx generation tools produce numerous hardware properties like
xlnx,axis-tdest-width and xlnx,axi-str-rxd-protocol which are explicitly
defined in the original axis-fifo.txt.

This new schema omits those valid properties, causing dtbs_check to wrongly
reject existing hardware configurations.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260919011417.156828-1-danyboy28sep@gmail.com?part=1

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v2 0/2] dt-bindings: misc: convert axis-fifo binding to YAML
  2026-09-19  1:14 [PATCH] dt-bindings: misc: add binding for Xilinx AXI4-Stream FIFO MM S Daniel28972897
  2026-09-19  1:24 ` sashiko-bot
@ 2026-09-19  2:58 ` Daniel28972897
  2026-09-19  2:58   ` [PATCH v2 1/2] " Daniel28972897
                     ` (2 more replies)
  1 sibling, 3 replies; 9+ messages in thread
From: Daniel28972897 @ 2026-09-19  2:58 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, linux-staging, Daniel28972897

This is v2 of the axis-fifo devicetree binding conversion, addressing
review feedback from the Sashiko AI bot on v1:

- The FIFO depth properties are documented in 32-bit words, not bytes,
  matching the original text binding and the driver's own arithmetic.
- additionalProperties: false no longer rejects real-world devicetrees,
  since all properties generated by the Xilinx IP integrator (even
  ones the driver ignores) are now listed in the schema.
- The now-superseded drivers/staging/axis-fifo/axis-fifo.txt is
  removed, split into its own patch per
  Documentation/devicetree/bindings/submitting-patches.rst.

Daniel28972897 (2):
  dt-bindings: misc: convert axis-fifo binding to YAML
  staging: axis-fifo: remove superseded text binding

 .../bindings/misc/xlnx,axi-fifo-mm-s.yaml     | 150 ++++++++++++++++++
 drivers/staging/axis-fifo/axis-fifo.txt       |  96 -----------
 2 files changed, 150 insertions(+), 96 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml
 delete mode 100644 drivers/staging/axis-fifo/axis-fifo.txt

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v2 1/2] dt-bindings: misc: convert axis-fifo binding to YAML
  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
  2026-09-19  3:09     ` sashiko-bot
  2026-09-19  6:58     ` Krzysztof Kozlowski
  2026-09-19  2:59   ` [PATCH v2 2/2] staging: axis-fifo: remove superseded text binding Daniel28972897
  2026-09-19  7:47   ` [PATCH v2 0/2] dt-bindings: misc: convert axis-fifo binding to YAML Greg Kroah-Hartman
  2 siblings, 2 replies; 9+ messages in thread
From: Daniel28972897 @ 2026-09-19  2:58 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, linux-staging, Daniel28972897

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


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 2/2] staging: axis-fifo: remove superseded text binding
  2026-09-19  2:58 ` [PATCH v2 0/2] dt-bindings: misc: convert axis-fifo binding to YAML Daniel28972897
  2026-09-19  2:58   ` [PATCH v2 1/2] " Daniel28972897
@ 2026-09-19  2:59   ` 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
  2 siblings, 1 reply; 9+ messages in thread
From: Daniel28972897 @ 2026-09-19  2:59 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, linux-staging, Daniel28972897

This driver's devicetree binding has been converted to
Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml,
which supersedes and duplicates this file.

Signed-off-by: Daniel28972897 <danyboy28sep@gmail.com>
---
 drivers/staging/axis-fifo/axis-fifo.txt | 96 -------------------------
 1 file changed, 96 deletions(-)
 delete mode 100644 drivers/staging/axis-fifo/axis-fifo.txt

diff --git a/drivers/staging/axis-fifo/axis-fifo.txt b/drivers/staging/axis-fifo/axis-fifo.txt
deleted file mode 100644
index 413b81a53202..000000000000
--- a/drivers/staging/axis-fifo/axis-fifo.txt
+++ /dev/null
@@ -1,96 +0,0 @@
-Xilinx AXI-Stream FIFO v4.1 IP core
-
-This 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. The driver creates
-a character device that can be read/written to with standard
-open/read/write/close.
-
-See Xilinx PG080 document for IP details.
-
-Currently supports only store-forward mode with a 32-bit
-AXI4-Lite interface. DOES NOT support:
-	- cut-through mode
-	- AXI4 (non-lite)
-
-Required properties:
-- compatible: Should be one of:
-    "xlnx,axi-fifo-mm-s-4.1"
-    "xlnx,axi-fifo-mm-s-4.2"
-    "xlnx,axi-fifo-mm-s-4.3"
-- interrupt-names: Should be "interrupt"
-- interrupt-parent: Should be <&intc>
-- interrupts: Should contain interrupts lines.
-- reg: Should contain registers location and length.
-- xlnx,axi-str-rxd-protocol: Should be "XIL_AXI_STREAM_ETH_DATA"
-- xlnx,axi-str-rxd-tdata-width: Should be <0x20>
-- xlnx,axi-str-txc-protocol: Should be "XIL_AXI_STREAM_ETH_CTRL"
-- xlnx,axi-str-txc-tdata-width: Should be <0x20>
-- xlnx,axi-str-txd-protocol: Should be "XIL_AXI_STREAM_ETH_DATA"
-- xlnx,axi-str-txd-tdata-width: Should be <0x20>
-- xlnx,axis-tdest-width: AXI-Stream TDEST width (ignored by the driver)
-- xlnx,axis-tid-width: AXI-Stream TID width (ignored by the driver)
-- xlnx,axis-tuser-width: AXI-Stream TUSER width (ignored by the driver)
-- xlnx,data-interface-type: Should be <0x0> (ignored by the driver)
-- xlnx,has-axis-tdest: Should be <0x0> (this feature isn't supported)
-- xlnx,has-axis-tid: Should be <0x0> (this feature isn't supported)
-- xlnx,has-axis-tkeep: Should be <0x0> (this feature isn't supported)
-- xlnx,has-axis-tstrb: Should be <0x0> (this feature isn't supported)
-- xlnx,has-axis-tuser: Should be <0x0> (this feature isn't supported)
-- xlnx,rx-fifo-depth: Depth of RX FIFO in words
-- xlnx,rx-fifo-pe-threshold: RX programmable empty interrupt threshold
-	(ignored by the driver)
-- xlnx,rx-fifo-pf-threshold: RX programmable full interrupt threshold
-	(ignored by the driver)
-- xlnx,s-axi-id-width: Should be <0x4> (ignored by the driver)
-- xlnx,s-axi4-data-width: Should be <0x20> (ignored by the driver)
-- xlnx,select-xpm: Should be <0x0> (ignored by the driver)
-- xlnx,tx-fifo-depth: Depth of TX FIFO in words
-- xlnx,tx-fifo-pe-threshold: TX programmable empty interrupt threshold
-	(ignored by the driver)
-- xlnx,tx-fifo-pf-threshold: TX programmable full interrupt threshold
-	(ignored by the driver)
-- xlnx,use-rx-cut-through: Should be <0x0> (this feature isn't supported)
-- xlnx,use-rx-data: <0x1> if RX FIFO is enabled, <0x0> otherwise
-- xlnx,use-tx-ctrl: Should be <0x0> (this feature isn't supported)
-- xlnx,use-tx-cut-through: Should be <0x0> (this feature isn't supported)
-- xlnx,use-tx-data: <0x1> if TX FIFO is enabled, <0x0> otherwise
-
-Example:
-
-axi_fifo_mm_s_0: axi_fifo_mm_s@43c00000 {
-	compatible = "xlnx,axi-fifo-mm-s-4.1";
-	interrupt-names = "interrupt";
-	interrupt-parent = <&intc>;
-	interrupts = <0 29 4>;
-	reg = <0x43c00000 0x10000>;
-	xlnx,axi-str-rxd-protocol = "XIL_AXI_STREAM_ETH_DATA";
-	xlnx,axi-str-rxd-tdata-width = <0x20>;
-	xlnx,axi-str-txc-protocol = "XIL_AXI_STREAM_ETH_CTRL";
-	xlnx,axi-str-txc-tdata-width = <0x20>;
-	xlnx,axi-str-txd-protocol = "XIL_AXI_STREAM_ETH_DATA";
-	xlnx,axi-str-txd-tdata-width = <0x20>;
-	xlnx,axis-tdest-width = <0x4>;
-	xlnx,axis-tid-width = <0x4>;
-	xlnx,axis-tuser-width = <0x4>;
-	xlnx,data-interface-type = <0x0>;
-	xlnx,has-axis-tdest = <0x0>;
-	xlnx,has-axis-tid = <0x0>;
-	xlnx,has-axis-tkeep = <0x0>;
-	xlnx,has-axis-tstrb = <0x0>;
-	xlnx,has-axis-tuser = <0x0>;
-	xlnx,rx-fifo-depth = <0x200>;
-	xlnx,rx-fifo-pe-threshold = <0x2>;
-	xlnx,rx-fifo-pf-threshold = <0x1fb>;
-	xlnx,s-axi-id-width = <0x4>;
-	xlnx,s-axi4-data-width = <0x20>;
-	xlnx,select-xpm = <0x0>;
-	xlnx,tx-fifo-depth = <0x8000>;
-	xlnx,tx-fifo-pe-threshold = <0x200>;
-	xlnx,tx-fifo-pf-threshold = <0x7ffb>;
-	xlnx,use-rx-cut-through = <0x0>;
-	xlnx,use-rx-data = <0x0>;
-	xlnx,use-tx-ctrl = <0x0>;
-	xlnx,use-tx-cut-through = <0x0>;
-	xlnx,use-tx-data = <0x1>;
-};
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: misc: convert axis-fifo binding to YAML
  2026-09-19  2:58   ` [PATCH v2 1/2] " Daniel28972897
@ 2026-09-19  3:09     ` sashiko-bot
  2026-09-19  6:58     ` Krzysztof Kozlowski
  1 sibling, 0 replies; 9+ messages in thread
From: sashiko-bot @ 2026-09-19  3:09 UTC (permalink / raw)
  To: Daniel28972897; +Cc: conor+dt, devicetree, robh

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] dt-bindings: missing type definition for vendor properties
--

commit e279d5a2991ae1467a7af717115f8a8656d5f101
Author: Daniel28972897 <danyboy28sep@gmail.com>

dt-bindings: misc: convert axis-fifo binding to YAML

This commit converts the text-based axis-fifo binding to a YAML schema to
enable validation via dtbs_check. It preserves all original properties,
including those generated by the Xilinx IP integrator that are currently
ignored by the Linux driver.

> 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 0000000000000..fffd69b128111
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml
[ ... ]
> +  # 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

[Severity: Low]
Does this properties block in
Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml pass make
dt_binding_check?

The dtschema meta-schema requires all custom vendor-specific properties to
have an explicitly defined type constraint (e.g.,
$ref: /schemas/types.yaml#/definitions/uint32).

Setting these vendor properties to true without mandatory $ref type
definitions or descriptions causes a build-time validation failure when
running make dt_binding_check on the added schema.

Will these properties be updated to include the appropriate type constraints?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260919025900.169703-1-danyboy28sep@gmail.com?part=1

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: misc: convert axis-fifo binding to YAML
  2026-09-19  2:58   ` [PATCH v2 1/2] " Daniel28972897
  2026-09-19  3:09     ` sashiko-bot
@ 2026-09-19  6:58     ` Krzysztof Kozlowski
  1 sibling, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-19  6:58 UTC (permalink / raw)
  To: Daniel28972897, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, linux-staging

On 19/09/2026 04:58, Daniel28972897 wrote:
> 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.

So you fix not because it has to be fixed, but some tool told you?

> 
> 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>

Another, third try this week? Is there some staging-checkpatch spree?

Same comments as before, no. For explanations, just search:
https://lore.kernel.org/all/

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 2/2] staging: axis-fifo: remove superseded text binding
  2026-09-19  2:59   ` [PATCH v2 2/2] staging: axis-fifo: remove superseded text binding Daniel28972897
@ 2026-09-19  6:59     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-19  6:59 UTC (permalink / raw)
  To: Daniel28972897, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, linux-staging

On 19/09/2026 04:59, Daniel28972897 wrote:
> This driver's devicetree binding has been converted to
> Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml,
> which supersedes and duplicates this file.
> 
> Signed-off-by: Daniel28972897 <danyboy28sep@gmail.com>
> ---
>  drivers/staging/axis-fifo/axis-fifo.txt | 96 -------------------------
>  1 file changed, 96 deletions(-)

Pointless commit on its own. Never should be split. Just look at history
how it is done (`git log`) and do not do such work COMPLETELY different.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 0/2] dt-bindings: misc: convert axis-fifo binding to YAML
  2026-09-19  2:58 ` [PATCH v2 0/2] dt-bindings: misc: convert axis-fifo binding to YAML Daniel28972897
  2026-09-19  2:58   ` [PATCH v2 1/2] " Daniel28972897
  2026-09-19  2:59   ` [PATCH v2 2/2] staging: axis-fifo: remove superseded text binding Daniel28972897
@ 2026-09-19  7:47   ` Greg Kroah-Hartman
  2 siblings, 0 replies; 9+ messages in thread
From: Greg Kroah-Hartman @ 2026-09-19  7:47 UTC (permalink / raw)
  To: Daniel28972897
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
	linux-kernel, linux-staging

On Fri, Sep 18, 2026 at 08:58:58PM -0600, Daniel28972897 wrote:
> This is v2 of the axis-fifo devicetree binding conversion, addressing
> review feedback from the Sashiko AI bot on v1:
> 
> - The FIFO depth properties are documented in 32-bit words, not bytes,
>   matching the original text binding and the driver's own arithmetic.
> - additionalProperties: false no longer rejects real-world devicetrees,
>   since all properties generated by the Xilinx IP integrator (even
>   ones the driver ignores) are now listed in the schema.
> - The now-superseded drivers/staging/axis-fifo/axis-fifo.txt is
>   removed, split into its own patch per
>   Documentation/devicetree/bindings/submitting-patches.rst.
> 
> Daniel28972897 (2):

Again, you were told this type of change was not ok, please do not
ignore review comments.  Also, this isn't a valid author name :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-09-19  7:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-19  1:14 [PATCH] dt-bindings: misc: add binding for Xilinx AXI4-Stream FIFO MM S Daniel28972897
2026-09-19  1:24 ` sashiko-bot
2026-09-19  2:58 ` [PATCH v2 0/2] dt-bindings: misc: convert axis-fifo binding to YAML Daniel28972897
2026-09-19  2:58   ` [PATCH v2 1/2] " Daniel28972897
2026-09-19  3:09     ` sashiko-bot
2026-09-19  6:58     ` 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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.