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

From: "Sriranjani P" <[email-masked]>
Date: Mon, 14 Aug 2023 15:57:29 +0530

> -----Original Message-----
> From: Krzysztof Kozlowski [mailto:[email-masked]]
> Sent: 12 January 2023 15:07
> To: Sriranjani P <[email-masked]>; [email-masked];
> [email-masked]; [email-masked]; [email-masked];
> [email-masked]; [email-masked];
> [email-masked]; [email-masked];
> [email-masked]; [email-masked]
> Cc: [email-masked]; [email-masked]; linux-
> [email-masked]; [email-masked];
> [email-masked]; [email-masked]; Jayati Sahu
> <[email-masked]>
> 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 <[email-masked]>
> > Signed-off-by: Jayati Sahu <[email-masked]>
> > Signed-off-by: Sriranjani P <[email-masked]>
> > ---
> >  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