[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4fd9dabb-c8f3-b826-2eb2-ab8b5816102a@linaro.org>
Date: Fri, 4 Nov 2022 08:45:55 -0400
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Sriranjani P <sriranjani.p@...sung.com>, peppe.cavallaro@...com,
alexandre.torgue@...s.st.com, joabreu@...opsys.com,
davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, mcoquelin.stm32@...il.com,
richardcochran@...il.com
Cc: netdev@...r.kernel.org, linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
devicetree@...r.kernel.org,
Pankaj Dubey <pankaj.dubey@...sung.com>,
Jayati Sahu <jayati.sahu@...sung.com>
Subject: Re: [PATCH 3/4] arm64: dts: fsd: Add Ethernet support for FSYS0 Block
of FSD SoC
On 04/11/2022 08:05, 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 FSYS0 Block and enables the same for
> FSD platform.
>
> Cc: Rob Herring <robh+dt@...nel.org>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>
> Cc: Richard Cochran <richardcochran@...il.com>
> Cc: devicetree@...r.kernel.org
> Signed-off-by: Pankaj Dubey <pankaj.dubey@...sung.com>
> Signed-off-by: Jayati Sahu <jayati.sahu@...sung.com>
> Signed-off-by: Sriranjani P <sriranjani.p@...sung.com>
> ---
> 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 | 38 +++++++++++++++
> 3 files changed, 103 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts b/arch/arm64/boot/dts/tesla/fsd-evb.dts
> index 1db6ddf03f01..42bf25c680e2 100644
> --- a/arch/arm64/boot/dts/tesla/fsd-evb.dts
> +++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts
> @@ -30,6 +30,15 @@
> };
> };
>
> +ðernet_0 {
> + status = "okay";
> +
> + fixed-link {
> + speed=<1000>;
Missing spaces around =.
> + 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 d0abb9aa0e9e..8c7e43085a2b 100644
> --- a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi
> +++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi
> @@ -64,6 +64,62 @@
> samsung,pin-pud = <FSD_PIN_PULL_NONE>;
> samsung,pin-drv = <FSD_PIN_DRV_LV2>;
> };
> +
> + eth0_tx_clk: eth0-tx-clk-pins {
> + samsung,pins = "gpf0-0";
> + samsung,pin-function = <FSD_PIN_FUNC_2>;
> + samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
> + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> + };
> +
> + eth0_tx_data: eth0-tx-data-pins {
> + samsung,pins = "gpf0-1", "gpf0-2", "gpf0-3", "gpf0-4";
> + samsung,pin-function = <FSD_PIN_FUNC_2>;
> + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> + };
> +
> + eth0_tx_ctrl: eth0-tx-ctrl-pins {
> + samsung,pins = "gpf0-5";
> + samsung,pin-function = <FSD_PIN_FUNC_2>;
> + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> + };
> +
> + eth0_phy_intr: eth0-phy-intr-pins {
> + samsung,pins = "gpf0-6";
> + samsung,pin-function = <FSD_PIN_FUNC_2>;
> + samsung,pin-pud = <FSD_PIN_PULL_NONE>;
> + samsung,pin-drv = <FSD_PIN_DRV_LV4>;
> + };
> +
> + eth0_rx_clk: eth0-rx-clk-pins {
> + samsung,pins = "gpf1-0";
> + samsung,pin-function = <FSD_PIN_FUNC_2>;
> + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> + };
> +
> + eth0_rx_data: eth0-rx-data-pins {
> + samsung,pins = "gpf1-1", "gpf1-2", "gpf1-3", "gpf1-4";
> + samsung,pin-function = <FSD_PIN_FUNC_2>;
> + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> + };
> +
> + eth0_rx_ctrl: eth0-rx-ctrl-pins {
> + samsung,pins = "gpf1-5";
> + samsung,pin-function = <FSD_PIN_FUNC_2>;
> + samsung,pin-pud = <FSD_PIN_PULL_UP>;
> + samsung,pin-drv = <FSD_PIN_DRV_LV6>;
> + };
> +
> + eth0_mdio: eth0-mdio-pins {
> + samsung,pins = "gpf1-6", "gpf1-7";
> + samsung,pin-function = <FSD_PIN_FUNC_2>;
> + samsung,pin-pud = <FSD_PIN_PULL_NONE>;
> + samsung,pin-drv = <FSD_PIN_DRV_LV4>;
> + };
> };
>
> &pinctrl_peric {
> diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi b/arch/arm64/boot/dts/tesla/fsd.dtsi
> index f35bc5a288c2..2495928b71dc 100644
> --- a/arch/arm64/boot/dts/tesla/fsd.dtsi
> +++ b/arch/arm64/boot/dts/tesla/fsd.dtsi
> @@ -32,6 +32,7 @@
> spi0 = &spi_0;
> spi1 = &spi_1;
> spi2 = &spi_2;
> + eth0 = ðernet_0;
Not every board will have ethernet, so this should be in board DTS.
However other question is - why do you need it?
> };
>
> cpus {
> @@ -860,6 +861,43 @@
> clocks = <&clock_fsys0 UFS0_MPHY_REFCLK_IXTAL26>;
> clock-names = "ref_clk";
> };
> +
> + ethernet_0: ethernet@...00000 {
> + compatible = "tesla,dwc-qos-ethernet-4.21";
> + reg = <0x0 0x15300000 0x0 0x10000>;
> + interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
> + clocks =
> + /* ptp ref clock */
That's not a formatting used in sources. I doubt that they are actually
useful as you copy the name of the clock.
> + <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_CLK_PTP_REF_I>,
> + /* aclk clocks */
> + <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_ACLK_I>,
> + /* hclk clocks */
> + <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_HCLK_I>,
> + /* rgmii clocks */
> + <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_RGMII_CLK_I>,
> + /* rxi clocks */
> + <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_CLK_RX_I>;
> + clock-names =
> + /* ptp ref clocks */
> + "ptp_ref",
> + /* aclk clocks */
> + "master_bus",
> + /* hclk clocks */
> + "slave_bus",
> + /* rgmii clk */
> + "tx",
> + /* rxi clocks */
> + "rx";
> + pinctrl-names = "default";
> + pinctrl-0 = <ð0_tx_clk>, <ð0_tx_data>, <ð0_tx_ctrl>,
> + <ð0_phy_intr>, <ð0_rx_clk>, <ð0_rx_data>,
> + <ð0_rx_ctrl>, <ð0_mdio>;
> + local-mac-address = [45 54 48 30 4d 43];
So all devices in the world will have exactly the same MAC address? I
don't think that's desired :)
> + rx-clock-skew = <&sysreg_fsys0 0x0 0x2>;
Where is the property documented?
Does not look like you tested the DTS against bindings. Please run `make
dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
for instructions).
Please confirm that you perform above.
> + iommus = <&smmu_fsys0 0x0 0x1>;
> + status = "disabled";
Status is last.
> + phy-mode = "rgmii";
> + };
> };
> };
>
Best regards,
Krzysztof
Powered by blists - more mailing lists