All of lore.kernel.org
 help / color / mirror / Atom feed
* [next 0/5] Add support of Ethernet for Aspeed AST2600 SoC
@ 2021-12-09  2:12 Dylan Hung
  2021-12-09  2:12 ` [next 1/5] net: ftgmac100: Add DM_MDIO support Dylan Hung
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Dylan Hung @ 2021-12-09  2:12 UTC (permalink / raw)
  To: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot
  Cc: BMC-SW

This patch series adds support of Ethernet for Aspeed AST2600 SoC. There
are 4 MAC controllers (ftgmac100) in AST2600 that can support
10/100/1000T Ethernet.  4 MDIO controllers are used to connect to PHY
chips.  The MDIO controller has stand-alone hardware block so we
introduce DM_MDIO so that we can use external MDIO driver (aspeed_mdio)
instead of integrated MDIO drier in ftgmac100.c.  The patch series also
revises the MII interface delay for better RMII/RGMII timing margin.

Dylan Hung (5):
  net: ftgmac100: Add DM_MDIO support
  net: ftgmac100: Add Aspeed AST2600 support
  ARM: dts: ast2600: Add MDIO devices
  configs: ast2600: enable DM_MDIO and MDIO driver
  clk: ast2600: Revise MII interface delay

 arch/arm/dts/ast2600-evb.dts     | 68 ++++++++++++++++++++++++++++++++
 arch/arm/dts/ast2600.dtsi        | 46 ++++++++++++++++++---
 configs/evb-ast2600_defconfig    |  2 +
 drivers/clk/aspeed/clk_ast2600.c | 10 ++---
 drivers/net/ftgmac100.c          | 21 +++++++---
 5 files changed, 132 insertions(+), 15 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [next 1/5] net: ftgmac100: Add DM_MDIO support
  2021-12-09  2:12 [next 0/5] Add support of Ethernet for Aspeed AST2600 SoC Dylan Hung
@ 2021-12-09  2:12 ` Dylan Hung
  2021-12-10 23:08   ` Ramon Fried
  2022-01-18 21:09   ` Tom Rini
  2021-12-09  2:12 ` [next 2/5] net: ftgmac100: Add Aspeed AST2600 support Dylan Hung
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 16+ messages in thread
From: Dylan Hung @ 2021-12-09  2:12 UTC (permalink / raw)
  To: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot
  Cc: BMC-SW

Add support for DM_MDIO to connect to PHY.  For the systems that have a
stand-alone MDIO hardware block, enable CONFIG_DM_MDIO to use driver
model for MDIO devices.

Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
---
 drivers/net/ftgmac100.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ftgmac100.c b/drivers/net/ftgmac100.c
index 0687230b4bb4..b6e9526c3b9f 100644
--- a/drivers/net/ftgmac100.c
+++ b/drivers/net/ftgmac100.c
@@ -220,7 +220,11 @@ static int ftgmac100_phy_init(struct udevice *dev)
 	struct phy_device *phydev;
 	int ret;
 
-	phydev = phy_connect(priv->bus, priv->phy_addr, dev, priv->phy_mode);
+	if (IS_ENABLED(CONFIG_DM_MDIO))
+		phydev = dm_eth_phy_connect(dev);
+	else
+		phydev = phy_connect(priv->bus, priv->phy_addr, dev, priv->phy_mode);
+
 	if (!phydev)
 		return -ENODEV;
 
@@ -589,10 +593,16 @@ static int ftgmac100_probe(struct udevice *dev)
 	if (ret)
 		goto out;
 
-	ret = ftgmac100_mdio_init(dev);
-	if (ret) {
-		dev_err(dev, "Failed to initialize mdiobus: %d\n", ret);
-		goto out;
+	/*
+	 * If DM MDIO is enabled, the MDIO bus will be initialized later in
+	 * dm_eth_phy_connect
+	 */
+	if (!IS_ENABLED(CONFIG_DM_MDIO)) {
+		ret = ftgmac100_mdio_init(dev);
+		if (ret) {
+			dev_err(dev, "Failed to initialize mdiobus: %d\n", ret);
+			goto out;
+		}
 	}
 
 	ret = ftgmac100_phy_init(dev);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [next 2/5] net: ftgmac100: Add Aspeed AST2600 support
  2021-12-09  2:12 [next 0/5] Add support of Ethernet for Aspeed AST2600 SoC Dylan Hung
  2021-12-09  2:12 ` [next 1/5] net: ftgmac100: Add DM_MDIO support Dylan Hung
@ 2021-12-09  2:12 ` Dylan Hung
  2021-12-10 23:09   ` Ramon Fried
  2022-01-18 21:09   ` Tom Rini
  2021-12-09  2:12 ` [next 3/5] ARM: dts: ast2600: Add MDIO devices Dylan Hung
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 16+ messages in thread
From: Dylan Hung @ 2021-12-09  2:12 UTC (permalink / raw)
  To: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot
  Cc: BMC-SW

Add support of the MAC controller of Aspeed AST2600 SOC.  The MAC
controller is the same with AST2500, except it has stand-alone MDIO
hardware block.

Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
---
 drivers/net/ftgmac100.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ftgmac100.c b/drivers/net/ftgmac100.c
index b6e9526c3b9f..aa719d295f3d 100644
--- a/drivers/net/ftgmac100.c
+++ b/drivers/net/ftgmac100.c
@@ -644,6 +644,7 @@ static const struct eth_ops ftgmac100_ops = {
 static const struct udevice_id ftgmac100_ids[] = {
 	{ .compatible = "faraday,ftgmac100",  .data = FTGMAC100_MODEL_FARADAY },
 	{ .compatible = "aspeed,ast2500-mac", .data = FTGMAC100_MODEL_ASPEED  },
+	{ .compatible = "aspeed,ast2600-mac", .data = FTGMAC100_MODEL_ASPEED  },
 	{ }
 };
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [next 3/5] ARM: dts: ast2600: Add MDIO devices
  2021-12-09  2:12 [next 0/5] Add support of Ethernet for Aspeed AST2600 SoC Dylan Hung
  2021-12-09  2:12 ` [next 1/5] net: ftgmac100: Add DM_MDIO support Dylan Hung
  2021-12-09  2:12 ` [next 2/5] net: ftgmac100: Add Aspeed AST2600 support Dylan Hung
@ 2021-12-09  2:12 ` Dylan Hung
  2021-12-10 23:10   ` Ramon Fried
  2022-01-18 21:09   ` Tom Rini
  2021-12-09  2:12 ` [next 4/5] configs: ast2600: enable DM_MDIO and MDIO driver Dylan Hung
  2021-12-09  2:12 ` [next 5/5] clk: ast2600: Revise MII interface delay Dylan Hung
  4 siblings, 2 replies; 16+ messages in thread
From: Dylan Hung @ 2021-12-09  2:12 UTC (permalink / raw)
  To: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot
  Cc: BMC-SW

There are 4 MDIO bus controllers in AST2600 SOC.  Each of them can
connect to one or more PHY chips and is flexible to work with the 4 MAC
devices in AST2600.  On AST2600 EVB, MDIO 0,1,2,3 connect to the PHY
chips used by MAC 0,1,2,3 respectively.

Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
---
 arch/arm/dts/ast2600-evb.dts | 68 ++++++++++++++++++++++++++++++++++++
 arch/arm/dts/ast2600.dtsi    | 46 +++++++++++++++++++++---
 2 files changed, 109 insertions(+), 5 deletions(-)

diff --git a/arch/arm/dts/ast2600-evb.dts b/arch/arm/dts/ast2600-evb.dts
index 2abd31341c11..4e256d1e2b4e 100644
--- a/arch/arm/dts/ast2600-evb.dts
+++ b/arch/arm/dts/ast2600-evb.dts
@@ -163,6 +163,74 @@
 	pinctrl-0 = <&pinctrl_i2c9_default>;
 };
 
+&mdio0 {
+	status = "okay";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	ethphy0: ethernet-phy@0 {
+		reg = <0>;
+	};
+};
+
+&mdio1 {
+	status = "okay";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	ethphy1: ethernet-phy@0 {
+		reg = <0>;
+	};
+};
+
+&mdio2 {
+	status = "okay";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	ethphy2: ethernet-phy@0 {
+		reg = <0>;
+	};
+};
+
+&mdio3 {
+	status = "okay";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	ethphy3: ethernet-phy@0 {
+		reg = <0>;
+	};
+};
+
+&mac0 {
+	status = "okay";
+	phy-mode = "rgmii-rxid";
+	phy-handle = <&ethphy0>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_rgmii1_default>;
+};
+
+&mac1 {
+	status = "okay";
+	phy-mode = "rgmii-rxid";
+	phy-handle = <&ethphy1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_rgmii2_default>;
+};
+
+&mac2 {
+	status = "okay";
+	phy-mode = "rgmii";
+	phy-handle = <&ethphy2>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_rgmii3_default>;
+};
+
+&mac3 {
+	status = "okay";
+	phy-mode = "rgmii";
+	phy-handle = <&ethphy3>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_rgmii4_default>;
+};
+
 &scu {
 	mac0-clk-delay = <0x1d 0x1c
 			  0x10 0x17
diff --git a/arch/arm/dts/ast2600.dtsi b/arch/arm/dts/ast2600.dtsi
index f121f547e6d4..bdcca69e060d 100644
--- a/arch/arm/dts/ast2600.dtsi
+++ b/arch/arm/dts/ast2600.dtsi
@@ -193,11 +193,47 @@
 			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
 		};
 
-		mdio: ethernet@1e650000 {
-			compatible = "aspeed,aspeed-mdio";
-			reg = <0x1e650000 0x40>;
-			resets = <&rst ASPEED_RESET_MII>;
-			status = "disabled";
+		mdio: bus@1e650000 {
+			compatible = "simple-bus";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0 0x1e650000 0x100>;
+
+			mdio0: mdio@0 {
+				compatible = "aspeed,ast2600-mdio";
+				reg = <0 0x8>;
+				resets = <&rst ASPEED_RESET_MII>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_mdio1_default>;
+				status = "disabled";
+			};
+
+			mdio1: mdio@8 {
+				compatible = "aspeed,ast2600-mdio";
+				reg = <0x8 0x8>;
+				resets = <&rst ASPEED_RESET_MII>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_mdio2_default>;
+				status = "disabled";
+			};
+
+			mdio2: mdio@10 {
+				compatible = "aspeed,ast2600-mdio";
+				reg = <0x10 0x8>;
+				resets = <&rst ASPEED_RESET_MII>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_mdio3_default>;
+				status = "disabled";
+			};
+
+			mdio3: mdio@18 {
+				compatible = "aspeed,ast2600-mdio";
+				reg = <0x18 0x8>;
+				resets = <&rst ASPEED_RESET_MII>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_mdio4_default>;
+				status = "disabled";
+			};
 		};
 
 		mac0: ftgmac@1e660000 {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [next 4/5] configs: ast2600: enable DM_MDIO and MDIO driver
  2021-12-09  2:12 [next 0/5] Add support of Ethernet for Aspeed AST2600 SoC Dylan Hung
                   ` (2 preceding siblings ...)
  2021-12-09  2:12 ` [next 3/5] ARM: dts: ast2600: Add MDIO devices Dylan Hung
@ 2021-12-09  2:12 ` Dylan Hung
  2021-12-10 23:10   ` Ramon Fried
  2022-01-18 21:09   ` Tom Rini
  2021-12-09  2:12 ` [next 5/5] clk: ast2600: Revise MII interface delay Dylan Hung
  4 siblings, 2 replies; 16+ messages in thread
From: Dylan Hung @ 2021-12-09  2:12 UTC (permalink / raw)
  To: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot
  Cc: BMC-SW

Enable DM_MDIO and Aspeed MDIO driver for AST2600 EVB.

Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
---
 configs/evb-ast2600_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/configs/evb-ast2600_defconfig b/configs/evb-ast2600_defconfig
index 5f00d6a944a6..21af905a047a 100644
--- a/configs/evb-ast2600_defconfig
+++ b/configs/evb-ast2600_defconfig
@@ -54,7 +54,9 @@ CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ASPEED=y
 CONFIG_PHY_REALTEK=y
 CONFIG_DM_ETH=y
+CONFIG_DM_MDIO=y
 CONFIG_FTGMAC100=y
+CONFIG_ASPEED_MDIO=y
 CONFIG_PHY=y
 CONFIG_PINCTRL=y
 CONFIG_RAM=y
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [next 5/5] clk: ast2600: Revise MII interface delay
  2021-12-09  2:12 [next 0/5] Add support of Ethernet for Aspeed AST2600 SoC Dylan Hung
                   ` (3 preceding siblings ...)
  2021-12-09  2:12 ` [next 4/5] configs: ast2600: enable DM_MDIO and MDIO driver Dylan Hung
@ 2021-12-09  2:12 ` Dylan Hung
  2021-12-10 23:10   ` Ramon Fried
  2022-01-18 21:10   ` Tom Rini
  4 siblings, 2 replies; 16+ messages in thread
From: Dylan Hung @ 2021-12-09  2:12 UTC (permalink / raw)
  To: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot
  Cc: BMC-SW

The clock delay of the RMII/RGMII interface is controlled by SCU340~35C.
These values are obtained by measurement and experiments so we simply
use macro to define them.

Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
---
 drivers/clk/aspeed/clk_ast2600.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/clk/aspeed/clk_ast2600.c b/drivers/clk/aspeed/clk_ast2600.c
index 3a92739f5cf5..6441fcbbbd4c 100644
--- a/drivers/clk/aspeed/clk_ast2600.c
+++ b/drivers/clk/aspeed/clk_ast2600.c
@@ -19,11 +19,11 @@ DECLARE_GLOBAL_DATA_PTR;
 #define CLKIN_25M 25000000UL
 
 /* MAC Clock Delay settings */
-#define MAC12_DEF_DELAY_1G		0x0041b75d
-#define MAC12_DEF_DELAY_100M	0x00417410
-#define MAC12_DEF_DELAY_10M		0x00417410
-#define MAC34_DEF_DELAY_1G		0x0010438a
-#define MAC34_DEF_DELAY_100M	0x00104208
+#define MAC12_DEF_DELAY_1G		0x0028a410
+#define MAC12_DEF_DELAY_100M		0x00410410
+#define MAC12_DEF_DELAY_10M		0x00410410
+#define MAC34_DEF_DELAY_1G		0x00104208
+#define MAC34_DEF_DELAY_100M		0x00104208
 #define MAC34_DEF_DELAY_10M		0x00104208
 
 /*
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [next 1/5] net: ftgmac100: Add DM_MDIO support
  2021-12-09  2:12 ` [next 1/5] net: ftgmac100: Add DM_MDIO support Dylan Hung
@ 2021-12-10 23:08   ` Ramon Fried
  2022-01-18 21:09   ` Tom Rini
  1 sibling, 0 replies; 16+ messages in thread
From: Ramon Fried @ 2021-12-10 23:08 UTC (permalink / raw)
  To: Dylan Hung
  Cc: chiawei_wang, Lukasz Majewski, Sean Anderson, ryan_chen,
	Joe Hershberger, U-Boot Mailing List, BMC-SW

On Thu, Dec 9, 2021 at 4:12 AM Dylan Hung <dylan_hung@aspeedtech.com> wrote:
>
> Add support for DM_MDIO to connect to PHY.  For the systems that have a
> stand-alone MDIO hardware block, enable CONFIG_DM_MDIO to use driver
> model for MDIO devices.
>
> Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
> ---
>  drivers/net/ftgmac100.c | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/ftgmac100.c b/drivers/net/ftgmac100.c
> index 0687230b4bb4..b6e9526c3b9f 100644
> --- a/drivers/net/ftgmac100.c
> +++ b/drivers/net/ftgmac100.c
> @@ -220,7 +220,11 @@ static int ftgmac100_phy_init(struct udevice *dev)
>         struct phy_device *phydev;
>         int ret;
>
> -       phydev = phy_connect(priv->bus, priv->phy_addr, dev, priv->phy_mode);
> +       if (IS_ENABLED(CONFIG_DM_MDIO))
> +               phydev = dm_eth_phy_connect(dev);
> +       else
> +               phydev = phy_connect(priv->bus, priv->phy_addr, dev, priv->phy_mode);
> +
>         if (!phydev)
>                 return -ENODEV;
>
> @@ -589,10 +593,16 @@ static int ftgmac100_probe(struct udevice *dev)
>         if (ret)
>                 goto out;
>
> -       ret = ftgmac100_mdio_init(dev);
> -       if (ret) {
> -               dev_err(dev, "Failed to initialize mdiobus: %d\n", ret);
> -               goto out;
> +       /*
> +        * If DM MDIO is enabled, the MDIO bus will be initialized later in
> +        * dm_eth_phy_connect
> +        */
> +       if (!IS_ENABLED(CONFIG_DM_MDIO)) {
> +               ret = ftgmac100_mdio_init(dev);
> +               if (ret) {
> +                       dev_err(dev, "Failed to initialize mdiobus: %d\n", ret);
> +                       goto out;
> +               }
>         }
>
>         ret = ftgmac100_phy_init(dev);
> --
> 2.25.1
>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [next 2/5] net: ftgmac100: Add Aspeed AST2600 support
  2021-12-09  2:12 ` [next 2/5] net: ftgmac100: Add Aspeed AST2600 support Dylan Hung
@ 2021-12-10 23:09   ` Ramon Fried
  2022-01-18 21:09   ` Tom Rini
  1 sibling, 0 replies; 16+ messages in thread
From: Ramon Fried @ 2021-12-10 23:09 UTC (permalink / raw)
  To: Dylan Hung
  Cc: chiawei_wang, Lukasz Majewski, Sean Anderson, ryan_chen,
	Joe Hershberger, U-Boot Mailing List, BMC-SW

On Thu, Dec 9, 2021 at 4:12 AM Dylan Hung <dylan_hung@aspeedtech.com> wrote:
>
> Add support of the MAC controller of Aspeed AST2600 SOC.  The MAC
> controller is the same with AST2500, except it has stand-alone MDIO
> hardware block.
>
> Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
> ---
>  drivers/net/ftgmac100.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/ftgmac100.c b/drivers/net/ftgmac100.c
> index b6e9526c3b9f..aa719d295f3d 100644
> --- a/drivers/net/ftgmac100.c
> +++ b/drivers/net/ftgmac100.c
> @@ -644,6 +644,7 @@ static const struct eth_ops ftgmac100_ops = {
>  static const struct udevice_id ftgmac100_ids[] = {
>         { .compatible = "faraday,ftgmac100",  .data = FTGMAC100_MODEL_FARADAY },
>         { .compatible = "aspeed,ast2500-mac", .data = FTGMAC100_MODEL_ASPEED  },
> +       { .compatible = "aspeed,ast2600-mac", .data = FTGMAC100_MODEL_ASPEED  },
>         { }
>  };
>
> --
> 2.25.1
>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [next 3/5] ARM: dts: ast2600: Add MDIO devices
  2021-12-09  2:12 ` [next 3/5] ARM: dts: ast2600: Add MDIO devices Dylan Hung
@ 2021-12-10 23:10   ` Ramon Fried
  2022-01-18 21:09   ` Tom Rini
  1 sibling, 0 replies; 16+ messages in thread
From: Ramon Fried @ 2021-12-10 23:10 UTC (permalink / raw)
  To: Dylan Hung
  Cc: chiawei_wang, Lukasz Majewski, Sean Anderson, ryan_chen,
	Joe Hershberger, U-Boot Mailing List, BMC-SW

On Thu, Dec 9, 2021 at 4:12 AM Dylan Hung <dylan_hung@aspeedtech.com> wrote:
>
> There are 4 MDIO bus controllers in AST2600 SOC.  Each of them can
> connect to one or more PHY chips and is flexible to work with the 4 MAC
> devices in AST2600.  On AST2600 EVB, MDIO 0,1,2,3 connect to the PHY
> chips used by MAC 0,1,2,3 respectively.
>
> Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
> ---
>  arch/arm/dts/ast2600-evb.dts | 68 ++++++++++++++++++++++++++++++++++++
>  arch/arm/dts/ast2600.dtsi    | 46 +++++++++++++++++++++---
>  2 files changed, 109 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/dts/ast2600-evb.dts b/arch/arm/dts/ast2600-evb.dts
> index 2abd31341c11..4e256d1e2b4e 100644
> --- a/arch/arm/dts/ast2600-evb.dts
> +++ b/arch/arm/dts/ast2600-evb.dts
> @@ -163,6 +163,74 @@
>         pinctrl-0 = <&pinctrl_i2c9_default>;
>  };
>
> +&mdio0 {
> +       status = "okay";
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       ethphy0: ethernet-phy@0 {
> +               reg = <0>;
> +       };
> +};
> +
> +&mdio1 {
> +       status = "okay";
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       ethphy1: ethernet-phy@0 {
> +               reg = <0>;
> +       };
> +};
> +
> +&mdio2 {
> +       status = "okay";
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       ethphy2: ethernet-phy@0 {
> +               reg = <0>;
> +       };
> +};
> +
> +&mdio3 {
> +       status = "okay";
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       ethphy3: ethernet-phy@0 {
> +               reg = <0>;
> +       };
> +};
> +
> +&mac0 {
> +       status = "okay";
> +       phy-mode = "rgmii-rxid";
> +       phy-handle = <&ethphy0>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_rgmii1_default>;
> +};
> +
> +&mac1 {
> +       status = "okay";
> +       phy-mode = "rgmii-rxid";
> +       phy-handle = <&ethphy1>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_rgmii2_default>;
> +};
> +
> +&mac2 {
> +       status = "okay";
> +       phy-mode = "rgmii";
> +       phy-handle = <&ethphy2>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_rgmii3_default>;
> +};
> +
> +&mac3 {
> +       status = "okay";
> +       phy-mode = "rgmii";
> +       phy-handle = <&ethphy3>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_rgmii4_default>;
> +};
> +
>  &scu {
>         mac0-clk-delay = <0x1d 0x1c
>                           0x10 0x17
> diff --git a/arch/arm/dts/ast2600.dtsi b/arch/arm/dts/ast2600.dtsi
> index f121f547e6d4..bdcca69e060d 100644
> --- a/arch/arm/dts/ast2600.dtsi
> +++ b/arch/arm/dts/ast2600.dtsi
> @@ -193,11 +193,47 @@
>                         interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
>                 };
>
> -               mdio: ethernet@1e650000 {
> -                       compatible = "aspeed,aspeed-mdio";
> -                       reg = <0x1e650000 0x40>;
> -                       resets = <&rst ASPEED_RESET_MII>;
> -                       status = "disabled";
> +               mdio: bus@1e650000 {
> +                       compatible = "simple-bus";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0 0x1e650000 0x100>;
> +
> +                       mdio0: mdio@0 {
> +                               compatible = "aspeed,ast2600-mdio";
> +                               reg = <0 0x8>;
> +                               resets = <&rst ASPEED_RESET_MII>;
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&pinctrl_mdio1_default>;
> +                               status = "disabled";
> +                       };
> +
> +                       mdio1: mdio@8 {
> +                               compatible = "aspeed,ast2600-mdio";
> +                               reg = <0x8 0x8>;
> +                               resets = <&rst ASPEED_RESET_MII>;
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&pinctrl_mdio2_default>;
> +                               status = "disabled";
> +                       };
> +
> +                       mdio2: mdio@10 {
> +                               compatible = "aspeed,ast2600-mdio";
> +                               reg = <0x10 0x8>;
> +                               resets = <&rst ASPEED_RESET_MII>;
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&pinctrl_mdio3_default>;
> +                               status = "disabled";
> +                       };
> +
> +                       mdio3: mdio@18 {
> +                               compatible = "aspeed,ast2600-mdio";
> +                               reg = <0x18 0x8>;
> +                               resets = <&rst ASPEED_RESET_MII>;
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&pinctrl_mdio4_default>;
> +                               status = "disabled";
> +                       };
>                 };
>
>                 mac0: ftgmac@1e660000 {
> --
> 2.25.1
>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [next 4/5] configs: ast2600: enable DM_MDIO and MDIO driver
  2021-12-09  2:12 ` [next 4/5] configs: ast2600: enable DM_MDIO and MDIO driver Dylan Hung
@ 2021-12-10 23:10   ` Ramon Fried
  2022-01-18 21:09   ` Tom Rini
  1 sibling, 0 replies; 16+ messages in thread
From: Ramon Fried @ 2021-12-10 23:10 UTC (permalink / raw)
  To: Dylan Hung
  Cc: chiawei_wang, Lukasz Majewski, Sean Anderson, ryan_chen,
	Joe Hershberger, U-Boot Mailing List, BMC-SW

On Thu, Dec 9, 2021 at 4:12 AM Dylan Hung <dylan_hung@aspeedtech.com> wrote:
>
> Enable DM_MDIO and Aspeed MDIO driver for AST2600 EVB.
>
> Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
> ---
>  configs/evb-ast2600_defconfig | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/configs/evb-ast2600_defconfig b/configs/evb-ast2600_defconfig
> index 5f00d6a944a6..21af905a047a 100644
> --- a/configs/evb-ast2600_defconfig
> +++ b/configs/evb-ast2600_defconfig
> @@ -54,7 +54,9 @@ CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_ASPEED=y
>  CONFIG_PHY_REALTEK=y
>  CONFIG_DM_ETH=y
> +CONFIG_DM_MDIO=y
>  CONFIG_FTGMAC100=y
> +CONFIG_ASPEED_MDIO=y
>  CONFIG_PHY=y
>  CONFIG_PINCTRL=y
>  CONFIG_RAM=y
> --
> 2.25.1
>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [next 5/5] clk: ast2600: Revise MII interface delay
  2021-12-09  2:12 ` [next 5/5] clk: ast2600: Revise MII interface delay Dylan Hung
@ 2021-12-10 23:10   ` Ramon Fried
  2022-01-18 21:10   ` Tom Rini
  1 sibling, 0 replies; 16+ messages in thread
From: Ramon Fried @ 2021-12-10 23:10 UTC (permalink / raw)
  To: Dylan Hung
  Cc: chiawei_wang, Lukasz Majewski, Sean Anderson, ryan_chen,
	Joe Hershberger, U-Boot Mailing List, BMC-SW

On Thu, Dec 9, 2021 at 4:12 AM Dylan Hung <dylan_hung@aspeedtech.com> wrote:
>
> The clock delay of the RMII/RGMII interface is controlled by SCU340~35C.
> These values are obtained by measurement and experiments so we simply
> use macro to define them.
>
> Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
> ---
>  drivers/clk/aspeed/clk_ast2600.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/clk/aspeed/clk_ast2600.c b/drivers/clk/aspeed/clk_ast2600.c
> index 3a92739f5cf5..6441fcbbbd4c 100644
> --- a/drivers/clk/aspeed/clk_ast2600.c
> +++ b/drivers/clk/aspeed/clk_ast2600.c
> @@ -19,11 +19,11 @@ DECLARE_GLOBAL_DATA_PTR;
>  #define CLKIN_25M 25000000UL
>
>  /* MAC Clock Delay settings */
> -#define MAC12_DEF_DELAY_1G             0x0041b75d
> -#define MAC12_DEF_DELAY_100M   0x00417410
> -#define MAC12_DEF_DELAY_10M            0x00417410
> -#define MAC34_DEF_DELAY_1G             0x0010438a
> -#define MAC34_DEF_DELAY_100M   0x00104208
> +#define MAC12_DEF_DELAY_1G             0x0028a410
> +#define MAC12_DEF_DELAY_100M           0x00410410
> +#define MAC12_DEF_DELAY_10M            0x00410410
> +#define MAC34_DEF_DELAY_1G             0x00104208
> +#define MAC34_DEF_DELAY_100M           0x00104208
>  #define MAC34_DEF_DELAY_10M            0x00104208
>
>  /*
> --
> 2.25.1
>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [next 2/5] net: ftgmac100: Add Aspeed AST2600 support
  2021-12-09  2:12 ` [next 2/5] net: ftgmac100: Add Aspeed AST2600 support Dylan Hung
  2021-12-10 23:09   ` Ramon Fried
@ 2022-01-18 21:09   ` Tom Rini
  1 sibling, 0 replies; 16+ messages in thread
From: Tom Rini @ 2022-01-18 21:09 UTC (permalink / raw)
  To: Dylan Hung
  Cc: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot, BMC-SW

[-- Attachment #1: Type: text/plain, Size: 383 bytes --]

On Thu, Dec 09, 2021 at 10:12:25AM +0800, Dylan Hung wrote:

> Add support of the MAC controller of Aspeed AST2600 SOC.  The MAC
> controller is the same with AST2500, except it has stand-alone MDIO
> hardware block.
> 
> Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [next 1/5] net: ftgmac100: Add DM_MDIO support
  2021-12-09  2:12 ` [next 1/5] net: ftgmac100: Add DM_MDIO support Dylan Hung
  2021-12-10 23:08   ` Ramon Fried
@ 2022-01-18 21:09   ` Tom Rini
  1 sibling, 0 replies; 16+ messages in thread
From: Tom Rini @ 2022-01-18 21:09 UTC (permalink / raw)
  To: Dylan Hung
  Cc: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot, BMC-SW

[-- Attachment #1: Type: text/plain, Size: 398 bytes --]

On Thu, Dec 09, 2021 at 10:12:24AM +0800, Dylan Hung wrote:

> Add support for DM_MDIO to connect to PHY.  For the systems that have a
> stand-alone MDIO hardware block, enable CONFIG_DM_MDIO to use driver
> model for MDIO devices.
> 
> Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [next 3/5] ARM: dts: ast2600: Add MDIO devices
  2021-12-09  2:12 ` [next 3/5] ARM: dts: ast2600: Add MDIO devices Dylan Hung
  2021-12-10 23:10   ` Ramon Fried
@ 2022-01-18 21:09   ` Tom Rini
  1 sibling, 0 replies; 16+ messages in thread
From: Tom Rini @ 2022-01-18 21:09 UTC (permalink / raw)
  To: Dylan Hung
  Cc: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot, BMC-SW

[-- Attachment #1: Type: text/plain, Size: 484 bytes --]

On Thu, Dec 09, 2021 at 10:12:26AM +0800, Dylan Hung wrote:

> There are 4 MDIO bus controllers in AST2600 SOC.  Each of them can
> connect to one or more PHY chips and is flexible to work with the 4 MAC
> devices in AST2600.  On AST2600 EVB, MDIO 0,1,2,3 connect to the PHY
> chips used by MAC 0,1,2,3 respectively.
> 
> Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [next 4/5] configs: ast2600: enable DM_MDIO and MDIO driver
  2021-12-09  2:12 ` [next 4/5] configs: ast2600: enable DM_MDIO and MDIO driver Dylan Hung
  2021-12-10 23:10   ` Ramon Fried
@ 2022-01-18 21:09   ` Tom Rini
  1 sibling, 0 replies; 16+ messages in thread
From: Tom Rini @ 2022-01-18 21:09 UTC (permalink / raw)
  To: Dylan Hung
  Cc: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot, BMC-SW

[-- Attachment #1: Type: text/plain, Size: 282 bytes --]

On Thu, Dec 09, 2021 at 10:12:27AM +0800, Dylan Hung wrote:

> Enable DM_MDIO and Aspeed MDIO driver for AST2600 EVB.
> 
> Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [next 5/5] clk: ast2600: Revise MII interface delay
  2021-12-09  2:12 ` [next 5/5] clk: ast2600: Revise MII interface delay Dylan Hung
  2021-12-10 23:10   ` Ramon Fried
@ 2022-01-18 21:10   ` Tom Rini
  1 sibling, 0 replies; 16+ messages in thread
From: Tom Rini @ 2022-01-18 21:10 UTC (permalink / raw)
  To: Dylan Hung
  Cc: chiawei_wang, lukma, seanga2, ryan_chen, joe.hershberger,
	rfried.dev, u-boot, BMC-SW

[-- Attachment #1: Type: text/plain, Size: 402 bytes --]

On Thu, Dec 09, 2021 at 10:12:28AM +0800, Dylan Hung wrote:

> The clock delay of the RMII/RGMII interface is controlled by SCU340~35C.
> These values are obtained by measurement and experiments so we simply
> use macro to define them.
> 
> Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-01-18 21:10 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-09  2:12 [next 0/5] Add support of Ethernet for Aspeed AST2600 SoC Dylan Hung
2021-12-09  2:12 ` [next 1/5] net: ftgmac100: Add DM_MDIO support Dylan Hung
2021-12-10 23:08   ` Ramon Fried
2022-01-18 21:09   ` Tom Rini
2021-12-09  2:12 ` [next 2/5] net: ftgmac100: Add Aspeed AST2600 support Dylan Hung
2021-12-10 23:09   ` Ramon Fried
2022-01-18 21:09   ` Tom Rini
2021-12-09  2:12 ` [next 3/5] ARM: dts: ast2600: Add MDIO devices Dylan Hung
2021-12-10 23:10   ` Ramon Fried
2022-01-18 21:09   ` Tom Rini
2021-12-09  2:12 ` [next 4/5] configs: ast2600: enable DM_MDIO and MDIO driver Dylan Hung
2021-12-10 23:10   ` Ramon Fried
2022-01-18 21:09   ` Tom Rini
2021-12-09  2:12 ` [next 5/5] clk: ast2600: Revise MII interface delay Dylan Hung
2021-12-10 23:10   ` Ramon Fried
2022-01-18 21:10   ` Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.