RE: [PATCH v2 4/4] arm64: dts: fsd: Add Ethernet support for PERIC Block of FSD SoC

From: Sriranjani P
Date: Mon Aug 14 2023 - 08:15:07 EST




> -----Original Message-----
> From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@xxxxxxxxxx]
> Sent: 12 January 2023 15:07
> To: Sriranjani P <sriranjani.p@xxxxxxxxxxx>; davem@xxxxxxxxxxxxx;
> edumazet@xxxxxxxxxx; kuba@xxxxxxxxxx; pabeni@xxxxxxxxxx;
> robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx;
> alexandre.torgue@xxxxxxxxxxx; peppe.cavallaro@xxxxxx;
> joabreu@xxxxxxxxxxxx; mcoquelin.stm32@xxxxxxxxx
> Cc: netdev@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; pankaj.dubey@xxxxxxxxxxx;
> alim.akhtar@xxxxxxxxxxx; ravi.patel@xxxxxxxxxxx; Jayati Sahu
> <jayati.sahu@xxxxxxxxxxx>
> Subject: Re: [PATCH v2 4/4] arm64: dts: fsd: Add Ethernet support for PERIC
> Block of FSD SoC
>
> On 11/01/2023 08:54, Sriranjani P wrote:
> > The FSD SoC contains two instances of Synopsys DWC QoS Ethernet IP,
> > one in
> > FSYS0 block and other in PERIC block.
> >
> > Adds device tree node for Ethernet in PERIC Block and enables the same
> > for FSD platform.
> >
> > Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx>
> > Signed-off-by: Jayati Sahu <jayati.sahu@xxxxxxxxxxx>
> > Signed-off-by: Sriranjani P <sriranjani.p@xxxxxxxxxxx>
> > ---
> > arch/arm64/boot/dts/tesla/fsd-evb.dts | 9 ++++
> > arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi | 56
> ++++++++++++++++++++++
> > arch/arm64/boot/dts/tesla/fsd.dtsi | 29 +++++++++++
> > 3 files changed, 94 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts
> > b/arch/arm64/boot/dts/tesla/fsd-evb.dts
> > index ca0c1a28d562..2c0cbe775e04 100644
> > --- a/arch/arm64/boot/dts/tesla/fsd-evb.dts
> > +++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts
> > @@ -39,6 +39,15 @@
> > };
> > };
> >
> > +&ethernet_1 {
> > + status = "okay";
> > +
> > + fixed-link {
> > + speed = <1000>;
> > + full-duplex;
> > + };
> > +};
> > +
> > &fin_pll {
> > clock-frequency = <24000000>;
> > };
> > diff --git a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi
> > b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi
> > index 7ccc0738a149..c955bf159786 100644
> > --- a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi
> > +++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi
> > @@ -395,6 +395,62 @@
> > samsung,pin-pud = <FSD_PIN_PULL_UP>;
> > samsung,pin-drv = <FSD_PIN_DRV_LV1>;
> > };
> > +
> > + eth1_tx_clk: eth1-tx-clk-pins {
> > + samsung,pins = "gpf2-0";
> > + samsung,pin-function = <FSD_PIN_FUNC_2>;
> > + samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
> > + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> > + };
> > +
> > + eth1_tx_data: eth1-tx-data-pins {
> > + samsung,pins = "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-4";
> > + samsung,pin-function = <FSD_PIN_FUNC_2>;
> > + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> > + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> > + };
> > +
> > + eth1_tx_ctrl: eth1-tx-ctrl-pins {
> > + samsung,pins = "gpf2-5";
> > + samsung,pin-function = <FSD_PIN_FUNC_2>;
> > + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> > + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> > + };
> > +
> > + eth1_phy_intr: eth1-phy-intr-pins {
> > + samsung,pins = "gpf2-6";
> > + samsung,pin-function = <FSD_PIN_FUNC_2>;
> > + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> > + samsung,pin-drv = <FSD_PIN_DRV_LV4>;
> > + };
> > +
> > + eth1_rx_clk: eth1-rx-clk-pins {
> > + samsung,pins = "gpf3-0";
> > + samsung,pin-function = <FSD_PIN_FUNC_2>;
> > + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> > + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> > + };
> > +
> > + eth1_rx_data: eth1-rx-data-pins {
> > + samsung,pins = "gpf3-1", "gpf3-2", "gpf3-3", "gpf3-4";
> > + samsung,pin-function = <FSD_PIN_FUNC_2>;
> > + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> > + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> > + };
> > +
> > + eth1_rx_ctrl: eth1-rx-ctrl-pins {
> > + samsung,pins = "gpf3-5";
> > + samsung,pin-function = <FSD_PIN_FUNC_2>;
> > + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> > + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> > + };
> > +
> > + eth1_mdio: eth1-mdio-pins {
> > + samsung,pins = "gpf3-6", "gpf3-7";
> > + samsung,pin-function = <FSD_PIN_FUNC_2>;
> > + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> > + samsung,pin-drv = <FSD_PIN_DRV_LV4>;
> > + };
> > };
> >
> > &pinctrl_pmu {
> > diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi
> > b/arch/arm64/boot/dts/tesla/fsd.dtsi
> > index ade707cc646b..8807055807dd 100644
> > --- a/arch/arm64/boot/dts/tesla/fsd.dtsi
> > +++ b/arch/arm64/boot/dts/tesla/fsd.dtsi
> > @@ -33,6 +33,7 @@
> > spi1 = &spi_1;
> > spi2 = &spi_2;
> > eth0 = &ethernet_0;
> > + eth1 = &ethernet_1;
>
> Nope for the reasons I explained last time.
Sorry somehow I'm not able to find my previous mail chain.
I had replied to your comment in the previous version of the mail.
In this case alias id is used to differentiate between Ethernet instance 0 and 1 in the driver code.
>
> > };
> >
> > cpus {
> > @@ -882,6 +883,34 @@
> > phy-mode = "rgmii";
> > status = "disabled";
> > };
> > +
> > + ethernet_1: ethernet@14300000 {
>
> Do not add nodes to the end.
If you mean to say that the nodes are supposed to be in the increasing order of physical address,
I can see that the existing file is not arranged in that format. If that is required I can first fix the
existing file and post the revised patch for the same.
>
> Best regards,
> Krzysztof