]> www.infradead.org Git - users/willy/xarray.git/commitdiff
arm64: dts: fsd: Add Ethernet support for FSYS0 Block of FSD SoC
authorSwathi K S <swathi.ks@samsung.com>
Fri, 7 Mar 2025 04:49:03 +0000 (10:19 +0530)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tue, 8 Apr 2025 15:59:40 +0000 (17:59 +0200)
The FSD SoC contains two instances of Synopsys DWC QoS Ethernet IP, one
in FSYS0 block and other in PERIC block.
The ethernet interface is managed by a switch which is not managed by
Linux.

Adds device tree node for Ethernet in FSYS0 Block and enables the same for
FSD platform.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Jayati Sahu <jayati.sahu@samsung.com>
Signed-off-by: Swathi K S <swathi.ks@samsung.com>
Link: https://lore.kernel.org/r/20250307044904.59077-2-swathi.ks@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
arch/arm64/boot/dts/tesla/fsd-evb.dts
arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi
arch/arm64/boot/dts/tesla/fsd.dtsi

index 8d77946429002a713ec46f20155e7d019a21a70d..321270a07651bb1ecee166cb5fc18eb603a3e061 100644 (file)
        };
 };
 
+&ethernet0 {
+       status = "okay";
+
+       phy-mode = "rgmii-id";
+       fixed-link {
+               speed = <1000>;
+               full-duplex;
+       };
+};
+
 &fin_pll {
        clock-frequency = <24000000>;
 };
index 3f898cf4874cbddd615155474119731694151cbc..cb437483ff6e42db1d1984801ba0e8fa69ceda6c 100644 (file)
                samsung,pin-pud = <FSD_PIN_PULL_UP>;
                samsung,pin-drv = <FSD_PIN_DRV_LV4>;
        };
+
+       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 {
index 9951eef9507cc3946cc590ab453250d80d4b05f1..c4cc9b4b847de9a472120951cfc220cb135b3a34 100644 (file)
                        clocks = <&clock_fsys0 UFS0_MPHY_REFCLK_IXTAL26>;
                        clock-names = "ref_clk";
                };
+
+               ethernet0: ethernet@15300000 {
+                       compatible = "tesla,fsd-ethqos";
+                       reg = <0x0 0x15300000 0x0 0x10000>;
+                       interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "macirq";
+                       clocks = <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_CLK_PTP_REF_I>,
+                                <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_ACLK_I>,
+                                <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_HCLK_I>,
+                                <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_RGMII_CLK_I>,
+                                <&clock_fsys0 FSYS0_EQOS_TOP0_IPCLKPORT_CLK_RX_I>;
+                       clock-names = "ptp_ref", "master_bus", "slave_bus", "tx", "rx";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&eth0_tx_clk>, <&eth0_tx_data>, <&eth0_tx_ctrl>,
+                                   <&eth0_phy_intr>, <&eth0_rx_clk>, <&eth0_rx_data>,
+                                   <&eth0_rx_ctrl>, <&eth0_mdio>;
+                       local-mac-address = [00 00 00 00 00 00];
+                       iommus = <&smmu_fsys0 0x0 0x1>;
+                       status = "disabled";
+               };
        };
 };