On Tue, Oct 06, 2026 at 07:29:54PM +0800, Raiden Lumine wrote: > The axis-fifo driver's compatible strings were undocumented, flagged > by checkpatch.pl as UNDOCUMENTED_DT_STRING. Add a devicetree binding > document for drivers/staging/axis-fifo, derived from the properties > the driver reads via of_property_read_u32() in axis_fifo_parse_dt(). > > Signed-off-by: Raiden Lumine <2557597107@qq.com> pw-bot: changes-requested Please see previously explained (multiple times) rationale for why this is not a simple conversion: lore.kernel.org/all/?q=dfn:axis-fifo Thanks, Conor. > --- > .../bindings/misc/xlnx,axi-fifo-mm-s.yaml | 191 ++++++++++++++++++ > 1 file changed, 191 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..219a7de223cc > --- /dev/null > +++ b/Documentation/devicetree/bindings/misc/xlnx,axi-fifo-mm-s.yaml > @@ -0,0 +1,191 @@ > +# SPDX-License-Identifier: (GPL-2.0-only 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# > + > +$defs: > + xlnx-uint32-zero: > + $ref: /schemas/types.yaml#/definitions/uint32 > + const: 0 > + description: Must be 0, this feature isn't supported. > + > +title: Xilinx AXI-Stream FIFO v4.1 IP core > + > +maintainers: > + - Jacob Feder > + > +description: | > + 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) > + > +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: AXI-Stream RX data width, must be 32. > + > + xlnx,axi-str-txd-tdata-width: > + $ref: /schemas/types.yaml#/definitions/uint32 > + const: 32 > + description: AXI-Stream TX data width, must be 32. > + > + xlnx,rx-fifo-depth: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Depth of RX FIFO in words. > + > + xlnx,tx-fifo-depth: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Depth of TX FIFO in words. > + > + xlnx,use-rx-data: > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1] > + description: Set to 1 if RX FIFO is enabled, 0 otherwise. > + > + xlnx,use-tx-data: > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1] > + description: Set to 1 if TX FIFO is enabled, 0 otherwise. > + > + xlnx,axi-str-rxd-protocol: > + $ref: /schemas/types.yaml#/definitions/string > + description: Ignored by the driver. > + > + xlnx,axi-str-txc-protocol: > + $ref: /schemas/types.yaml#/definitions/string > + description: Ignored by the driver. > + > + xlnx,axi-str-txd-protocol: > + $ref: /schemas/types.yaml#/definitions/string > + description: Ignored by the driver. > + > + xlnx,axi-str-txc-tdata-width: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,axis-tdest-width: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,axis-tid-width: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,axis-tuser-width: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,data-interface-type: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,has-axis-tdest: > + $ref: '#/$defs/xlnx-uint32-zero' > + > + xlnx,has-axis-tid: > + $ref: '#/$defs/xlnx-uint32-zero' > + > + xlnx,has-axis-tkeep: > + $ref: '#/$defs/xlnx-uint32-zero' > + > + xlnx,has-axis-tstrb: > + $ref: '#/$defs/xlnx-uint32-zero' > + > + xlnx,has-axis-tuser: > + $ref: '#/$defs/xlnx-uint32-zero' > + > + xlnx,rx-fifo-pe-threshold: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,rx-fifo-pf-threshold: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,s-axi-id-width: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,s-axi4-data-width: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,select-xpm: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,tx-fifo-pe-threshold: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,tx-fifo-pf-threshold: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Ignored by the driver. > + > + xlnx,use-rx-cut-through: > + $ref: '#/$defs/xlnx-uint32-zero' > + > + xlnx,use-tx-ctrl: > + $ref: '#/$defs/xlnx-uint32-zero' > + > + xlnx,use-tx-cut-through: > + $ref: '#/$defs/xlnx-uint32-zero' > + > +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: > + - | > + axi_fifo_mm_s_0: axi-fifo-mm-s@43c00000 { > + compatible = "xlnx,axi-fifo-mm-s-4.1"; > + 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,rx-fifo-depth = <0x200>; > + xlnx,tx-fifo-depth = <0x8000>; > + xlnx,use-rx-data = <0x0>; > + xlnx,use-tx-data = <0x1>; > + }; > +... > -- > 2.55.0 >