[RFC/RFT 0/7] arm: meson: static ethernet init cleanup

This serie finally removes the static ethernet link setup, MDIO mux & memory power domain after introduction of : - "net: add MMIO Register MDIO MUX driver" at [1] - "net: designware: add DM_MDIO support" at [2] - "net: add Amlogic Meson G12A MDIO MUX driver" at [3] - "net: designware: add Amlogic Meson8b & later glue driver" at [4]
These patches makes all this happen automagically thanks to DM_MDIO introduced last year.
This has been tested on libretech-ac and Khadas VIM3 to check to most opposite setups, but the GXBB boards hasn't been tested.
Note, you'll need [1], [2], [3], [4] applied before these patches
[1] https://patchwork.ozlabs.org/project/uboot/patch/20210224140223.2617536-1-na... [2] https://patchwork.ozlabs.org/project/uboot/patch/20210224140239.2617642-1-na... [3] https://patchwork.ozlabs.org/project/uboot/patch/20210224163153.2678768-1-na... [4] https://patchwork.ozlabs.org/project/uboot/patch/20210224193356.2948805-1-na...
Neil Armstrong (7): configs: update Amlogic Meson GXL & GXM config for MDIO MUX configs: update Amlogic Meson G12A, G12B & SM1 configs for MDIO MUX arm: meson: remove static MDIO mux handling configs: meson: use Designware glue driver for Amlogic Meson8b & later SoCs net: designware: remove amlogic compatibles arm: meson: remove static ethernet memory power domain enable arm: meson: remove static ethernet link setup
arch/arm/include/asm/arch-meson/axg.h | 22 ------- arch/arm/include/asm/arch-meson/eth.h | 12 ---- arch/arm/include/asm/arch-meson/g12a.h | 35 ----------- arch/arm/include/asm/arch-meson/gx.h | 20 ------ arch/arm/mach-meson/board-axg.c | 34 ----------- arch/arm/mach-meson/board-g12a.c | 67 --------------------- arch/arm/mach-meson/board-gx.c | 48 --------------- board/amlogic/beelink-s922x/beelink-s922x.c | 2 - board/amlogic/odroid-n2/odroid-n2.c | 2 - board/amlogic/p200/p200.c | 2 - board/amlogic/p201/p201.c | 2 - board/amlogic/p212/p212.c | 3 - board/amlogic/q200/q200.c | 2 - board/amlogic/s400/s400.c | 2 - board/amlogic/sei510/sei510.c | 3 - board/amlogic/sei610/sei610.c | 3 - board/amlogic/u200/u200.c | 3 +- board/amlogic/vim3/vim3.c | 2 - board/amlogic/w400/w400.c | 2 +- configs/beelink-gtking_defconfig | 5 +- configs/beelink-gtkingpro_defconfig | 5 +- configs/khadas-vim2_defconfig | 5 +- configs/khadas-vim3_defconfig | 5 +- configs/khadas-vim3l_defconfig | 5 +- configs/khadas-vim_defconfig | 7 ++- configs/libretech-ac_defconfig | 7 ++- configs/libretech-cc_defconfig | 7 ++- configs/libretech-cc_v2_defconfig | 7 ++- configs/libretech-s905d-pc_defconfig | 5 +- configs/libretech-s912-pc_defconfig | 5 +- configs/nanopi-k2_defconfig | 2 +- configs/odroid-c2_defconfig | 2 +- configs/odroid-c4_defconfig | 5 +- configs/odroid-n2_defconfig | 5 +- configs/p200_defconfig | 2 +- configs/p201_defconfig | 2 +- configs/p212_defconfig | 7 ++- configs/s400_defconfig | 2 +- configs/sei510_defconfig | 7 ++- configs/sei610_defconfig | 7 ++- configs/u200_defconfig | 7 ++- configs/wetek-core2_defconfig | 5 +- drivers/net/designware.c | 3 - 43 files changed, 79 insertions(+), 306 deletions(-)

Use DM_MDIO and the new MMIOREG MDIO MUX driver for GXL & GXM board.
Signed-off-by: Neil Armstrong narmstrong@baylibre.com --- configs/khadas-vim2_defconfig | 3 +++ configs/khadas-vim_defconfig | 5 +++-- configs/libretech-ac_defconfig | 5 +++-- configs/libretech-cc_defconfig | 5 +++-- configs/libretech-cc_v2_defconfig | 5 +++-- configs/libretech-s905d-pc_defconfig | 3 +++ configs/libretech-s912-pc_defconfig | 3 +++ configs/p212_defconfig | 5 +++-- configs/wetek-core2_defconfig | 3 +++ 9 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/configs/khadas-vim2_defconfig b/configs/khadas-vim2_defconfig index c26c0ca45c..3fd7543c12 100644 --- a/configs/khadas-vim2_defconfig +++ b/configs/khadas-vim2_defconfig @@ -36,6 +36,9 @@ CONFIG_MTD=y CONFIG_DM_MTD=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_WINBOND=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/khadas-vim_defconfig b/configs/khadas-vim_defconfig index e7e5c42035..0e64f91d0a 100644 --- a/configs/khadas-vim_defconfig +++ b/configs/khadas-vim_defconfig @@ -30,8 +30,9 @@ CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SARADC_MESON=y CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y -CONFIG_PHY_ADDR_ENABLE=y -CONFIG_PHY_ADDR=8 +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_MESON_GXL=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/libretech-ac_defconfig b/configs/libretech-ac_defconfig index ca61591bd7..388974209e 100644 --- a/configs/libretech-ac_defconfig +++ b/configs/libretech-ac_defconfig @@ -37,13 +37,14 @@ CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SARADC_MESON=y CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MMIOREG=y CONFIG_MTD=y CONFIG_DM_MTD=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_GIGADEVICE=y CONFIG_SPI_FLASH_SPANSION=y -CONFIG_PHY_ADDR_ENABLE=y -CONFIG_PHY_ADDR=8 CONFIG_PHY_MESON_GXL=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/libretech-cc_defconfig b/configs/libretech-cc_defconfig index fb4bf4c929..5308e90bd1 100644 --- a/configs/libretech-cc_defconfig +++ b/configs/libretech-cc_defconfig @@ -29,8 +29,9 @@ CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SARADC_MESON=y CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y -CONFIG_PHY_ADDR_ENABLE=y -CONFIG_PHY_ADDR=8 +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_MESON_GXL=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/libretech-cc_v2_defconfig b/configs/libretech-cc_v2_defconfig index 017e81bb5d..af60bfc488 100644 --- a/configs/libretech-cc_v2_defconfig +++ b/configs/libretech-cc_v2_defconfig @@ -38,8 +38,9 @@ CONFIG_MTD=y CONFIG_DM_MTD=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_GIGADEVICE=y -CONFIG_PHY_ADDR_ENABLE=y -CONFIG_PHY_ADDR=8 +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_MESON_GXL=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/libretech-s905d-pc_defconfig b/configs/libretech-s905d-pc_defconfig index 9d4c880a3b..0d54563dd2 100644 --- a/configs/libretech-s905d-pc_defconfig +++ b/configs/libretech-s905d-pc_defconfig @@ -39,6 +39,9 @@ CONFIG_MMC_MESON_GX=y CONFIG_MTD=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_GIGADEVICE=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/libretech-s912-pc_defconfig b/configs/libretech-s912-pc_defconfig index cf600c1cbe..e08c1bcca3 100644 --- a/configs/libretech-s912-pc_defconfig +++ b/configs/libretech-s912-pc_defconfig @@ -38,6 +38,9 @@ CONFIG_MMC_MESON_GX=y CONFIG_MTD=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_GIGADEVICE=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/p212_defconfig b/configs/p212_defconfig index da66c50ea0..b0ef69d0c6 100644 --- a/configs/p212_defconfig +++ b/configs/p212_defconfig @@ -27,8 +27,9 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y -CONFIG_PHY_ADDR_ENABLE=y -CONFIG_PHY_ADDR=8 +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_MESON_GXL=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/wetek-core2_defconfig b/configs/wetek-core2_defconfig index cbe747b63e..4a1ba522fe 100644 --- a/configs/wetek-core2_defconfig +++ b/configs/wetek-core2_defconfig @@ -31,6 +31,9 @@ CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y CONFIG_MTD=y CONFIG_DM_MTD=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y

Use DM_MDIO and the new G12A MDIO MUX driver for G12A, G12B & SM1 boards.
Signed-off-by: Neil Armstrong narmstrong@baylibre.com --- configs/beelink-gtking_defconfig | 3 +++ configs/beelink-gtkingpro_defconfig | 3 +++ configs/khadas-vim3_defconfig | 3 +++ configs/khadas-vim3l_defconfig | 3 +++ configs/odroid-c4_defconfig | 3 +++ configs/odroid-n2_defconfig | 3 +++ configs/sei510_defconfig | 5 +++-- configs/sei610_defconfig | 5 +++-- configs/u200_defconfig | 5 +++-- 9 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/configs/beelink-gtking_defconfig b/configs/beelink-gtking_defconfig index 6270c23bb0..ce349433be 100644 --- a/configs/beelink-gtking_defconfig +++ b/configs/beelink-gtking_defconfig @@ -30,6 +30,9 @@ CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y CONFIG_MTD=y CONFIG_DM_MTD=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/beelink-gtkingpro_defconfig b/configs/beelink-gtkingpro_defconfig index 310654e353..8c4a234900 100644 --- a/configs/beelink-gtkingpro_defconfig +++ b/configs/beelink-gtkingpro_defconfig @@ -30,6 +30,9 @@ CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y CONFIG_MTD=y CONFIG_DM_MTD=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/khadas-vim3_defconfig b/configs/khadas-vim3_defconfig index bc17430569..e37bc237d8 100644 --- a/configs/khadas-vim3_defconfig +++ b/configs/khadas-vim3_defconfig @@ -41,6 +41,9 @@ CONFIG_MTD=y CONFIG_DM_MTD=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_WINBOND=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/khadas-vim3l_defconfig b/configs/khadas-vim3l_defconfig index c1877922c7..8cc0214abb 100644 --- a/configs/khadas-vim3l_defconfig +++ b/configs/khadas-vim3l_defconfig @@ -41,6 +41,9 @@ CONFIG_MTD=y CONFIG_DM_MTD=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_WINBOND=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/odroid-c4_defconfig b/configs/odroid-c4_defconfig index 8a9b8b0c02..b5e427fda7 100644 --- a/configs/odroid-c4_defconfig +++ b/configs/odroid-c4_defconfig @@ -30,6 +30,9 @@ CONFIG_ADC=y CONFIG_SARADC_MESON=y CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/odroid-n2_defconfig b/configs/odroid-n2_defconfig index b82bd78f2d..2e8b365ebc 100644 --- a/configs/odroid-n2_defconfig +++ b/configs/odroid-n2_defconfig @@ -30,6 +30,9 @@ CONFIG_ADC=y CONFIG_SARADC_MESON=y CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/sei510_defconfig b/configs/sei510_defconfig index 7b97a2f6f3..83ca0812ba 100644 --- a/configs/sei510_defconfig +++ b/configs/sei510_defconfig @@ -45,8 +45,9 @@ CONFIG_FASTBOOT_CMD_OEM_FORMAT=y # CONFIG_INPUT is not set CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y -CONFIG_PHY_ADDR_ENABLE=y -CONFIG_PHY_ADDR=8 +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y CONFIG_MESON_G12A_USB_PHY=y diff --git a/configs/sei610_defconfig b/configs/sei610_defconfig index 0ed17091b5..f9f5ef657a 100644 --- a/configs/sei610_defconfig +++ b/configs/sei610_defconfig @@ -45,8 +45,9 @@ CONFIG_FASTBOOT_CMD_OEM_FORMAT=y # CONFIG_INPUT is not set CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y -CONFIG_PHY_ADDR_ENABLE=y -CONFIG_PHY_ADDR=8 +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y CONFIG_MESON_G12A_USB_PHY=y diff --git a/configs/u200_defconfig b/configs/u200_defconfig index b0b822b9cb..1fbb78dd34 100644 --- a/configs/u200_defconfig +++ b/configs/u200_defconfig @@ -27,8 +27,9 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y -CONFIG_PHY_ADDR_ENABLE=y -CONFIG_PHY_ADDR=8 +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y CONFIG_MESON_G12A_USB_PHY=y

The static MDIO mux handling in mach-meson is no more needed, delete it.
Signed-off-by: Neil Armstrong narmstrong@baylibre.com --- arch/arm/mach-meson/board-g12a.c | 33 -------------------------------- arch/arm/mach-meson/board-gx.c | 14 ++------------ 2 files changed, 2 insertions(+), 45 deletions(-)
diff --git a/arch/arm/mach-meson/board-g12a.c b/arch/arm/mach-meson/board-g12a.c index bb75d4f8ad..bfd40fe14f 100644 --- a/arch/arm/mach-meson/board-g12a.c +++ b/arch/arm/mach-meson/board-g12a.c @@ -97,31 +97,6 @@ static struct mm_region g12a_mem_map[] = {
struct mm_region *mem_map = g12a_mem_map;
-static void g12a_enable_external_mdio(void) -{ - writel(0x0, ETH_PHY_CNTL2); -} - -static void g12a_enable_internal_mdio(void) -{ - /* Fire up the PHY PLL */ - writel(0x29c0040a, ETH_PLL_CNTL0); - writel(0x927e0000, ETH_PLL_CNTL1); - writel(0xac5f49e5, ETH_PLL_CNTL2); - writel(0x00000000, ETH_PLL_CNTL3); - writel(0x00000000, ETH_PLL_CNTL4); - writel(0x20200000, ETH_PLL_CNTL5); - writel(0x0000c002, ETH_PLL_CNTL6); - writel(0x00000023, ETH_PLL_CNTL7); - writel(0x39c0040a, ETH_PLL_CNTL0); - writel(0x19c0040a, ETH_PLL_CNTL0); - - /* Select the internal MDIO */ - writel(0x33000180, ETH_PHY_CNTL0); - writel(0x00074043, ETH_PHY_CNTL1); - writel(0x00000260, ETH_PHY_CNTL2); -} - /* Configure the Ethernet MAC with the requested interface mode * with some optional flags. */ @@ -138,7 +113,6 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags) G12A_ETH_REG_0_TX_RATIO(4) | G12A_ETH_REG_0_PHY_CLK_EN | G12A_ETH_REG_0_CLK_EN); - g12a_enable_external_mdio(); break;
case PHY_INTERFACE_MODE_RMII: @@ -146,13 +120,6 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags) out_le32(G12A_ETH_REG_0, G12A_ETH_REG_0_PHY_INTF_RMII | G12A_ETH_REG_0_INVERT_RMII_CLK | G12A_ETH_REG_0_CLK_EN); - - /* Use G12A RMII Internal PHY */ - if (flags & MESON_USE_INTERNAL_RMII_PHY) - g12a_enable_internal_mdio(); - else - g12a_enable_external_mdio(); - break;
default: diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c index f5273f42af..876405f0d4 100644 --- a/arch/arm/mach-meson/board-gx.c +++ b/arch/arm/mach-meson/board-gx.c @@ -126,10 +126,6 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags) GX_ETH_REG_0_PHY_CLK_EN | GX_ETH_REG_0_CLK_EN);
- /* Reset to external PHY */ - if(!IS_ENABLED(CONFIG_MESON_GXBB)) - writel(0x2009087f, GX_ETH_REG_3); - break;
case PHY_INTERFACE_MODE_RMII: @@ -137,14 +133,8 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags) out_le32(GX_ETH_REG_0, GX_ETH_REG_0_INVERT_RMII_CLK | GX_ETH_REG_0_CLK_EN);
- /* Use GXL RMII Internal PHY (also on GXM) */ - if (!IS_ENABLED(CONFIG_MESON_GXBB)) { - if ((flags & MESON_USE_INTERNAL_RMII_PHY)) { - writel(0x10110181, GX_ETH_REG_2); - writel(0xe40908ff, GX_ETH_REG_3); - } else - writel(0x2009087f, GX_ETH_REG_3); - } + if (!IS_ENABLED(CONFIG_MESON_GXBB)) + writel(0x10110181, GX_ETH_REG_2);
break;

Use the proper Synopsys DWMAC Meson8b glue to handle the ethernet link type.
Signed-off-by: Neil Armstrong narmstrong@baylibre.com --- configs/beelink-gtking_defconfig | 2 +- configs/beelink-gtkingpro_defconfig | 2 +- configs/khadas-vim2_defconfig | 2 +- configs/khadas-vim3_defconfig | 2 +- configs/khadas-vim3l_defconfig | 2 +- configs/khadas-vim_defconfig | 2 +- configs/libretech-ac_defconfig | 2 +- configs/libretech-cc_defconfig | 2 +- configs/libretech-cc_v2_defconfig | 2 +- configs/libretech-s905d-pc_defconfig | 2 +- configs/libretech-s912-pc_defconfig | 2 +- configs/nanopi-k2_defconfig | 2 +- configs/odroid-c2_defconfig | 2 +- configs/odroid-c4_defconfig | 2 +- configs/odroid-n2_defconfig | 2 +- configs/p200_defconfig | 2 +- configs/p201_defconfig | 2 +- configs/p212_defconfig | 2 +- configs/s400_defconfig | 2 +- configs/sei510_defconfig | 2 +- configs/sei610_defconfig | 2 +- configs/u200_defconfig | 2 +- configs/wetek-core2_defconfig | 2 +- 23 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/configs/beelink-gtking_defconfig b/configs/beelink-gtking_defconfig index ce349433be..12caa58697 100644 --- a/configs/beelink-gtking_defconfig +++ b/configs/beelink-gtking_defconfig @@ -35,7 +35,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_G12A_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_G12A=y diff --git a/configs/beelink-gtkingpro_defconfig b/configs/beelink-gtkingpro_defconfig index 8c4a234900..2b022e42ed 100644 --- a/configs/beelink-gtkingpro_defconfig +++ b/configs/beelink-gtkingpro_defconfig @@ -35,7 +35,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_G12A_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_G12A=y diff --git a/configs/khadas-vim2_defconfig b/configs/khadas-vim2_defconfig index 3fd7543c12..0aaa6c0db3 100644 --- a/configs/khadas-vim2_defconfig +++ b/configs/khadas-vim2_defconfig @@ -41,7 +41,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/khadas-vim3_defconfig b/configs/khadas-vim3_defconfig index e37bc237d8..cd0327c06b 100644 --- a/configs/khadas-vim3_defconfig +++ b/configs/khadas-vim3_defconfig @@ -46,7 +46,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_G12A_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_G12A=y diff --git a/configs/khadas-vim3l_defconfig b/configs/khadas-vim3l_defconfig index 8cc0214abb..ef85f00dd8 100644 --- a/configs/khadas-vim3l_defconfig +++ b/configs/khadas-vim3l_defconfig @@ -46,7 +46,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_G12A_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_G12A=y diff --git a/configs/khadas-vim_defconfig b/configs/khadas-vim_defconfig index 0e64f91d0a..60cdfffe39 100644 --- a/configs/khadas-vim_defconfig +++ b/configs/khadas-vim_defconfig @@ -35,7 +35,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_MESON_GXL=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/libretech-ac_defconfig b/configs/libretech-ac_defconfig index 388974209e..b383dfb654 100644 --- a/configs/libretech-ac_defconfig +++ b/configs/libretech-ac_defconfig @@ -47,7 +47,7 @@ CONFIG_SPI_FLASH_GIGADEVICE=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_PHY_MESON_GXL=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/libretech-cc_defconfig b/configs/libretech-cc_defconfig index 5308e90bd1..ba59dee637 100644 --- a/configs/libretech-cc_defconfig +++ b/configs/libretech-cc_defconfig @@ -34,7 +34,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_MESON_GXL=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/libretech-cc_v2_defconfig b/configs/libretech-cc_v2_defconfig index af60bfc488..9afcf183cf 100644 --- a/configs/libretech-cc_v2_defconfig +++ b/configs/libretech-cc_v2_defconfig @@ -43,7 +43,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_MESON_GXL=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_PHY=y CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y diff --git a/configs/libretech-s905d-pc_defconfig b/configs/libretech-s905d-pc_defconfig index 0d54563dd2..e0086081bd 100644 --- a/configs/libretech-s905d-pc_defconfig +++ b/configs/libretech-s905d-pc_defconfig @@ -44,7 +44,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/libretech-s912-pc_defconfig b/configs/libretech-s912-pc_defconfig index e08c1bcca3..68abbaf55b 100644 --- a/configs/libretech-s912-pc_defconfig +++ b/configs/libretech-s912-pc_defconfig @@ -43,7 +43,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/nanopi-k2_defconfig b/configs/nanopi-k2_defconfig index c2dc488171..4332271779 100644 --- a/configs/nanopi-k2_defconfig +++ b/configs/nanopi-k2_defconfig @@ -29,7 +29,7 @@ CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXBB=y CONFIG_DM_REGULATOR=y diff --git a/configs/odroid-c2_defconfig b/configs/odroid-c2_defconfig index 5c02fa1e62..7ce65b1376 100644 --- a/configs/odroid-c2_defconfig +++ b/configs/odroid-c2_defconfig @@ -32,7 +32,7 @@ CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_PHY=y CONFIG_MESON_GXBB_USB_PHY=y CONFIG_PINCTRL=y diff --git a/configs/odroid-c4_defconfig b/configs/odroid-c4_defconfig index b5e427fda7..48fb8915a0 100644 --- a/configs/odroid-c4_defconfig +++ b/configs/odroid-c4_defconfig @@ -35,7 +35,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_G12A_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_G12A=y diff --git a/configs/odroid-n2_defconfig b/configs/odroid-n2_defconfig index 2e8b365ebc..d2a8c342c2 100644 --- a/configs/odroid-n2_defconfig +++ b/configs/odroid-n2_defconfig @@ -35,7 +35,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_G12A_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_G12A=y diff --git a/configs/p200_defconfig b/configs/p200_defconfig index 6efc7bc92d..c61e974321 100644 --- a/configs/p200_defconfig +++ b/configs/p200_defconfig @@ -28,7 +28,7 @@ CONFIG_SYS_I2C_MESON=y CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXBB=y CONFIG_DM_REGULATOR=y diff --git a/configs/p201_defconfig b/configs/p201_defconfig index a1d3f04b4f..34dc154d69 100644 --- a/configs/p201_defconfig +++ b/configs/p201_defconfig @@ -29,7 +29,7 @@ CONFIG_SYS_I2C_MESON=y CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXBB=y CONFIG_DM_REGULATOR=y diff --git a/configs/p212_defconfig b/configs/p212_defconfig index b0ef69d0c6..c36a674eab 100644 --- a/configs/p212_defconfig +++ b/configs/p212_defconfig @@ -32,7 +32,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_MESON_GXL=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y diff --git a/configs/s400_defconfig b/configs/s400_defconfig index a15ac32986..39e44c0c44 100644 --- a/configs/s400_defconfig +++ b/configs/s400_defconfig @@ -29,7 +29,7 @@ CONFIG_DM_MMC=y CONFIG_MMC_MESON_GX=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_AXG=y diff --git a/configs/sei510_defconfig b/configs/sei510_defconfig index 83ca0812ba..2c84abf591 100644 --- a/configs/sei510_defconfig +++ b/configs/sei510_defconfig @@ -49,7 +49,7 @@ CONFIG_DM_MDIO=y CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_G12A_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_G12A=y diff --git a/configs/sei610_defconfig b/configs/sei610_defconfig index f9f5ef657a..392ab64642 100644 --- a/configs/sei610_defconfig +++ b/configs/sei610_defconfig @@ -49,7 +49,7 @@ CONFIG_DM_MDIO=y CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_G12A_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_G12A=y diff --git a/configs/u200_defconfig b/configs/u200_defconfig index 1fbb78dd34..4da02f1598 100644 --- a/configs/u200_defconfig +++ b/configs/u200_defconfig @@ -31,7 +31,7 @@ CONFIG_DM_MDIO=y CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MESON_G12A=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_G12A_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_G12A=y diff --git a/configs/wetek-core2_defconfig b/configs/wetek-core2_defconfig index 4a1ba522fe..098e2493e3 100644 --- a/configs/wetek-core2_defconfig +++ b/configs/wetek-core2_defconfig @@ -36,7 +36,7 @@ CONFIG_DM_MDIO_MUX=y CONFIG_MDIO_MUX_MMIOREG=y CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y -CONFIG_ETH_DESIGNWARE=y +CONFIG_ETH_DESIGNWARE_MESON8B=y CONFIG_MESON_GXL_USB_PHY=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MESON_GXL=y

These compatibles are now handled by the dwmac_meson8b glue driver.
Signed-off-by: Neil Armstrong narmstrong@baylibre.com --- drivers/net/designware.c | 3 --- 1 file changed, 3 deletions(-)
diff --git a/drivers/net/designware.c b/drivers/net/designware.c index acf3a82828..b8ba00b7c0 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -947,9 +947,6 @@ int designware_eth_of_to_plat(struct udevice *dev) static const struct udevice_id designware_eth_ids[] = { { .compatible = "allwinner,sun7i-a20-gmac" }, { .compatible = "amlogic,meson6-dwmac" }, - { .compatible = "amlogic,meson-gx-dwmac" }, - { .compatible = "amlogic,meson-gxbb-dwmac" }, - { .compatible = "amlogic,meson-axg-dwmac" }, { .compatible = "st,stm32-dwmac" }, { .compatible = "snps,arc-dwmac-3.70a" }, { }

The ethernet memory power domain is handled by the meson-ee-pwrc driver, delete the static code.
Signed-off-by: Neil Armstrong narmstrong@baylibre.com --- arch/arm/mach-meson/board-g12a.c | 3 --- arch/arm/mach-meson/board-gx.c | 3 --- 2 files changed, 6 deletions(-)
diff --git a/arch/arm/mach-meson/board-g12a.c b/arch/arm/mach-meson/board-g12a.c index bfd40fe14f..cc7e01d014 100644 --- a/arch/arm/mach-meson/board-g12a.c +++ b/arch/arm/mach-meson/board-g12a.c @@ -126,9 +126,6 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags) printf("Invalid Ethernet interface mode\n"); return; } - - /* Enable power gate */ - clrbits_le32(G12A_MEM_PD_REG_0, G12A_MEM_PD_REG_0_ETH_MASK); }
#if CONFIG_IS_ENABLED(USB_DWC3_MESON_G12A) && \ diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c index 876405f0d4..cae7af5afb 100644 --- a/arch/arm/mach-meson/board-gx.c +++ b/arch/arm/mach-meson/board-gx.c @@ -142,9 +142,6 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags) printf("Invalid Ethernet interface mode\n"); return; } - - /* Enable power gate */ - clrbits_le32(GX_MEM_PD_REG_0, GX_MEM_PD_REG_0_ETH_MASK); }
#if CONFIG_IS_ENABLED(USB_DWC3_MESON_GXL) && \

The static ethernet link type config code is no more needed because now handled by the meson8b glue driver, delete it.
Signed-off-by: Neil Armstrong narmstrong@baylibre.com --- arch/arm/include/asm/arch-meson/axg.h | 22 ------------- arch/arm/include/asm/arch-meson/eth.h | 12 ------- arch/arm/include/asm/arch-meson/g12a.h | 35 --------------------- arch/arm/include/asm/arch-meson/gx.h | 20 ------------ arch/arm/mach-meson/board-axg.c | 34 -------------------- arch/arm/mach-meson/board-g12a.c | 31 ------------------ arch/arm/mach-meson/board-gx.c | 35 --------------------- board/amlogic/beelink-s922x/beelink-s922x.c | 2 -- board/amlogic/odroid-n2/odroid-n2.c | 2 -- board/amlogic/p200/p200.c | 2 -- board/amlogic/p201/p201.c | 2 -- board/amlogic/p212/p212.c | 3 -- board/amlogic/q200/q200.c | 2 -- board/amlogic/s400/s400.c | 2 -- board/amlogic/sei510/sei510.c | 3 -- board/amlogic/sei610/sei610.c | 3 -- board/amlogic/u200/u200.c | 3 +- board/amlogic/vim3/vim3.c | 2 -- board/amlogic/w400/w400.c | 2 +- 19 files changed, 2 insertions(+), 215 deletions(-)
diff --git a/arch/arm/include/asm/arch-meson/axg.h b/arch/arm/include/asm/arch-meson/axg.h index 91c87696e0..12042de935 100644 --- a/arch/arm/include/asm/arch-meson/axg.h +++ b/arch/arm/include/asm/arch-meson/axg.h @@ -31,26 +31,4 @@ #define AXG_AO_BL31_RSVMEM_SIZE_SHIFT 16 #define AXG_AO_BL32_RSVMEM_SIZE_MASK 0xFFFF
-/* Peripherals registers */ -#define AXG_PERIPHS_ADDR(off) (AXG_PERIPHS_BASE + ((off) << 2)) - -#define AXG_ETH_REG_0 AXG_PERIPHS_ADDR(0x50) -#define AXG_ETH_REG_1 AXG_PERIPHS_ADDR(0x51) - -#define AXG_ETH_REG_0_PHY_INTF_RGMII BIT(0) -#define AXG_ETH_REG_0_PHY_INTF_RMII BIT(2) -#define AXG_ETH_REG_0_TX_PHASE(x) (((x) & 3) << 5) -#define AXG_ETH_REG_0_TX_RATIO(x) (((x) & 7) << 7) -#define AXG_ETH_REG_0_PHY_CLK_EN BIT(10) -#define AXG_ETH_REG_0_INVERT_RMII_CLK BIT(11) -#define AXG_ETH_REG_0_CLK_EN BIT(12) - -/* HIU registers */ -#define AXG_HIU_ADDR(off) (AXG_HIU_BASE + ((off) << 2)) - -#define AXG_MEM_PD_REG_0 AXG_HIU_ADDR(0x40) - -/* Ethernet memory power domain */ -#define AXG_MEM_PD_REG_0_ETH_MASK (BIT(2) | BIT(3)) - #endif /* __AXG_H__ */ diff --git a/arch/arm/include/asm/arch-meson/eth.h b/arch/arm/include/asm/arch-meson/eth.h index f765cd7c4c..c0070615c2 100644 --- a/arch/arm/include/asm/arch-meson/eth.h +++ b/arch/arm/include/asm/arch-meson/eth.h @@ -7,18 +7,6 @@ #ifndef __MESON_ETH_H__ #define __MESON_ETH_H__
-#include <phy.h> - -enum { - /* Use Internal RMII PHY */ - MESON_USE_INTERNAL_RMII_PHY = 1, -}; - -/* Configure the Ethernet MAC with the requested interface mode - * with some optional flags. - */ -void meson_eth_init(phy_interface_t mode, unsigned int flags); - /* Generate an unique MAC address based on the HW serial */ int meson_generate_serial_ethaddr(void);
diff --git a/arch/arm/include/asm/arch-meson/g12a.h b/arch/arm/include/asm/arch-meson/g12a.h index db29cc3a00..ef4f301f7d 100644 --- a/arch/arm/include/asm/arch-meson/g12a.h +++ b/arch/arm/include/asm/arch-meson/g12a.h @@ -32,39 +32,4 @@ #define G12A_AO_BL31_RSVMEM_SIZE_SHIFT 16 #define G12A_AO_BL32_RSVMEM_SIZE_MASK 0xFFFF
-/* Peripherals registers */ -#define G12A_PERIPHS_ADDR(off) (G12A_PERIPHS_BASE + ((off) << 2)) - -#define G12A_ETH_REG_0 G12A_PERIPHS_ADDR(0x50) -#define G12A_ETH_REG_1 G12A_PERIPHS_ADDR(0x51) - -#define G12A_ETH_REG_0_PHY_INTF_RGMII BIT(0) -#define G12A_ETH_REG_0_PHY_INTF_RMII BIT(2) -#define G12A_ETH_REG_0_TX_PHASE(x) (((x) & 3) << 5) -#define G12A_ETH_REG_0_TX_RATIO(x) (((x) & 7) << 7) -#define G12A_ETH_REG_0_PHY_CLK_EN BIT(10) -#define G12A_ETH_REG_0_INVERT_RMII_CLK BIT(11) -#define G12A_ETH_REG_0_CLK_EN BIT(12) - -#define G12A_ETH_PHY_ADDR(off) (G12A_ETH_PHY_BASE + ((off) << 2)) -#define ETH_PLL_CNTL0 G12A_ETH_PHY_ADDR(0x11) -#define ETH_PLL_CNTL1 G12A_ETH_PHY_ADDR(0x12) -#define ETH_PLL_CNTL2 G12A_ETH_PHY_ADDR(0x13) -#define ETH_PLL_CNTL3 G12A_ETH_PHY_ADDR(0x14) -#define ETH_PLL_CNTL4 G12A_ETH_PHY_ADDR(0x15) -#define ETH_PLL_CNTL5 G12A_ETH_PHY_ADDR(0x16) -#define ETH_PLL_CNTL6 G12A_ETH_PHY_ADDR(0x17) -#define ETH_PLL_CNTL7 G12A_ETH_PHY_ADDR(0x18) -#define ETH_PHY_CNTL0 G12A_ETH_PHY_ADDR(0x20) -#define ETH_PHY_CNTL1 G12A_ETH_PHY_ADDR(0x21) -#define ETH_PHY_CNTL2 G12A_ETH_PHY_ADDR(0x22) - -/* HIU registers */ -#define G12A_HIU_ADDR(off) (G12A_HIU_BASE + ((off) << 2)) - -#define G12A_MEM_PD_REG_0 G12A_HIU_ADDR(0x40) - -/* Ethernet memory power domain */ -#define G12A_MEM_PD_REG_0_ETH_MASK (BIT(2) | BIT(3)) - #endif /* __G12A_H__ */ diff --git a/arch/arm/include/asm/arch-meson/gx.h b/arch/arm/include/asm/arch-meson/gx.h index 743d2e8bb9..26ec5d0bc3 100644 --- a/arch/arm/include/asm/arch-meson/gx.h +++ b/arch/arm/include/asm/arch-meson/gx.h @@ -41,24 +41,4 @@ #define GX_GPIO_IN(n) GX_PERIPHS_ADDR(_GX_GPIO_OFF(n) + 1) #define GX_GPIO_OUT(n) GX_PERIPHS_ADDR(_GX_GPIO_OFF(n) + 2)
-#define GX_ETH_REG_0 GX_PERIPHS_ADDR(0x50) -#define GX_ETH_REG_1 GX_PERIPHS_ADDR(0x51) -#define GX_ETH_REG_2 GX_PERIPHS_ADDR(0x56) -#define GX_ETH_REG_3 GX_PERIPHS_ADDR(0x57) - -#define GX_ETH_REG_0_PHY_INTF BIT(0) -#define GX_ETH_REG_0_TX_PHASE(x) (((x) & 3) << 5) -#define GX_ETH_REG_0_TX_RATIO(x) (((x) & 7) << 7) -#define GX_ETH_REG_0_PHY_CLK_EN BIT(10) -#define GX_ETH_REG_0_INVERT_RMII_CLK BIT(11) -#define GX_ETH_REG_0_CLK_EN BIT(12) - -/* HIU registers */ -#define GX_HIU_ADDR(off) (GX_HIU_BASE + ((off) << 2)) - -#define GX_MEM_PD_REG_0 GX_HIU_ADDR(0x40) - -/* Ethernet memory power domain */ -#define GX_MEM_PD_REG_0_ETH_MASK (BIT(2) | BIT(3)) - #endif /* __GX_H__ */ diff --git a/arch/arm/mach-meson/board-axg.c b/arch/arm/mach-meson/board-axg.c index 3b14bc9989..71ac65c636 100644 --- a/arch/arm/mach-meson/board-axg.c +++ b/arch/arm/mach-meson/board-axg.c @@ -91,40 +91,6 @@ static struct mm_region axg_mem_map[] = {
struct mm_region *mem_map = axg_mem_map;
-/* Configure the Ethernet MAC with the requested interface mode - * with some optional flags. - */ -void meson_eth_init(phy_interface_t mode, unsigned int flags) -{ - switch (mode) { - case PHY_INTERFACE_MODE_RGMII: - case PHY_INTERFACE_MODE_RGMII_ID: - case PHY_INTERFACE_MODE_RGMII_RXID: - case PHY_INTERFACE_MODE_RGMII_TXID: - /* Set RGMII mode */ - setbits_le32(AXG_ETH_REG_0, AXG_ETH_REG_0_PHY_INTF_RGMII | - AXG_ETH_REG_0_TX_PHASE(1) | - AXG_ETH_REG_0_TX_RATIO(4) | - AXG_ETH_REG_0_PHY_CLK_EN | - AXG_ETH_REG_0_CLK_EN); - break; - - case PHY_INTERFACE_MODE_RMII: - /* Set RMII mode */ - out_le32(AXG_ETH_REG_0, AXG_ETH_REG_0_PHY_INTF_RMII | - AXG_ETH_REG_0_INVERT_RMII_CLK | - AXG_ETH_REG_0_CLK_EN); - break; - - default: - printf("Invalid Ethernet interface mode\n"); - return; - } - - /* Enable power gate */ - clrbits_le32(AXG_MEM_PD_REG_0, AXG_MEM_PD_REG_0_ETH_MASK); -} - #if CONFIG_IS_ENABLED(USB_DWC3_MESON_GXL) && \ CONFIG_IS_ENABLED(USB_GADGET_DWC2_OTG) static struct dwc2_plat_otg_data meson_gx_dwc2_data; diff --git a/arch/arm/mach-meson/board-g12a.c b/arch/arm/mach-meson/board-g12a.c index cc7e01d014..2e59eee8f7 100644 --- a/arch/arm/mach-meson/board-g12a.c +++ b/arch/arm/mach-meson/board-g12a.c @@ -97,37 +97,6 @@ static struct mm_region g12a_mem_map[] = {
struct mm_region *mem_map = g12a_mem_map;
-/* Configure the Ethernet MAC with the requested interface mode - * with some optional flags. - */ -void meson_eth_init(phy_interface_t mode, unsigned int flags) -{ - switch (mode) { - case PHY_INTERFACE_MODE_RGMII: - case PHY_INTERFACE_MODE_RGMII_ID: - case PHY_INTERFACE_MODE_RGMII_RXID: - case PHY_INTERFACE_MODE_RGMII_TXID: - /* Set RGMII mode */ - setbits_le32(G12A_ETH_REG_0, G12A_ETH_REG_0_PHY_INTF_RGMII | - G12A_ETH_REG_0_TX_PHASE(1) | - G12A_ETH_REG_0_TX_RATIO(4) | - G12A_ETH_REG_0_PHY_CLK_EN | - G12A_ETH_REG_0_CLK_EN); - break; - - case PHY_INTERFACE_MODE_RMII: - /* Set RMII mode */ - out_le32(G12A_ETH_REG_0, G12A_ETH_REG_0_PHY_INTF_RMII | - G12A_ETH_REG_0_INVERT_RMII_CLK | - G12A_ETH_REG_0_CLK_EN); - break; - - default: - printf("Invalid Ethernet interface mode\n"); - return; - } -} - #if CONFIG_IS_ENABLED(USB_DWC3_MESON_G12A) && \ CONFIG_IS_ENABLED(USB_GADGET_DWC2_OTG) static struct dwc2_plat_otg_data meson_g12a_dwc2_data; diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c index cae7af5afb..01fafd81c4 100644 --- a/arch/arm/mach-meson/board-gx.c +++ b/arch/arm/mach-meson/board-gx.c @@ -109,41 +109,6 @@ static struct mm_region gx_mem_map[] = {
struct mm_region *mem_map = gx_mem_map;
-/* Configure the Ethernet MAC with the requested interface mode - * with some optional flags. - */ -void meson_eth_init(phy_interface_t mode, unsigned int flags) -{ - switch (mode) { - case PHY_INTERFACE_MODE_RGMII: - case PHY_INTERFACE_MODE_RGMII_ID: - case PHY_INTERFACE_MODE_RGMII_RXID: - case PHY_INTERFACE_MODE_RGMII_TXID: - /* Set RGMII mode */ - setbits_le32(GX_ETH_REG_0, GX_ETH_REG_0_PHY_INTF | - GX_ETH_REG_0_TX_PHASE(1) | - GX_ETH_REG_0_TX_RATIO(4) | - GX_ETH_REG_0_PHY_CLK_EN | - GX_ETH_REG_0_CLK_EN); - - break; - - case PHY_INTERFACE_MODE_RMII: - /* Set RMII mode */ - out_le32(GX_ETH_REG_0, GX_ETH_REG_0_INVERT_RMII_CLK | - GX_ETH_REG_0_CLK_EN); - - if (!IS_ENABLED(CONFIG_MESON_GXBB)) - writel(0x10110181, GX_ETH_REG_2); - - break; - - default: - printf("Invalid Ethernet interface mode\n"); - return; - } -} - #if CONFIG_IS_ENABLED(USB_DWC3_MESON_GXL) && \ CONFIG_IS_ENABLED(USB_GADGET_DWC2_OTG) static struct dwc2_plat_otg_data meson_gx_dwc2_data; diff --git a/board/amlogic/beelink-s922x/beelink-s922x.c b/board/amlogic/beelink-s922x/beelink-s922x.c index dc0d933a39..bb74426266 100644 --- a/board/amlogic/beelink-s922x/beelink-s922x.c +++ b/board/amlogic/beelink-s922x/beelink-s922x.c @@ -28,8 +28,6 @@ int misc_init_r(void) meson_get_soc_rev(tmp, sizeof(tmp)) > 0) env_set("soc_rev", tmp);
- meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0); - if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, efuse_mac_addr, EFUSE_MAC_SIZE); diff --git a/board/amlogic/odroid-n2/odroid-n2.c b/board/amlogic/odroid-n2/odroid-n2.c index 863975e51b..88a60f34fe 100644 --- a/board/amlogic/odroid-n2/odroid-n2.c +++ b/board/amlogic/odroid-n2/odroid-n2.c @@ -115,8 +115,6 @@ int misc_init_r(void) meson_get_soc_rev(tmp, sizeof(tmp)) > 0) env_set("soc_rev", tmp);
- meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0); - if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, efuse_mac_addr, EFUSE_MAC_SIZE); diff --git a/board/amlogic/p200/p200.c b/board/amlogic/p200/p200.c index 8f1bf8bfda..7c432f9d28 100644 --- a/board/amlogic/p200/p200.c +++ b/board/amlogic/p200/p200.c @@ -25,8 +25,6 @@ int misc_init_r(void) char serial[EFUSE_SN_SIZE]; ssize_t len;
- meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0); - if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, mac_addr, EFUSE_MAC_SIZE); diff --git a/board/amlogic/p201/p201.c b/board/amlogic/p201/p201.c index 597bb71cbf..7c432f9d28 100644 --- a/board/amlogic/p201/p201.c +++ b/board/amlogic/p201/p201.c @@ -25,8 +25,6 @@ int misc_init_r(void) char serial[EFUSE_SN_SIZE]; ssize_t len;
- meson_eth_init(PHY_INTERFACE_MODE_RMII, 0); - if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, mac_addr, EFUSE_MAC_SIZE); diff --git a/board/amlogic/p212/p212.c b/board/amlogic/p212/p212.c index fbc49e9565..fcef90bce5 100644 --- a/board/amlogic/p212/p212.c +++ b/board/amlogic/p212/p212.c @@ -26,9 +26,6 @@ int misc_init_r(void) char serial[EFUSE_SN_SIZE]; ssize_t len;
- meson_eth_init(PHY_INTERFACE_MODE_RMII, - MESON_USE_INTERNAL_RMII_PHY); - if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, mac_addr, EFUSE_MAC_SIZE); diff --git a/board/amlogic/q200/q200.c b/board/amlogic/q200/q200.c index 62e6fa3d19..3aa6d8f200 100644 --- a/board/amlogic/q200/q200.c +++ b/board/amlogic/q200/q200.c @@ -26,8 +26,6 @@ int misc_init_r(void) char serial[EFUSE_SN_SIZE]; ssize_t len;
- meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0); - if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, mac_addr, EFUSE_MAC_SIZE); diff --git a/board/amlogic/s400/s400.c b/board/amlogic/s400/s400.c index b081942dcc..06a9044fd8 100644 --- a/board/amlogic/s400/s400.c +++ b/board/amlogic/s400/s400.c @@ -16,8 +16,6 @@
int misc_init_r(void) { - meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0); - meson_generate_serial_ethaddr();
return 0; diff --git a/board/amlogic/sei510/sei510.c b/board/amlogic/sei510/sei510.c index 5a5148ea68..bb188c21f7 100644 --- a/board/amlogic/sei510/sei510.c +++ b/board/amlogic/sei510/sei510.c @@ -18,9 +18,6 @@
int misc_init_r(void) { - meson_eth_init(PHY_INTERFACE_MODE_RMII, - MESON_USE_INTERNAL_RMII_PHY); - meson_generate_serial_ethaddr();
env_set("serial#", "AMLG12ASEI510"); diff --git a/board/amlogic/sei610/sei610.c b/board/amlogic/sei610/sei610.c index 27dba93582..6490bac9eb 100644 --- a/board/amlogic/sei610/sei610.c +++ b/board/amlogic/sei610/sei610.c @@ -18,9 +18,6 @@
int misc_init_r(void) { - meson_eth_init(PHY_INTERFACE_MODE_RMII, - MESON_USE_INTERNAL_RMII_PHY); - meson_generate_serial_ethaddr();
env_set("serial#", "AMLG12ASEI610"); diff --git a/board/amlogic/u200/u200.c b/board/amlogic/u200/u200.c index 373235d77a..06a9044fd8 100644 --- a/board/amlogic/u200/u200.c +++ b/board/amlogic/u200/u200.c @@ -16,8 +16,7 @@
int misc_init_r(void) { - meson_eth_init(PHY_INTERFACE_MODE_RMII, - MESON_USE_INTERNAL_RMII_PHY); + meson_generate_serial_ethaddr();
return 0; } diff --git a/board/amlogic/vim3/vim3.c b/board/amlogic/vim3/vim3.c index 7b09617cdc..6cd5f2e115 100644 --- a/board/amlogic/vim3/vim3.c +++ b/board/amlogic/vim3/vim3.c @@ -149,8 +149,6 @@ int misc_init_r(void) char efuse_mac_addr[EFUSE_MAC_SIZE], tmp[3]; ssize_t len;
- meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0); - if (!eth_env_get_enetaddr("ethaddr", mac_addr)) { len = meson_sm_read_efuse(EFUSE_MAC_OFFSET, efuse_mac_addr, EFUSE_MAC_SIZE); diff --git a/board/amlogic/w400/w400.c b/board/amlogic/w400/w400.c index 47a51710dc..4199198496 100644 --- a/board/amlogic/w400/w400.c +++ b/board/amlogic/w400/w400.c @@ -14,7 +14,7 @@
int misc_init_r(void) { - meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0); + meson_generate_serial_ethaddr();
return 0; }

On 25/02/2021 09:44, Neil Armstrong wrote:
This serie finally removes the static ethernet link setup, MDIO mux & memory power domain after introduction of :
- "net: add MMIO Register MDIO MUX driver" at [1]
- "net: designware: add DM_MDIO support" at [2]
- "net: add Amlogic Meson G12A MDIO MUX driver" at [3]
- "net: designware: add Amlogic Meson8b & later glue driver" at [4]
These patches makes all this happen automagically thanks to DM_MDIO introduced last year.
This has been tested on libretech-ac and Khadas VIM3 to check to most opposite setups, but the GXBB boards hasn't been tested.
Note, you'll need [1], [2], [3], [4] applied before these patches
[1] https://patchwork.ozlabs.org/project/uboot/patch/20210224140223.2617536-1-na... [2] https://patchwork.ozlabs.org/project/uboot/patch/20210224140239.2617642-1-na... [3] https://patchwork.ozlabs.org/project/uboot/patch/20210224163153.2678768-1-na... [4] https://patchwork.ozlabs.org/project/uboot/patch/20210224193356.2948805-1-na...
Neil Armstrong (7): configs: update Amlogic Meson GXL & GXM config for MDIO MUX configs: update Amlogic Meson G12A, G12B & SM1 configs for MDIO MUX arm: meson: remove static MDIO mux handling configs: meson: use Designware glue driver for Amlogic Meson8b & later SoCs net: designware: remove amlogic compatibles arm: meson: remove static ethernet memory power domain enable arm: meson: remove static ethernet link setup
arch/arm/include/asm/arch-meson/axg.h | 22 ------- arch/arm/include/asm/arch-meson/eth.h | 12 ---- arch/arm/include/asm/arch-meson/g12a.h | 35 ----------- arch/arm/include/asm/arch-meson/gx.h | 20 ------ arch/arm/mach-meson/board-axg.c | 34 ----------- arch/arm/mach-meson/board-g12a.c | 67 --------------------- arch/arm/mach-meson/board-gx.c | 48 --------------- board/amlogic/beelink-s922x/beelink-s922x.c | 2 - board/amlogic/odroid-n2/odroid-n2.c | 2 - board/amlogic/p200/p200.c | 2 - board/amlogic/p201/p201.c | 2 - board/amlogic/p212/p212.c | 3 - board/amlogic/q200/q200.c | 2 - board/amlogic/s400/s400.c | 2 - board/amlogic/sei510/sei510.c | 3 - board/amlogic/sei610/sei610.c | 3 - board/amlogic/u200/u200.c | 3 +- board/amlogic/vim3/vim3.c | 2 - board/amlogic/w400/w400.c | 2 +- configs/beelink-gtking_defconfig | 5 +- configs/beelink-gtkingpro_defconfig | 5 +- configs/khadas-vim2_defconfig | 5 +- configs/khadas-vim3_defconfig | 5 +- configs/khadas-vim3l_defconfig | 5 +- configs/khadas-vim_defconfig | 7 ++- configs/libretech-ac_defconfig | 7 ++- configs/libretech-cc_defconfig | 7 ++- configs/libretech-cc_v2_defconfig | 7 ++- configs/libretech-s905d-pc_defconfig | 5 +- configs/libretech-s912-pc_defconfig | 5 +- configs/nanopi-k2_defconfig | 2 +- configs/odroid-c2_defconfig | 2 +- configs/odroid-c4_defconfig | 5 +- configs/odroid-n2_defconfig | 5 +- configs/p200_defconfig | 2 +- configs/p201_defconfig | 2 +- configs/p212_defconfig | 7 ++- configs/s400_defconfig | 2 +- configs/sei510_defconfig | 7 ++- configs/sei610_defconfig | 7 ++- configs/u200_defconfig | 7 ++- configs/wetek-core2_defconfig | 5 +- drivers/net/designware.c | 3 - 43 files changed, 79 insertions(+), 306 deletions(-)
Applied to u-boot-amlogic-next
participants (1)
-
Neil Armstrong