[PATCH net-next V7] dt-bindings: net: xlnx,axi-ethernet: convert bindings document to yaml

Gaddam, Sarath Babu Naidu sarath.babu.naidu.gaddam at amd.com
Tue Mar 28 09:01:26 PDT 2023



> -----Original Message-----
> From: Gaddam, Sarath Babu Naidu
> <sarath.babu.naidu.gaddam at amd.com>
> Sent: Tuesday, March 28, 2023 6:22 PM
> To: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>;
> davem at davemloft.net; edumazet at google.com; kuba at kernel.org;
> pabeni at redhat.com; robh+dt at kernel.org;
> krzysztof.kozlowski+dt at linaro.org
> Cc: michal.simek at xilinx.com; radhey.shyam.pandey at xilinx.com;
> netdev at vger.kernel.org; devicetree at vger.kernel.org; linux-arm-
> kernel at lists.infradead.org; linux-kernel at vger.kernel.org; Sarangi,
> Anirudha <anirudha.sarangi at amd.com>; Katakam, Harini
> <harini.katakam at amd.com>; git (AMD-Xilinx) <git at amd.com>
> Subject: RE: [PATCH net-next V7] dt-bindings: net: xlnx,axi-ethernet:
> convert bindings document to yaml
> 
> 
> 
> > -----Original Message-----
> > From: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
> > Sent: Tuesday, March 14, 2023 9:22 PM
> > To: Gaddam, Sarath Babu Naidu
> > <sarath.babu.naidu.gaddam at amd.com>; davem at davemloft.net;
> > edumazet at google.com; kuba at kernel.org; pabeni at redhat.com;
> > robh+dt at kernel.org; krzysztof.kozlowski+dt at linaro.org
> > Cc: michal.simek at xilinx.com; radhey.shyam.pandey at xilinx.com;
> > netdev at vger.kernel.org; devicetree at vger.kernel.org; linux-arm-
> > kernel at lists.infradead.org; linux-kernel at vger.kernel.org; Sarangi,
> > Anirudha <anirudha.sarangi at amd.com>; Katakam, Harini
> > <harini.katakam at amd.com>; git (AMD-Xilinx) <git at amd.com>
> > Subject: Re: [PATCH net-next V7] dt-bindings: net: xlnx,axi-ethernet:
> > convert bindings document to yaml
> >
> > On 08/03/2023 07:12, Sarath Babu Naidu Gaddam wrote:
> > > From: Radhey Shyam Pandey <radhey.shyam.pandey at xilinx.com>
> > >
> > > Convert the bindings document for Xilinx AXI Ethernet Subsystem
> from
> > > txt to yaml. No changes to existing binding description.
> > >
> >
> > (...)
> >
> > > +properties:
> > > +  compatible:
> > > +    enum:
> > > +      - xlnx,axi-ethernet-1.00.a
> > > +      - xlnx,axi-ethernet-1.01.a
> > > +      - xlnx,axi-ethernet-2.01.a
> > > +
> > > +  reg:
> > > +    description:
> > > +      Address and length of the IO space, as well as the address
> > > +      and length of the AXI DMA controller IO space, unless
> > > +      axistream-connected is specified, in which case the reg
> > > +      attribute of the node referenced by it is used.
> >
> > Did you test it with axistream-connected? The schema and description
> > feel contradictory and tests would point the issue.
> 
> Thanks for review comments. We tested with axistream-connected and
> did not observe any errors. Do you anticipate any issues/errors ?

Just to add more details, we have tested it using below dt node
		
	axienet at 0 {	
	        axistream-connected = <&dma>;
                        reg = <0x00 0x80000000 0x00 0x40000>;
                        compatible = "xlnx,axi-ethernet-2.01.a";
                        clock-names = "s_axi_lite_clk\0axis_clk\0ref_clk";
                        clocks = <0x03 0x47 0x03 0x47 0x18>;
                        phy-mode = "sgmii";
                        xlnx,rxcsum = <0x02>;
                        xlnx,rxmem = <0x1000>;
                        xlnx,txcsum = <0x02>;
                        pcs-handle = <0x19>;
                        phy-handle = <0x78>;
                        dmas = <0x17 0x00 0x17 0x01>;
                        dma-names = "tx_chan0\0rx_chan0";
                        mac-address = [ff ff ff ff ff ff];
                        managed = "in-band-status";
                        phandle = <0x79>;
		mdio {
                                #address-cells = <0x01>;
                                #size-cells = <0x00>;

                                phy at 0 {
                                        compatible = "ethernet-phy-ieee802.3-c22";
                                        reg = <0x00>;
                                        phandle = <0x78>;
                                };

                                ethernet-phy at 2 {
                                        device_type = "ethernet-phy";
                                        reg = <0x02>;
                                        phandle = <0x19>;
                                };
                        };
	};
This DT node works with our board. "&dma" is the dma DT node  and  
to test the second case where dma  address and length  included  in 
the axienet reg's property as below 
"reg = <0x00 0x80000000 0x00 0x40000 0x0 0x80040000 0x0 0x1000>;"

I did not observe any issue with above two cases. Used below command
 to validate the yaml using above DT node.
make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml

Thanks,
Sarath

> > > +    maxItems: 2
> > > +
> > > +  interrupts:
> > > +    items:
> > > +      - description: Ethernet core interrupt
> > > +      - description: Tx DMA interrupt
> > > +      - description: Rx DMA interrupt
> > > +    description:
> > > +      Ethernet core interrupt is optional. If axistream-connected
> > property is
> > > +      present DMA node should contains TX/RX DMA interrupts else
> > DMA interrupt
> > > +      resources are mentioned on ethernet node.
> > > +    minItems: 1
> > > +
> > > +  phy-handle: true
> > > +
> > > +  xlnx,rxmem:
> > > +    description:
> > > +      Set to allocated memory buffer for Rx/Tx in the hardware.
> > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > +
> > > +  phy-mode:
> > > +    items:
> > > +      - description: MII
> > > +      - description: GMII
> > > +      - description: RGMII
> > > +      - description: SGMII
> > > +      - description: 1000BaseX
> >
> > I have doubts you tested it... Since when this is a list? How does it
> > exactly work and what do you want to show here?
> >
> > connection type is enum.
> >
> >
> > > +    minItems: 1
> > > +
> > > +  xlnx,phy-type:
> > > +    description:
> > > +      Do not use, but still accepted in preference to phy-mode.
> > > +    deprecated: true
> > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > +
> > > +  xlnx,txcsum:
> > > +    description:
> > > +      TX checksum offload. 0 or empty for disabling TX checksum
> > offload,
> > > +      1 to enable partial TX checksum offload and 2 to enable full TX
> > > +      checksum offload.
> > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > +    enum: [0, 1, 2]
> > > +
> > > +  xlnx,rxcsum:
> > > +    description:
> > > +      RX checksum offload. 0 or empty for disabling RX checksum
> > offload,
> > > +      1 to enable partial RX checksum offload and 2 to enable full RX
> > > +      checksum offload.
> > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > +    enum: [0, 1, 2]
> > > +
> > > +  xlnx,switch-x-sgmii:
> > > +    type: boolean
> > > +    description:
> > > +      Indicate the Ethernet core is configured to support both
> > > + 1000BaseX
> > and
> > > +      SGMII modes. If set, the phy-mode should be set to match the
> > mode
> > > +      selected on core reset (i.e. by the basex_or_sgmii core input
> line).
> > > +
> > > +  clocks:
> > > +    items:
> > > +      - description: Clock for AXI register slave interface.
> > > +      - description: AXI4-Stream clock for TXD RXD TXC and RXS
> > interfaces.
> > > +      - description: Ethernet reference clock, used by signal delay
> > primitives
> > > +                     and transceivers.
> > > +      - description: MGT reference clock (used by optional internal
> > > + PCS/PMA PHY)
> > > +
> > > +  clock-names:
> > > +    items:
> > > +      - const: s_axi_lite_clk
> > > +      - const: axis_clk
> > > +      - const: ref_clk
> > > +      - const: mgt_clk
> > > +
> > > +  axistream-connected:
> > > +    $ref: /schemas/types.yaml#/definitions/phandle
> > > +    description: Phandle of AXI DMA controller which contains the
> > resources
> > > +      used by this device. If this is specified, the DMA-related
> resources
> > > +      from that device (DMA registers and DMA TX/RX interrupts)
> > > + rather
> > than
> > > +      this one will be used.
> > > +
> > > +  mdio:
> > > +    type: object
> > > +
> > > +  pcs-handle:
> >
> > maxItems: 1
> >
> > > +    description: Phandle to the internal PCS/PMA PHY in SGMII or
> > 1000Base-X
> > > +      modes, where "pcs-handle" should be used to point to the
> > PCS/PMA PHY,
> > > +      and "phy-handle" should point to an external PHY if exists.
> >
> > Best regards,
> > Krzysztof



More information about the linux-arm-kernel mailing list