[PATCH v6 1/2] dt-bindings: net: Add FSD EQoS device tree bindings
Swathi K S
swathi.ks at samsung.com
Thu Feb 13 03:04:29 PST 2025
> -----Original Message-----
> From: Krzysztof Kozlowski <krzk at kernel.org>
> Sent: 13 February 2025 13:24
> To: Swathi K S <swathi.ks at samsung.com>
> Cc: krzk+dt at kernel.org; andrew+netdev at lunn.ch; davem at davemloft.net;
> edumazet at google.com; kuba at kernel.org; pabeni at redhat.com;
> robh at kernel.org; conor+dt at kernel.org; richardcochran at gmail.com;
> mcoquelin.stm32 at gmail.com; alexandre.torgue at foss.st.com;
> rmk+kernel at armlinux.org.uk; netdev at vger.kernel.org;
> devicetree at vger.kernel.org; linux-stm32 at st-md-mailman.stormreply.com;
> linux-arm-kernel at lists.infradead.org; linux-kernel at vger.kernel.org
> Subject: Re: [PATCH v6 1/2] dt-bindings: net: Add FSD EQoS device tree
> bindings
>
> On Thu, Feb 13, 2025 at 10:16:23AM +0530, Swathi K S wrote:
> > + clock-names:
> > + minItems: 5
> > + maxItems: 10
> > + contains:
> > + enum:
> > + - ptp_ref
> > + - master_bus
> > + - slave_bus
> > + - tx
> > + - rx
> > + - master2_bus
> > + - slave2_bus
> > + - eqos_rxclk_mux
> > + - eqos_phyrxclk
> > + - dout_peric_rgmii_clk
>
> This does not match the previous entry. It should be strictly ordered with
> minItems: 5.
Hi Krzysztof,
Thanks for reviewing.
In FSD SoC, we have 2 instances of ethernet in two blocks.
One instance needs 5 clocks and the other needs 10 clocks.
I tried to understand this by looking at some other dt-binding files as given below, but looks like they follow similar approach
Documentation/devicetree/bindings/net/stm32-dwmac.yaml
Documentation/devicetree/bindings/net/rockchip-dwmac.yaml
Could you please guide me on how to implement this?
Also, please help me understand what is meant by 'strictly ordered'
>
>
> > +
> > + iommus:
> > + maxItems: 1
> > +
> > + phy-mode:
> > + enum:
> > + - rgmii-id
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - clocks
> > + - clock-names
> > + - iommus
> > + - phy-mode
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/clock/fsd-clk.h>
> > + #include <dt-bindings/interrupt-controller/arm-gic.h>
> > + soc {
> > + #address-cells = <2>;
> > + #size-cells = <2>;
> > + ethernet1: ethernet at 14300000 {
> > + compatible = "tesla,fsd-ethqos";
> > + reg = <0x0 0x14300000 0x0 0x10000>;
> > + interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
> > + interrupt-names = "macirq";
> > + clocks = <&clock_peric
> PERIC_EQOS_TOP_IPCLKPORT_CLK_PTP_REF_I>,
> > + <&clock_peric PERIC_EQOS_TOP_IPCLKPORT_ACLK_I>,
> > + <&clock_peric PERIC_EQOS_TOP_IPCLKPORT_HCLK_I>,
> > + <&clock_peric PERIC_EQOS_TOP_IPCLKPORT_RGMII_CLK_I>,
> > + <&clock_peric PERIC_EQOS_TOP_IPCLKPORT_CLK_RX_I>,
> > + <&clock_peric PERIC_BUS_D_PERIC_IPCLKPORT_EQOSCLK>,
> > + <&clock_peric PERIC_BUS_P_PERIC_IPCLKPORT_EQOSCLK>,
> > + <&clock_peric PERIC_EQOS_PHYRXCLK_MUX>,
> > + <&clock_peric PERIC_EQOS_PHYRXCLK>,
> > + <&clock_peric PERIC_DOUT_RGMII_CLK>;
> > + clock-names = "ptp_ref", "master_bus", "slave_bus","tx",
> > + "rx", "master2_bus", "slave2_bus", "eqos_rxclk_mux",
> > + "eqos_phyrxclk","dout_peric_rgmii_clk";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <ð1_tx_clk>, <ð1_tx_data>, <ð1_tx_ctrl>,
> > + <ð1_phy_intr>, <ð1_rx_clk>, <ð1_rx_data>,
> > + <ð1_rx_ctrl>, <ð1_mdio>;
> > + iommus = <&smmu_peric 0x0 0x1>;
> > + phy-mode = "rgmii-id";
> > + };
>
> Misaligned/misindented.
Ack
>
> Best regards,
> Krzysztof
More information about the linux-arm-kernel
mailing list