2023-08-14 13:32:59

by Sriranjani P

[permalink] [raw]
Subject: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree bindings

Add FSD Ethernet compatible in Synopsys dt-bindings document. Add FSD
Ethernet YAML schema to enable the DT validation.

Signed-off-by: Pankaj Dubey <[email protected]>
Signed-off-by: Ravi Patel <[email protected]>
Signed-off-by: Swathi K S <[email protected]>
Signed-off-by: Sriranjani P <[email protected]>
---
.../devicetree/bindings/net/snps,dwmac.yaml | 5 +-
.../devicetree/bindings/net/tesla,ethqos.yaml | 114 ++++++++++++++++++
2 files changed, 117 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/tesla,ethqos.yaml

diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
index ddf9522a5dc2..0ced7901e644 100644
--- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
+++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
@@ -96,6 +96,7 @@ properties:
- snps,dwxgmac
- snps,dwxgmac-2.10
- starfive,jh7110-dwmac
+ - tesla,fsd-ethqos-4.21

reg:
minItems: 1
@@ -117,7 +118,7 @@ properties:

clocks:
minItems: 1
- maxItems: 8
+ maxItems: 10
additionalItems: true
items:
- description: GMAC main clock
@@ -129,7 +130,7 @@ properties:

clock-names:
minItems: 1
- maxItems: 8
+ maxItems: 10
additionalItems: true
contains:
enum:
diff --git a/Documentation/devicetree/bindings/net/tesla,ethqos.yaml b/Documentation/devicetree/bindings/net/tesla,ethqos.yaml
new file mode 100644
index 000000000000..b78829246364
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/tesla,ethqos.yaml
@@ -0,0 +1,114 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/tesla,ethqos.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: FSD Ethernet Quality of Service
+
+maintainers:
+ - Sriranjani P <[email protected]>
+ - Swathi K S <[email protected]>
+
+description:
+ dwmmac based tesla ethernet devices which support Gigabit
+ ethernet.
+
+allOf:
+ - $ref: snps,dwmac.yaml#
+
+properties:
+ compatible:
+ const: tesla,fsd-ethqos-4.21.yaml
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ minItems: 5
+ maxItems: 10
+
+ clock-names:
+ minItems: 5
+ maxItems: 10
+ items:
+ - const: ptp_ref
+ - const: master_bus
+ - const: slave_bus
+ - const: tx
+ - const: rx
+ - const: master2_bus
+ - const: slave2_bus
+ - const: eqos_rxclk_mux
+ - const: eqos_phyrxclk
+ - const: dout_peric_rgmii_clk
+
+ fsd-rx-clock-skew:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description: phandle to the syscon node
+ - description: offset of the control register
+ description:
+ Should be phandle/offset pair. The phandle to the syscon node.
+
+ iommus:
+ maxItems: 1
+
+ phy-mode:
+ $ref: ethernet-controller.yaml#/properties/phy-connection-type
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+ - rx-clock-skew
+ - iommus
+ - phy-mode
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/fsd-clk.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ ethernet_1: ethernet@14300000 {
+ compatible = "tesla,dwc-qos-ethernet-4.21";
+ reg = <0x0 0x14300000 0x0 0x10000>;
+ interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
+ 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 = <&eth1_tx_clk>, <&eth1_tx_data>, <&eth1_tx_ctrl>,
+ <&eth1_phy_intr>, <&eth1_rx_clk>, <&eth1_rx_data>,
+ <&eth1_rx_ctrl>, <&eth1_mdio>;
+ fsd-rx-clock-skew = <&sysreg_peric 0x10>;
+ iommus = <&smmu_peric 0x0 0x1>;
+ phy-mode = "rgmii";
+ };
+
+...
--
2.17.1



2023-08-14 14:08:52

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree bindings


On Mon, 14 Aug 2023 16:55:36 +0530, Sriranjani P wrote:
> Add FSD Ethernet compatible in Synopsys dt-bindings document. Add FSD
> Ethernet YAML schema to enable the DT validation.
>
> Signed-off-by: Pankaj Dubey <[email protected]>
> Signed-off-by: Ravi Patel <[email protected]>
> Signed-off-by: Swathi K S <[email protected]>
> Signed-off-by: Sriranjani P <[email protected]>
> ---
> .../devicetree/bindings/net/snps,dwmac.yaml | 5 +-
> .../devicetree/bindings/net/tesla,ethqos.yaml | 114 ++++++++++++++++++
> 2 files changed, 117 insertions(+), 2 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/tesla,ethqos.yaml
>

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/tesla,ethqos.yaml: properties:clock-names: {'minItems': 5, 'maxItems': 10, 'items': [{'const': 'ptp_ref'}, {'const': 'master_bus'}, {'const': 'slave_bus'}, {'const': 'tx'}, {'const': 'rx'}, {'const': 'master2_bus'}, {'const': 'slave2_bus'}, {'const': 'eqos_rxclk_mux'}, {'const': 'eqos_phyrxclk'}, {'const': 'dout_peric_rgmii_clk'}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml#
Documentation/devicetree/bindings/net/tesla,ethqos.example.dtb: /example-0/ethernet@14300000: failed to match any schema with compatible: ['tesla,dwc-qos-ethernet-4.21']

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


2023-08-18 10:00:23

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree bindings

On Wed, Aug 16, 2023 at 11:06:51AM +0530, Sriranjani P wrote:
>
>
> > -----Original Message-----
> > From: Rob Herring [mailto:[email protected]]
> > Sent: 14 August 2023 19:03
> > To: Sriranjani P <[email protected]>
> > Cc: [email protected]; [email protected];
> > [email protected]; [email protected];
> > [email protected]; [email protected]; linux-
> > [email protected]; [email protected]; [email protected];
> > [email protected]; [email protected]; linux-arm-
> > [email protected]; [email protected]; [email protected];
> > [email protected]; [email protected];
> > [email protected]; [email protected];
> > [email protected]; [email protected];
> > [email protected]
> > Subject: Re: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree
> > bindings
> >
> >
> > On Mon, 14 Aug 2023 16:55:36 +0530, Sriranjani P wrote:
> > > Add FSD Ethernet compatible in Synopsys dt-bindings document. Add FSD
> > > Ethernet YAML schema to enable the DT validation.
> > >
> > > Signed-off-by: Pankaj Dubey <[email protected]>
> > > Signed-off-by: Ravi Patel <[email protected]>
> > > Signed-off-by: Swathi K S <[email protected]>
> > > Signed-off-by: Sriranjani P <[email protected]>
> > > ---
> > > .../devicetree/bindings/net/snps,dwmac.yaml | 5 +-
> > > .../devicetree/bindings/net/tesla,ethqos.yaml | 114
> > > ++++++++++++++++++
> > > 2 files changed, 117 insertions(+), 2 deletions(-) create mode
> > > 100644 Documentation/devicetree/bindings/net/tesla,ethqos.yaml
> > >
> >
> > My bot found errors running 'make DT_CHECKER_FLAGS=-m
> > dt_binding_check'
> > on your patch (DT_CHECKER_FLAGS is new in v5.13):
> >
> > yamllint warnings/errors:
> >
> > dtschema/dtc warnings/errors:
> > /builds/robherring/dt-review-
> > ci/linux/Documentation/devicetree/bindings/net/tesla,ethqos.yaml:
> > properties:clock-names: {'minItems': 5, 'maxItems': 10, 'items': [{'const':
> > 'ptp_ref'}, {'const': 'master_bus'}, {'const': 'slave_bus'}, {'const': 'tx'}, {'const':
> > 'rx'}, {'const': 'master2_bus'}, {'const': 'slave2_bus'}, {'const':
> > 'eqos_rxclk_mux'}, {'const': 'eqos_phyrxclk'}, {'const':
> > 'dout_peric_rgmii_clk'}]} should not be valid under {'required': ['maxItems']}
> > hint: "maxItems" is not needed with an "items" list
> > from schema $id: https://protect2.fireeye.com/v1/url?k=f50e335d-
> > aa950a44-f50fb812-000babff3793-de26ea17ef025418&q=1&e=897786e4-
> > 5f9b-40d8-8a7f-399cb69c7ee8&u=http%3A%2F%2Fdevicetree.org%2Fmeta-
> > schemas%2Fitems.yaml%23
> > Documentation/devicetree/bindings/net/tesla,ethqos.example.dtb:
> > /example-0/ethernet@14300000: failed to match any schema with
> > compatible: ['tesla,dwc-qos-ethernet-4.21']
> >
>
> Thanks for review. Will fix this in v4.

It's not a review. It's an automated reply running what you should have
run yourself...

>
> > doc reference errors (make refcheckdocs):
> >
> > See https://protect2.fireeye.com/v1/url?k=ccb7f6d0-932ccfc9-ccb67d9f-
> > 000babff3793-2137ac63fe6ddef8&q=1&e=897786e4-5f9b-40d8-8a7f-
> > 399cb69c7ee8&u=https%3A%2F%2Fpatchwork.ozlabs.org%2Fproject%2Fdev
> > icetree-bindings%2Fpatch%2F20230814112539.70453-2-
> > sriranjani.p%40samsung.com
> >
> > The base for the series is generally the latest rc1. A different dependency
> > should be noted in *this* patch.
> >
>
> Sorry, I could not get this comment, can you elaborate this.

The automated tests apply patches to the latest rc1 tag. Patches which
apply, but have some other dependency may have warnings. If you have
such a dependency, you should note it in the patch (below the '---').

Rob

2023-08-19 12:23:48

by Sriranjani P

[permalink] [raw]
Subject: RE: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree bindings



> -----Original Message-----
> From: Krzysztof Kozlowski [mailto:[email protected]]
> Sent: 15 August 2023 01:10
> To: Sriranjani P <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; linux-
> [email protected]; [email protected]; [email protected];
> [email protected]
> Cc: [email protected]; [email protected]; linux-
> [email protected]; [email protected]; linux-arm-
> [email protected]
> Subject: Re: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree
> bindings
>
> On 14/08/2023 13:25, Sriranjani P wrote:
> > Add FSD Ethernet compatible in Synopsys dt-bindings document. Add FSD
> > Ethernet YAML schema to enable the DT validation.
> >
> > Signed-off-by: Pankaj Dubey <[email protected]>
> > Signed-off-by: Ravi Patel <[email protected]>
> > Signed-off-by: Swathi K S <[email protected]>
> > Signed-off-by: Sriranjani P <[email protected]>
> > ---
> > .../devicetree/bindings/net/snps,dwmac.yaml | 5 +-
> > .../devicetree/bindings/net/tesla,ethqos.yaml | 114
> > ++++++++++++++++++
> > 2 files changed, 117 insertions(+), 2 deletions(-) create mode
> > 100644 Documentation/devicetree/bindings/net/tesla,ethqos.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > index ddf9522a5dc2..0ced7901e644 100644
> > --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > @@ -96,6 +96,7 @@ properties:
> > - snps,dwxgmac
> > - snps,dwxgmac-2.10
> > - starfive,jh7110-dwmac
> > + - tesla,fsd-ethqos-4.21
>
> I don't think one given SoC - and I was told FSD is strictly defined one specific
> SoC - can have different versions of the same block, so drop the block
> versioning.
>

Ok, will remove versioning.

> >
> > reg:
> > minItems: 1
> > @@ -117,7 +118,7 @@ properties:
> >
> > clocks:
> > minItems: 1
> > - maxItems: 8
> > + maxItems: 10
> > additionalItems: true
> > items:
> > - description: GMAC main clock
> > @@ -129,7 +130,7 @@ properties:
> >
> > clock-names:
> > minItems: 1
> > - maxItems: 8
> > + maxItems: 10
> > additionalItems: true
> > contains:
> > enum:
> > diff --git a/Documentation/devicetree/bindings/net/tesla,ethqos.yaml
> > b/Documentation/devicetree/bindings/net/tesla,ethqos.yaml
> > new file mode 100644
> > index 000000000000..b78829246364
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/tesla,ethqos.yaml
> > @@ -0,0 +1,114 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2
> > +---
> > +$id:
> > +https://protect2.fireeye.com/v1/url?k=0d5f9085-6cd485b3-0d5e1bca-
> 74fe
> > +485cbff1-9835d59b137d73e5&q=1&e=93f28da2-6d86-4cc2-a07a-
> 9be1380616cc&
> >
> +u=http%3A%2F%2Fdevicetree.org%2Fschemas%2Fnet%2Ftesla%2Cethqos.
> yaml%2
> > +3
> > +$schema:
> > +https://protect2.fireeye.com/v1/url?k=67d3522a-0658471c-67d2d965-
> 74fe
> > +485cbff1-b9570dbbedf33f81&q=1&e=93f28da2-6d86-4cc2-a07a-
> 9be1380616cc&
> > +u=http%3A%2F%2Fdevicetree.org%2Fmeta-schemas%2Fcore.yaml%23
> > +
> > +title: FSD Ethernet Quality of Service
> > +
> > +maintainers:
> > + - Sriranjani P <[email protected]>
> > + - Swathi K S <[email protected]>
> > +
> > +description:
> > + dwmmac based tesla ethernet devices which support Gigabit
> > + ethernet.
> > +
> > +allOf:
> > + - $ref: snps,dwmac.yaml#
> > +
> > +properties:
> > + compatible:
> > + const: tesla,fsd-ethqos-4.21.yaml
>
> ?

Will fix this to tesla,fsd-ethqos.yaml

> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + clocks:
> > + minItems: 5
>
> Why? I expect it to be specific.

Sorry, I could not understood this comment. In FSD we have two instances of EQoS IP, one in PERIC block, which requires total 10 clocks to be configured and another instance exist in FSYS0 block which needs 5 clocks to be configured, so we kept minItems as 5 and maxItems as 10, but looks like latest items schema do not need maxItems entry so we will drop maxItems entry. In my understanding minItems still required so it should be kept with minimum number of clock requirements.

>
> > + maxItems: 10
> > +
> > + clock-names:
> > + minItems: 5
> > + maxItems: 10
> > + items:
> > + - const: ptp_ref
> > + - const: master_bus
> > + - const: slave_bus
> > + - const: tx
> > + - const: rx
> > + - const: master2_bus
> > + - const: slave2_bus
> > + - const: eqos_rxclk_mux
> > + - const: eqos_phyrxclk
> > + - const: dout_peric_rgmii_clk
> > +
> > + fsd-rx-clock-skew:
> > + $ref: /schemas/types.yaml#/definitions/phandle-array
> > + items:
> > + - items:
> > + - description: phandle to the syscon node
> > + - description: offset of the control register
> > + description:
> > + Should be phandle/offset pair. The phandle to the syscon node.
> > +
> > + iommus:
> > + maxItems: 1
> > +
> > + phy-mode:
> > + $ref: ethernet-controller.yaml#/properties/phy-connection-type
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - clocks
> > + - clock-names
> > + - rx-clock-skew
>
> Eee? Isn't it fsd-rx-clock-skew which anyway is not correct?

Sorry, I missed to change this in DT schema before posting, I will make this to fsd-rx-clock-skew.

>
> > + - iommus
> > + - phy-mode
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/clock/fsd-clk.h>
> > + #include <dt-bindings/interrupt-controller/arm-gic.h>
> > +
> > + ethernet_1: ethernet@14300000 {
> > + compatible = "tesla,dwc-qos-ethernet-4.21";
>
> Three different compatibles for the same.
>
> No, please test your patches before sending.
>
> I am not even checking if previous feedback was applied... Did you really go
> through it?
>

Sorry, I missed this will take care.

> Best regards,
> Krzysztof



2024-06-06 09:38:28

by Swathi K S

[permalink] [raw]
Subject: RE: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree bindings

Hi Krzysztof,

Sorry for the delay in response.
Starting now, I will be taking over this task.
I have gone through your comments and feedback and will be implementing them in v4 of this patch.

> -----Original Message-----
> From: Krzysztof Kozlowski [mailto:[email protected]]
> Sent: 16 August 2023 11:48
> To: Sriranjani P <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; linux-
> [email protected]; [email protected]; [email protected];
> [email protected]
> Cc: [email protected]; [email protected]; linux-
> [email protected]; [email protected]; linux-arm-
> [email protected]
> Subject: Re: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree
> bindings
>
> On 16/08/2023 07:58, Sriranjani P wrote:
> >>> +
> >>> +allOf:
> >>> + - $ref: snps,dwmac.yaml#
> >>> +
> >>> +properties:
> >>> + compatible:
> >>> + const: tesla,fsd-ethqos-4.21.yaml
> >>
> >> ?
> >
> > Will fix this to tesla,fsd-ethqos.yaml
>
> Test your patches before sending. REALLY TEST.

Sure. Will fix this to tesla,fsd-ethqos.yaml and test the same.

>
> >
> >>> +
> >>> + reg:
> >>> + maxItems: 1
> >>> +
> >>> + interrupts:
> >>> + maxItems: 1
> >>> +
> >>> + clocks:
> >>> + minItems: 5
> >>
> >> Why? I expect it to be specific.
> >
> > Sorry, I could not understood this comment. In FSD we have two instances
> of EQoS IP, one in PERIC block, which requires total 10 clocks to be
> configured and another instance exist in FSYS0 block which needs 5 clocks to
> be configured, so we kept minItems as 5 and maxItems as 10, but looks like
> latest items schema do not need maxItems entry so we will drop maxItems
> entry. In my understanding minItems still required so it should be kept with
> minimum number of clock requirements.
>
> No, the code is fine then.
>
> >
> >>
> >>> + maxItems: 10
> >>> +
> >>> + clock-names:
> >>> + minItems: 5
> >>> + maxItems: 10
> >>> + items:
> >>> + - const: ptp_ref
> >>> + - const: master_bus
> >>> + - const: slave_bus
> >>> + - const: tx
> >>> + - const: rx
> >>> + - const: master2_bus
> >>> + - const: slave2_bus
> >>> + - const: eqos_rxclk_mux
> >>> + - const: eqos_phyrxclk
> >>> + - const: dout_peric_rgmii_clk
> >>> +
> >>> + fsd-rx-clock-skew:
> >>> + $ref: /schemas/types.yaml#/definitions/phandle-array
> >>> + items:
> >>> + - items:
> >>> + - description: phandle to the syscon node
> >>> + - description: offset of the control register
> >>> + description:
> >>> + Should be phandle/offset pair. The phandle to the syscon node.
> >>> +
> >>> + iommus:
> >>> + maxItems: 1
> >>> +
> >>> + phy-mode:
> >>> + $ref: ethernet-controller.yaml#/properties/phy-connection-type
> >>> +
> >>> +required:
> >>> + - compatible
> >>> + - reg
> >>> + - interrupts
> >>> + - clocks
> >>> + - clock-names
> >>> + - rx-clock-skew
> >>
> >> Eee? Isn't it fsd-rx-clock-skew which anyway is not correct?
> >
> > Sorry, I missed to change this in DT schema before posting, I will make this
> to fsd-rx-clock-skew.
>
> Remember about vendor prefixes for every custom property.

Sure, will fix this in v4.

>
>
> Best regards,
> Krzysztof

Regards,
Swathi



2024-06-06 10:10:15

by Swathi K S

[permalink] [raw]
Subject: RE: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree bindings

Hi Andrew,

Sorry for the delay in response.
Starting now, I will be taking over this task.
I have gone through your comments and feedback and will be implementing them
in v4 of this patch.

> -----Original Message-----
> From: Andrew Lunn [mailto:[email protected]]
> Sent: 15 August 2023 02:10
> To: Sriranjani P <[email protected]>
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; linux-samsung-
> [email protected]; [email protected]
> Subject: Re: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree
> bindings
>
> > + fsd-rx-clock-skew:
> > + $ref: /schemas/types.yaml#/definitions/phandle-array
> > + items:
> > + - items:
> > + - description: phandle to the syscon node
> > + - description: offset of the control register
> > + description:
> > + Should be phandle/offset pair. The phandle to the syscon node.
>
> What clock are you skew-ing here? And why?

As per customer's requirement, we need 2ns delay in fsys block both in TX
and RX path.

>
> > + ethernet_1: ethernet@14300000 {
> > + compatible = "tesla,dwc-qos-ethernet-4.21";
> > + reg = <0x0 0x14300000 0x0 0x10000>;
> > + interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
> > + 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 = <&eth1_tx_clk>, <&eth1_tx_data>,
<&eth1_tx_ctrl>,
> > + <&eth1_phy_intr>, <&eth1_rx_clk>,
<&eth1_rx_data>,
> > + <&eth1_rx_ctrl>, <&eth1_mdio>;
> > + fsd-rx-clock-skew = <&sysreg_peric 0x10>;
> > + iommus = <&smmu_peric 0x0 0x1>;
> > + phy-mode = "rgmii";
>
> I know it is just an example, but "rgmii" is generally wrong. "rgmii-id"
is
> generally what you need. And when i do see "rgmii", it starts ringing
alarm
> bells for me, it could mean your RGMII delays are being handled wrongly.

Thanks for bringing this to our notice. Will correct this in v4 as rgmii-id.

>
> Andrew

Regards,
Swathi


2024-06-06 13:26:51

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH v3 1/4] dt-bindings: net: Add FSD EQoS device tree bindings

> > > + fsd-rx-clock-skew:
> > > + $ref: /schemas/types.yaml#/definitions/phandle-array
> > > + items:
> > > + - items:
> > > + - description: phandle to the syscon node
> > > + - description: offset of the control register
> > > + description:
> > > + Should be phandle/offset pair. The phandle to the syscon node.
> >
> > What clock are you skew-ing here? And why?
>
> As per customer's requirement, we need 2ns delay in fsys block both in TX
> and RX path.

Lots of people get RGMII delays wrong. Please look back at the mailing
list where there is plenty of discussion about this. I don't want to
have to repeat myself yet again...

Andrew