diff mbox series

[U-Boot] mips: rename arch mt7620 to mt7628

Message ID 1556444311-10203-1-git-send-email-weijie.gao@mediatek.com
State Superseded
Delegated to: Daniel Schwierzeck
Headers show
Series [U-Boot] mips: rename arch mt7620 to mt7628 | expand

Commit Message

Weijie Gao (高惟杰) April 28, 2019, 9:38 a.m. UTC
The MediaTek MT7620 and MT7628 SoCs are different.
Although they use the same memory controller, the lowlevel code (CPU PLL)
and other peripherals they use are totally different. Which means they
should use seperate mach directories.

Currently the mach mt7620 contains only architecture code of MT7628.
In case we add real arch support of MT7620 in the future, the arch should
be renamed to mt7628, including both Kconfig files and directories.
Other files affected are also modified.

Cc: Stefan Roese <sr@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
 arch/mips/Kconfig                                |  6 +++---
 arch/mips/Makefile                               |  2 +-
 arch/mips/dts/Makefile                           |  2 +-
 arch/mips/{mach-mt7620 => mach-mt7628}/Kconfig   | 16 ++++++++--------
 arch/mips/{mach-mt7620 => mach-mt7628}/Makefile  |  0
 arch/mips/{mach-mt7620 => mach-mt7628}/cpu.c     |  0
 .../{mach-mt7620 => mach-mt7628}/ddr_calibrate.c |  0
 .../{mach-mt7620 => mach-mt7628}/lowlevel_init.S |  0
 arch/mips/{mach-mt7620 => mach-mt7628}/mt76xx.h  |  0
 configs/linkit-smart-7688-ram_defconfig          |  2 +-
 configs/linkit-smart-7688_defconfig              |  2 +-
 drivers/gpio/Kconfig                             |  2 +-
 drivers/net/Kconfig                              |  2 +-
 drivers/spi/Kconfig                              |  2 +-
 drivers/watchdog/Kconfig                         |  2 +-
 15 files changed, 19 insertions(+), 19 deletions(-)
 rename arch/mips/{mach-mt7620 => mach-mt7628}/Kconfig (92%)
 rename arch/mips/{mach-mt7620 => mach-mt7628}/Makefile (100%)
 rename arch/mips/{mach-mt7620 => mach-mt7628}/cpu.c (100%)
 rename arch/mips/{mach-mt7620 => mach-mt7628}/ddr_calibrate.c (100%)
 rename arch/mips/{mach-mt7620 => mach-mt7628}/lowlevel_init.S (100%)
 rename arch/mips/{mach-mt7620 => mach-mt7628}/mt76xx.h (100%)

Comments

Stefan Roese April 29, 2019, 5:08 a.m. UTC | #1
On 28.04.19 11:38, Weijie Gao wrote:
> The MediaTek MT7620 and MT7628 SoCs are different.
> Although they use the same memory controller, the lowlevel code (CPU PLL)
> and other peripherals they use are totally different. Which means they
> should use seperate mach directories.

s/seperate/separate

> Currently the mach mt7620 contains only architecture code of MT7628.
> In case we add real arch support of MT7620 in the future, the arch should
> be renamed to mt7628, including both Kconfig files and directories.
> Other files affected are also modified.

Perhaps it would be possible to support both SoC's (MT7620 and MT7628/88)
in one mach directory? Frankly I don't know the differences in detail, so
its your call.
  
> Cc: Stefan Roese <sr@denx.de>
> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
> ---
>   arch/mips/Kconfig                                |  6 +++---
>   arch/mips/Makefile                               |  2 +-
>   arch/mips/dts/Makefile                           |  2 +-
>   arch/mips/{mach-mt7620 => mach-mt7628}/Kconfig   | 16 ++++++++--------
>   arch/mips/{mach-mt7620 => mach-mt7628}/Makefile  |  0
>   arch/mips/{mach-mt7620 => mach-mt7628}/cpu.c     |  0
>   .../{mach-mt7620 => mach-mt7628}/ddr_calibrate.c |  0
>   .../{mach-mt7620 => mach-mt7628}/lowlevel_init.S |  0
>   arch/mips/{mach-mt7620 => mach-mt7628}/mt76xx.h  |  0
>   configs/linkit-smart-7688-ram_defconfig          |  2 +-
>   configs/linkit-smart-7688_defconfig              |  2 +-

You missed updating the gardena defconfig files:

$ git grep MT7620
configs/gardena-smart-gateway-mt7688-ram_defconfig:CONFIG_ARCH_MT7620=y
configs/gardena-smart-gateway-mt7688_defconfig:CONFIG_ARCH_MT7620=y

Other than this:

Reviewed-by: Stefan Roese <sr@denx.de>

Thanks,
Stefan

>   drivers/gpio/Kconfig                             |  2 +-
>   drivers/net/Kconfig                              |  2 +-
>   drivers/spi/Kconfig                              |  2 +-
>   drivers/watchdog/Kconfig                         |  2 +-
>   15 files changed, 19 insertions(+), 19 deletions(-)
>   rename arch/mips/{mach-mt7620 => mach-mt7628}/Kconfig (92%)
>   rename arch/mips/{mach-mt7620 => mach-mt7628}/Makefile (100%)
>   rename arch/mips/{mach-mt7620 => mach-mt7628}/cpu.c (100%)
>   rename arch/mips/{mach-mt7620 => mach-mt7628}/ddr_calibrate.c (100%)
>   rename arch/mips/{mach-mt7620 => mach-mt7628}/lowlevel_init.S (100%)
>   rename arch/mips/{mach-mt7620 => mach-mt7628}/mt76xx.h (100%)
> 
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 194f4f349e..fc861c8273 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -74,8 +74,8 @@ config ARCH_BMIPS
>   	select SYSRESET
>   	imply CMD_DM
>   
> -config ARCH_MT7620
> -	bool "Support MT7620/7688 SoCs"
> +config ARCH_MT7628
> +	bool "Support MediaTek MT7628/7688 SoCs"
>   	imply CMD_DM
>   	select DISPLAY_CPUINFO
>   	select DM
> @@ -153,7 +153,7 @@ source "arch/mips/mach-mscc/Kconfig"
>   source "arch/mips/mach-bmips/Kconfig"
>   source "arch/mips/mach-jz47xx/Kconfig"
>   source "arch/mips/mach-pic32/Kconfig"
> -source "arch/mips/mach-mt7620/Kconfig"
> +source "arch/mips/mach-mt7628/Kconfig"
>   
>   if MIPS
>   
> diff --git a/arch/mips/Makefile b/arch/mips/Makefile
> index 029d290f1e..da5b9c0e74 100644
> --- a/arch/mips/Makefile
> +++ b/arch/mips/Makefile
> @@ -15,7 +15,7 @@ machine-$(CONFIG_ARCH_ATH79) += ath79
>   machine-$(CONFIG_ARCH_BMIPS) += bmips
>   machine-$(CONFIG_ARCH_JZ47XX) += jz47xx
>   machine-$(CONFIG_MACH_PIC32) += pic32
> -machine-$(CONFIG_ARCH_MT7620) += mt7620
> +machine-$(CONFIG_ARCH_MT7628) += mt7628
>   machine-$(CONFIG_ARCH_MSCC) += mscc
>   
>   machdirs := $(patsubst %,arch/mips/mach-%/,$(machine-y))
> diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile
> index 3522e6cdc8..1c4ad5207d 100644
> --- a/arch/mips/dts/Makefile
> +++ b/arch/mips/dts/Makefile
> @@ -1,6 +1,6 @@
>   # SPDX-License-Identifier: GPL-2.0+
>   
> -dtb-$(CONFIG_ARCH_MT7620) += \
> +dtb-$(CONFIG_ARCH_MT7628) += \
>   	gardena-smart-gateway-mt7688.dtb \
>   	linkit-smart-7688.dtb
>   dtb-$(CONFIG_TARGET_AP121) += ap121.dtb
> diff --git a/arch/mips/mach-mt7620/Kconfig b/arch/mips/mach-mt7628/Kconfig
> similarity index 92%
> rename from arch/mips/mach-mt7620/Kconfig
> rename to arch/mips/mach-mt7628/Kconfig
> index a983443999..6a46640479 100644
> --- a/arch/mips/mach-mt7620/Kconfig
> +++ b/arch/mips/mach-mt7628/Kconfig
> @@ -1,20 +1,20 @@
> -menu "MediaTek MIPS platforms"
> -	depends on ARCH_MT7620
> +menu "MediaTek MT7628/7688 platforms"
> +	depends on ARCH_MT7628
>   
>   config SYS_MALLOC_F_LEN
>   	default 0x1000
>   
>   config SYS_SOC
> -	default "mt7620" if SOC_MT7620
> +	default "mt7628" if SOC_MT7628
>   
>   choice
>   	prompt "MediaTek MIPS SoC select"
>   
> -config SOC_MT7620
> -	bool "MT7620/8"
> +config SOC_MT7628
> +	bool "MT7628/7688"
>   	select MIPS_L1_CACHE_SHIFT_5
>   	help
> -	  This supports MediaTek MIPS MT7620 family.
> +	  This supports MediaTek MT7628/7688 SoCs.
>   
>   endchoice
>   
> @@ -23,7 +23,7 @@ choice
>   
>   config BOARD_GARDENA_SMART_GATEWAY_MT7688
>   	bool "GARDENA smart Gateway"
> -	depends on SOC_MT7620
> +	depends on SOC_MT7628
>   	select BOARD_LATE_INIT
>   	select SUPPORTS_BOOT_RAM
>   	help
> @@ -32,7 +32,7 @@ config BOARD_GARDENA_SMART_GATEWAY_MT7688
>   
>   config BOARD_LINKIT_SMART_7688
>   	bool "LinkIt Smart 7688"
> -	depends on SOC_MT7620
> +	depends on SOC_MT7628
>   	select SUPPORTS_BOOT_RAM
>   	help
>   	  Seeed LinkIt Smart 7688 boards have a MT7688 SoC with 128 MiB of RAM
> diff --git a/arch/mips/mach-mt7620/Makefile b/arch/mips/mach-mt7628/Makefile
> similarity index 100%
> rename from arch/mips/mach-mt7620/Makefile
> rename to arch/mips/mach-mt7628/Makefile
> diff --git a/arch/mips/mach-mt7620/cpu.c b/arch/mips/mach-mt7628/cpu.c
> similarity index 100%
> rename from arch/mips/mach-mt7620/cpu.c
> rename to arch/mips/mach-mt7628/cpu.c
> diff --git a/arch/mips/mach-mt7620/ddr_calibrate.c b/arch/mips/mach-mt7628/ddr_calibrate.c
> similarity index 100%
> rename from arch/mips/mach-mt7620/ddr_calibrate.c
> rename to arch/mips/mach-mt7628/ddr_calibrate.c
> diff --git a/arch/mips/mach-mt7620/lowlevel_init.S b/arch/mips/mach-mt7628/lowlevel_init.S
> similarity index 100%
> rename from arch/mips/mach-mt7620/lowlevel_init.S
> rename to arch/mips/mach-mt7628/lowlevel_init.S
> diff --git a/arch/mips/mach-mt7620/mt76xx.h b/arch/mips/mach-mt7628/mt76xx.h
> similarity index 100%
> rename from arch/mips/mach-mt7620/mt76xx.h
> rename to arch/mips/mach-mt7628/mt76xx.h
> diff --git a/configs/linkit-smart-7688-ram_defconfig b/configs/linkit-smart-7688-ram_defconfig
> index 649db0f67d..6705740fdc 100644
> --- a/configs/linkit-smart-7688-ram_defconfig
> +++ b/configs/linkit-smart-7688-ram_defconfig
> @@ -1,6 +1,6 @@
>   CONFIG_MIPS=y
>   CONFIG_SYS_TEXT_BASE=0x80010000
> -CONFIG_ARCH_MT7620=y
> +CONFIG_ARCH_MT7628=y
>   CONFIG_BOARD_LINKIT_SMART_7688=y
>   # CONFIG_MIPS_BOOT_ENV_LEGACY is not set
>   CONFIG_MIPS_BOOT_FDT=y
> diff --git a/configs/linkit-smart-7688_defconfig b/configs/linkit-smart-7688_defconfig
> index 41aa900e56..d276114a14 100644
> --- a/configs/linkit-smart-7688_defconfig
> +++ b/configs/linkit-smart-7688_defconfig
> @@ -1,6 +1,6 @@
>   CONFIG_MIPS=y
>   CONFIG_SYS_TEXT_BASE=0x9c000000
> -CONFIG_ARCH_MT7620=y
> +CONFIG_ARCH_MT7628=y
>   CONFIG_BOARD_LINKIT_SMART_7688=y
>   CONFIG_BOOT_ROM=y
>   CONFIG_ONBOARD_DDR2_SIZE_1024MBIT=y
> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> index b3e4ecc50e..131ea11cec 100644
> --- a/drivers/gpio/Kconfig
> +++ b/drivers/gpio/Kconfig
> @@ -351,7 +351,7 @@ config MPC8XXX_GPIO
>   
>   config MT7621_GPIO
>   	bool "MediaTek MT7621 GPIO driver"
> -	depends on DM_GPIO && ARCH_MT7620
> +	depends on DM_GPIO && ARCH_MT7628
>   	default y
>   	help
>   	  Say yes here to support MediaTek MT7621 compatible GPIOs.
> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> index 6e436b56ab..0c0932f63a 100644
> --- a/drivers/net/Kconfig
> +++ b/drivers/net/Kconfig
> @@ -269,7 +269,7 @@ config MACB_ZYNQ
>   
>   config MT7628_ETH
>   	bool "MediaTek MT7628 Ethernet Interface"
> -	depends on ARCH_MT7620
> +	depends on ARCH_MT7628
>   	help
>   	  The MediaTek MT7628 ethernet interface is used on MT7628 and
>   	  MT7688 based boards.
> diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
> index fb794adae7..b2b5061490 100644
> --- a/drivers/spi/Kconfig
> +++ b/drivers/spi/Kconfig
> @@ -133,7 +133,7 @@ config MPC8XX_SPI
>   
>   config MT7621_SPI
>   	bool "MediaTek MT7621 SPI driver"
> -	depends on ARCH_MT7620
> +	depends on ARCH_MT7628
>   	help
>   	  Enable the MT7621 SPI driver. This driver can be used to access
>   	  the SPI NOR flash on platforms embedding this Ralink / MediaTek
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index 3bce0aa0b8..0f7d827581 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -143,7 +143,7 @@ config WDT_AT91
>   
>   config WDT_MT7621
>   	bool "MediaTek MT7621 watchdog timer support"
> -	depends on WDT && ARCH_MT7620
> +	depends on WDT && ARCH_MT7628
>   	help
>   	   Select this to enable Ralink / Mediatek watchdog timer,
>   	   which can be found on some MediaTek chips.
> 

Viele Grüße,
Stefan
Weijie Gao (高惟杰) April 29, 2019, 9:28 a.m. UTC | #2
On Mon, 2019-04-29 at 07:08 +0200, Stefan Roese wrote:
> On 28.04.19 11:38, Weijie Gao wrote:
> > The MediaTek MT7620 and MT7628 SoCs are different.
> > Although they use the same memory controller, the lowlevel code (CPU PLL)
> > and other peripherals they use are totally different. Which means they
> > should use seperate mach directories.
> 
> s/seperate/separate
> 
> > Currently the mach mt7620 contains only architecture code of MT7628.
> > In case we add real arch support of MT7620 in the future, the arch should
> > be renamed to mt7628, including both Kconfig files and directories.
> > Other files affected are also modified.
> 
> Perhaps it would be possible to support both SoC's (MT7620 and MT7628/88)
> in one mach directory? Frankly I don't know the differences in detail, so
> its your call.
>   
> > Cc: Stefan Roese <sr@denx.de>
> > Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> > Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
> > ---
> >   arch/mips/Kconfig                                |  6 +++---
> >   arch/mips/Makefile                               |  2 +-
> >   arch/mips/dts/Makefile                           |  2 +-
> >   arch/mips/{mach-mt7620 => mach-mt7628}/Kconfig   | 16 ++++++++--------
> >   arch/mips/{mach-mt7620 => mach-mt7628}/Makefile  |  0
> >   arch/mips/{mach-mt7620 => mach-mt7628}/cpu.c     |  0
> >   .../{mach-mt7620 => mach-mt7628}/ddr_calibrate.c |  0
> >   .../{mach-mt7620 => mach-mt7628}/lowlevel_init.S |  0
> >   arch/mips/{mach-mt7620 => mach-mt7628}/mt76xx.h  |  0
> >   configs/linkit-smart-7688-ram_defconfig          |  2 +-
> >   configs/linkit-smart-7688_defconfig              |  2 +-
> 
> You missed updating the gardena defconfig files:
> 
> $ git grep MT7620
> configs/gardena-smart-gateway-mt7688-ram_defconfig:CONFIG_ARCH_MT7620=y
> configs/gardena-smart-gateway-mt7688_defconfig:CONFIG_ARCH_MT7620=y
> 
> Other than this:
> 
> Reviewed-by: Stefan Roese <sr@denx.de>
> 
> Thanks,
> Stefan
> 
> >   drivers/gpio/Kconfig                             |  2 +-
> >   drivers/net/Kconfig                              |  2 +-
> >   drivers/spi/Kconfig                              |  2 +-
> >   drivers/watchdog/Kconfig                         |  2 +-
> >   15 files changed, 19 insertions(+), 19 deletions(-)
> >   rename arch/mips/{mach-mt7620 => mach-mt7628}/Kconfig (92%)
> >   rename arch/mips/{mach-mt7620 => mach-mt7628}/Makefile (100%)
> >   rename arch/mips/{mach-mt7620 => mach-mt7628}/cpu.c (100%)
> >   rename arch/mips/{mach-mt7620 => mach-mt7628}/ddr_calibrate.c (100%)
> >   rename arch/mips/{mach-mt7620 => mach-mt7628}/lowlevel_init.S (100%)
> >   rename arch/mips/{mach-mt7620 => mach-mt7628}/mt76xx.h (100%)
> > 
> > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> > index 194f4f349e..fc861c8273 100644
> > --- a/arch/mips/Kconfig
> > +++ b/arch/mips/Kconfig
> > @@ -74,8 +74,8 @@ config ARCH_BMIPS
> >   	select SYSRESET
> >   	imply CMD_DM
> >   
> > -config ARCH_MT7620
> > -	bool "Support MT7620/7688 SoCs"
> > +config ARCH_MT7628
> > +	bool "Support MediaTek MT7628/7688 SoCs"
> >   	imply CMD_DM
> >   	select DISPLAY_CPUINFO
> >   	select DM
> > @@ -153,7 +153,7 @@ source "arch/mips/mach-mscc/Kconfig"
> >   source "arch/mips/mach-bmips/Kconfig"
> >   source "arch/mips/mach-jz47xx/Kconfig"
> >   source "arch/mips/mach-pic32/Kconfig"
> > -source "arch/mips/mach-mt7620/Kconfig"
> > +source "arch/mips/mach-mt7628/Kconfig"
> >   
> >   if MIPS
> >   
> > diff --git a/arch/mips/Makefile b/arch/mips/Makefile
> > index 029d290f1e..da5b9c0e74 100644
> > --- a/arch/mips/Makefile
> > +++ b/arch/mips/Makefile
> > @@ -15,7 +15,7 @@ machine-$(CONFIG_ARCH_ATH79) += ath79
> >   machine-$(CONFIG_ARCH_BMIPS) += bmips
> >   machine-$(CONFIG_ARCH_JZ47XX) += jz47xx
> >   machine-$(CONFIG_MACH_PIC32) += pic32
> > -machine-$(CONFIG_ARCH_MT7620) += mt7620
> > +machine-$(CONFIG_ARCH_MT7628) += mt7628
> >   machine-$(CONFIG_ARCH_MSCC) += mscc
> >   
> >   machdirs := $(patsubst %,arch/mips/mach-%/,$(machine-y))
> > diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile
> > index 3522e6cdc8..1c4ad5207d 100644
> > --- a/arch/mips/dts/Makefile
> > +++ b/arch/mips/dts/Makefile
> > @@ -1,6 +1,6 @@
> >   # SPDX-License-Identifier: GPL-2.0+
> >   
> > -dtb-$(CONFIG_ARCH_MT7620) += \
> > +dtb-$(CONFIG_ARCH_MT7628) += \
> >   	gardena-smart-gateway-mt7688.dtb \
> >   	linkit-smart-7688.dtb
> >   dtb-$(CONFIG_TARGET_AP121) += ap121.dtb
> > diff --git a/arch/mips/mach-mt7620/Kconfig b/arch/mips/mach-mt7628/Kconfig
> > similarity index 92%
> > rename from arch/mips/mach-mt7620/Kconfig
> > rename to arch/mips/mach-mt7628/Kconfig
> > index a983443999..6a46640479 100644
> > --- a/arch/mips/mach-mt7620/Kconfig
> > +++ b/arch/mips/mach-mt7628/Kconfig
> > @@ -1,20 +1,20 @@
> > -menu "MediaTek MIPS platforms"
> > -	depends on ARCH_MT7620
> > +menu "MediaTek MT7628/7688 platforms"
> > +	depends on ARCH_MT7628
> >   
> >   config SYS_MALLOC_F_LEN
> >   	default 0x1000
> >   
> >   config SYS_SOC
> > -	default "mt7620" if SOC_MT7620
> > +	default "mt7628" if SOC_MT7628
> >   
> >   choice
> >   	prompt "MediaTek MIPS SoC select"
> >   
> > -config SOC_MT7620
> > -	bool "MT7620/8"
> > +config SOC_MT7628
> > +	bool "MT7628/7688"
> >   	select MIPS_L1_CACHE_SHIFT_5
> >   	help
> > -	  This supports MediaTek MIPS MT7620 family.
> > +	  This supports MediaTek MT7628/7688 SoCs.
> >   
> >   endchoice
> >   
> > @@ -23,7 +23,7 @@ choice
> >   
> >   config BOARD_GARDENA_SMART_GATEWAY_MT7688
> >   	bool "GARDENA smart Gateway"
> > -	depends on SOC_MT7620
> > +	depends on SOC_MT7628
> >   	select BOARD_LATE_INIT
> >   	select SUPPORTS_BOOT_RAM
> >   	help
> > @@ -32,7 +32,7 @@ config BOARD_GARDENA_SMART_GATEWAY_MT7688
> >   
> >   config BOARD_LINKIT_SMART_7688
> >   	bool "LinkIt Smart 7688"
> > -	depends on SOC_MT7620
> > +	depends on SOC_MT7628
> >   	select SUPPORTS_BOOT_RAM
> >   	help
> >   	  Seeed LinkIt Smart 7688 boards have a MT7688 SoC with 128 MiB of RAM
> > diff --git a/arch/mips/mach-mt7620/Makefile b/arch/mips/mach-mt7628/Makefile
> > similarity index 100%
> > rename from arch/mips/mach-mt7620/Makefile
> > rename to arch/mips/mach-mt7628/Makefile
> > diff --git a/arch/mips/mach-mt7620/cpu.c b/arch/mips/mach-mt7628/cpu.c
> > similarity index 100%
> > rename from arch/mips/mach-mt7620/cpu.c
> > rename to arch/mips/mach-mt7628/cpu.c
> > diff --git a/arch/mips/mach-mt7620/ddr_calibrate.c b/arch/mips/mach-mt7628/ddr_calibrate.c
> > similarity index 100%
> > rename from arch/mips/mach-mt7620/ddr_calibrate.c
> > rename to arch/mips/mach-mt7628/ddr_calibrate.c
> > diff --git a/arch/mips/mach-mt7620/lowlevel_init.S b/arch/mips/mach-mt7628/lowlevel_init.S
> > similarity index 100%
> > rename from arch/mips/mach-mt7620/lowlevel_init.S
> > rename to arch/mips/mach-mt7628/lowlevel_init.S
> > diff --git a/arch/mips/mach-mt7620/mt76xx.h b/arch/mips/mach-mt7628/mt76xx.h
> > similarity index 100%
> > rename from arch/mips/mach-mt7620/mt76xx.h
> > rename to arch/mips/mach-mt7628/mt76xx.h
> > diff --git a/configs/linkit-smart-7688-ram_defconfig b/configs/linkit-smart-7688-ram_defconfig
> > index 649db0f67d..6705740fdc 100644
> > --- a/configs/linkit-smart-7688-ram_defconfig
> > +++ b/configs/linkit-smart-7688-ram_defconfig
> > @@ -1,6 +1,6 @@
> >   CONFIG_MIPS=y
> >   CONFIG_SYS_TEXT_BASE=0x80010000
> > -CONFIG_ARCH_MT7620=y
> > +CONFIG_ARCH_MT7628=y
> >   CONFIG_BOARD_LINKIT_SMART_7688=y
> >   # CONFIG_MIPS_BOOT_ENV_LEGACY is not set
> >   CONFIG_MIPS_BOOT_FDT=y
> > diff --git a/configs/linkit-smart-7688_defconfig b/configs/linkit-smart-7688_defconfig
> > index 41aa900e56..d276114a14 100644
> > --- a/configs/linkit-smart-7688_defconfig
> > +++ b/configs/linkit-smart-7688_defconfig
> > @@ -1,6 +1,6 @@
> >   CONFIG_MIPS=y
> >   CONFIG_SYS_TEXT_BASE=0x9c000000
> > -CONFIG_ARCH_MT7620=y
> > +CONFIG_ARCH_MT7628=y
> >   CONFIG_BOARD_LINKIT_SMART_7688=y
> >   CONFIG_BOOT_ROM=y
> >   CONFIG_ONBOARD_DDR2_SIZE_1024MBIT=y
> > diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> > index b3e4ecc50e..131ea11cec 100644
> > --- a/drivers/gpio/Kconfig
> > +++ b/drivers/gpio/Kconfig
> > @@ -351,7 +351,7 @@ config MPC8XXX_GPIO
> >   
> >   config MT7621_GPIO
> >   	bool "MediaTek MT7621 GPIO driver"
> > -	depends on DM_GPIO && ARCH_MT7620
> > +	depends on DM_GPIO && ARCH_MT7628
> >   	default y
> >   	help
> >   	  Say yes here to support MediaTek MT7621 compatible GPIOs.
> > diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> > index 6e436b56ab..0c0932f63a 100644
> > --- a/drivers/net/Kconfig
> > +++ b/drivers/net/Kconfig
> > @@ -269,7 +269,7 @@ config MACB_ZYNQ
> >   
> >   config MT7628_ETH
> >   	bool "MediaTek MT7628 Ethernet Interface"
> > -	depends on ARCH_MT7620
> > +	depends on ARCH_MT7628
> >   	help
> >   	  The MediaTek MT7628 ethernet interface is used on MT7628 and
> >   	  MT7688 based boards.
> > diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
> > index fb794adae7..b2b5061490 100644
> > --- a/drivers/spi/Kconfig
> > +++ b/drivers/spi/Kconfig
> > @@ -133,7 +133,7 @@ config MPC8XX_SPI
> >   
> >   config MT7621_SPI
> >   	bool "MediaTek MT7621 SPI driver"
> > -	depends on ARCH_MT7620
> > +	depends on ARCH_MT7628
> >   	help
> >   	  Enable the MT7621 SPI driver. This driver can be used to access
> >   	  the SPI NOR flash on platforms embedding this Ralink / MediaTek
> > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> > index 3bce0aa0b8..0f7d827581 100644
> > --- a/drivers/watchdog/Kconfig
> > +++ b/drivers/watchdog/Kconfig
> > @@ -143,7 +143,7 @@ config WDT_AT91
> >   
> >   config WDT_MT7621
> >   	bool "MediaTek MT7621 watchdog timer support"
> > -	depends on WDT && ARCH_MT7620
> > +	depends on WDT && ARCH_MT7628
> >   	help
> >   	   Select this to enable Ralink / Mediatek watchdog timer,
> >   	   which can be found on some MediaTek chips.
> > 
> 
> Viele Grüße,
> Stefan
> 

Dear Stefan,

Thanks for pointing out the missing files.

Here is the summary of HW components needed by u-boot for MT7620 and
MT7628:

L1 data cache:            MT7620 can not lock it.
                          MT7628 uses it to do DDR calibration.
CPU frequency (PLL):      MT7620 can change it. MT7628 can't.
                          The PLL registers are different.
DRAM controller:          Near the same.
                          MT7620 can't do calibration.
                          MT7628 has extra PAD configurations.
GPIO controller:          Not the same IP core.
SPI controller:           Not the same IP core.
Frame engine:             Similar IP core, different generation.
Built-in Ethernet switch: Not the same IP core.

So I insist to split them into two mach directory.

Best Regards,

Weijie
Stefan Roese April 29, 2019, 9:40 a.m. UTC | #3
On 29.04.19 11:28, Weijie Gao wrote:
> On Mon, 2019-04-29 at 07:08 +0200, Stefan Roese wrote:
>> On 28.04.19 11:38, Weijie Gao wrote:
>>> The MediaTek MT7620 and MT7628 SoCs are different.
>>> Although they use the same memory controller, the lowlevel code (CPU PLL)
>>> and other peripherals they use are totally different. Which means they
>>> should use seperate mach directories.
>>
>> s/seperate/separate
>>
>>> Currently the mach mt7620 contains only architecture code of MT7628.
>>> In case we add real arch support of MT7620 in the future, the arch should
>>> be renamed to mt7628, including both Kconfig files and directories.
>>> Other files affected are also modified.
>>
>> Perhaps it would be possible to support both SoC's (MT7620 and MT7628/88)
>> in one mach directory? Frankly I don't know the differences in detail, so
>> its your call.

<snip>

> Dear Stefan,
> 
> Thanks for pointing out the missing files.
> 
> Here is the summary of HW components needed by u-boot for MT7620 and
> MT7628:
> 
> L1 data cache:            MT7620 can not lock it.
>                            MT7628 uses it to do DDR calibration.
> CPU frequency (PLL):      MT7620 can change it. MT7628 can't.
>                            The PLL registers are different.
> DRAM controller:          Near the same.
>                            MT7620 can't do calibration.
>                            MT7628 has extra PAD configurations.

These "devices / controllers" are handled in the mach-foo directory.

> GPIO controller:          Not the same IP core.
> SPI controller:           Not the same IP core.
> Frame engine:             Similar IP core, different generation.
> Built-in Ethernet switch: Not the same IP core.

And these controllers are handled in the drivers/foo directly. So any
different IP core (between MT7620 and MT7628) has no effect to the
mach directory.

Please don't misunderstand me. I absolutely agree that we need to
differentiate between those two SoC's. So moving to CONFIG_SOC_MT7628
instead of SOC_MT7620 makes perfect sense. I only want to avoid the
creation of another mach-foo directory, where code might be shared
between both SoC's.

> 
> So I insist to split them into two mach directory.

I see. Okay, lets move forward then with your patch and lets finally
decide if and what can be shared between those SoC's, once (if) support
for the MT7620 arrives in mainline.

BTW: Do you plan on adding support for the MT7620 anytime soon?

Thanks,
Stefan
Daniel Schwierzeck April 29, 2019, 2:27 p.m. UTC | #4
Am 29.04.19 um 11:40 schrieb Stefan Roese:
> On 29.04.19 11:28, Weijie Gao wrote:
>> On Mon, 2019-04-29 at 07:08 +0200, Stefan Roese wrote:
>>> On 28.04.19 11:38, Weijie Gao wrote:
>>>> The MediaTek MT7620 and MT7628 SoCs are different.
>>>> Although they use the same memory controller, the lowlevel code (CPU
>>>> PLL)
>>>> and other peripherals they use are totally different. Which means they
>>>> should use seperate mach directories.
>>>
>>> s/seperate/separate
>>>
>>>> Currently the mach mt7620 contains only architecture code of MT7628.
>>>> In case we add real arch support of MT7620 in the future, the arch
>>>> should
>>>> be renamed to mt7628, including both Kconfig files and directories.
>>>> Other files affected are also modified.
>>>
>>> Perhaps it would be possible to support both SoC's (MT7620 and
>>> MT7628/88)
>>> in one mach directory? Frankly I don't know the differences in
>>> detail, so
>>> its your call.
> 
> <snip>
> 
>> Dear Stefan,
>>
>> Thanks for pointing out the missing files.
>>
>> Here is the summary of HW components needed by u-boot for MT7620 and
>> MT7628:
>>
>> L1 data cache:            MT7620 can not lock it.
>>                            MT7628 uses it to do DDR calibration.
>> CPU frequency (PLL):      MT7620 can change it. MT7628 can't.
>>                            The PLL registers are different.
>> DRAM controller:          Near the same.
>>                            MT7620 can't do calibration.
>>                            MT7628 has extra PAD configurations.
> 
> These "devices / controllers" are handled in the mach-foo directory.
> 
>> GPIO controller:          Not the same IP core.
>> SPI controller:           Not the same IP core.
>> Frame engine:             Similar IP core, different generation.
>> Built-in Ethernet switch: Not the same IP core.
> 
> And these controllers are handled in the drivers/foo directly. So any
> different IP core (between MT7620 and MT7628) has no effect to the
> mach directory.
> 
> Please don't misunderstand me. I absolutely agree that we need to
> differentiate between those two SoC's. So moving to CONFIG_SOC_MT7628
> instead of SOC_MT7620 makes perfect sense. I only want to avoid the
> creation of another mach-foo directory, where code might be shared
> between both SoC's.
> 
>>
>> So I insist to split them into two mach directory.
> 
> I see. Okay, lets move forward then with your patch and lets finally
> decide if and what can be shared between those SoC's, once (if) support
> for the MT7620 arrives in mainline.
> 
> BTW: Do you plan on adding support for the MT7620 anytime soon?
> 

I agree with Stefan, there is no need to create separate mach-
directories. With the power of Kconfig and Kbuild you can easily handle
multiple SoCs within one mach- directory, for instance look at
mach-bmips or mach-mscc. Could you rather rename to mach-mediatek or
mach-mtmips so that we would have the Kconfig symbols ARCH_MEDIATEK and
SOC_MT7628 (plus SOC_MT7620 in the future)? Thanks.

BTW: it's good to see that another vendor in the MIPS area is stepping
up to maintain its products in mainline ;)
Weijie Gao (高惟杰) April 30, 2019, 1:29 a.m. UTC | #5
On Mon, 2019-04-29 at 16:27 +0200, Daniel Schwierzeck wrote:
> 
> Am 29.04.19 um 11:40 schrieb Stefan Roese:
> > On 29.04.19 11:28, Weijie Gao wrote:
> >> On Mon, 2019-04-29 at 07:08 +0200, Stefan Roese wrote:
> >>> On 28.04.19 11:38, Weijie Gao wrote:
> >>>> The MediaTek MT7620 and MT7628 SoCs are different.
> >>>> Although they use the same memory controller, the lowlevel code (CPU
> >>>> PLL)
> >>>> and other peripherals they use are totally different. Which means they
> >>>> should use seperate mach directories.
> >>>
> >>> s/seperate/separate
> >>>
> >>>> Currently the mach mt7620 contains only architecture code of MT7628.
> >>>> In case we add real arch support of MT7620 in the future, the arch
> >>>> should
> >>>> be renamed to mt7628, including both Kconfig files and directories.
> >>>> Other files affected are also modified.
> >>>
> >>> Perhaps it would be possible to support both SoC's (MT7620 and
> >>> MT7628/88)
> >>> in one mach directory? Frankly I don't know the differences in
> >>> detail, so
> >>> its your call.
> > 
> > <snip>
> > 
> >> Dear Stefan,
> >>
> >> Thanks for pointing out the missing files.
> >>
> >> Here is the summary of HW components needed by u-boot for MT7620 and
> >> MT7628:
> >>
> >> L1 data cache:            MT7620 can not lock it.
> >>                            MT7628 uses it to do DDR calibration.
> >> CPU frequency (PLL):      MT7620 can change it. MT7628 can't.
> >>                            The PLL registers are different.
> >> DRAM controller:          Near the same.
> >>                            MT7620 can't do calibration.
> >>                            MT7628 has extra PAD configurations.
> > 
> > These "devices / controllers" are handled in the mach-foo directory.
> > 
> >> GPIO controller:          Not the same IP core.
> >> SPI controller:           Not the same IP core.
> >> Frame engine:             Similar IP core, different generation.
> >> Built-in Ethernet switch: Not the same IP core.
> > 
> > And these controllers are handled in the drivers/foo directly. So any
> > different IP core (between MT7620 and MT7628) has no effect to the
> > mach directory.
> > 
> > Please don't misunderstand me. I absolutely agree that we need to
> > differentiate between those two SoC's. So moving to CONFIG_SOC_MT7628
> > instead of SOC_MT7620 makes perfect sense. I only want to avoid the
> > creation of another mach-foo directory, where code might be shared
> > between both SoC's.
> > 
> >>
> >> So I insist to split them into two mach directory.
> > 
> > I see. Okay, lets move forward then with your patch and lets finally
> > decide if and what can be shared between those SoC's, once (if) support
> > for the MT7620 arrives in mainline.
> > 
> > BTW: Do you plan on adding support for the MT7620 anytime soon?
> > 
> 
> I agree with Stefan, there is no need to create separate mach-
> directories. With the power of Kconfig and Kbuild you can easily handle
> multiple SoCs within one mach- directory, for instance look at
> mach-bmips or mach-mscc. Could you rather rename to mach-mediatek or
> mach-mtmips so that we would have the Kconfig symbols ARCH_MEDIATEK and
> SOC_MT7628 (plus SOC_MT7620 in the future)? Thanks.
> 
> BTW: it's good to see that another vendor in the MIPS area is stepping
> up to maintain its products in mainline ;)
> 

Hi Daniel,

You are right. I forgot I've already submitted a mach- like this:
MediaTek's ARM SoCs - MT7623 and MT7629.

They are both placed in mach-mediatek. A submenu can choose whether to
build MT7623 or MT7629.

ARCH_MEDIATEK is already used. I think ARCH_MTMIPS is just fine. I'll
modify and resubmit the patch.


Hi Stefan,

I'm just starting to rewrite some lowlevel codes for mt7628 in the next
one or two months. Then add support for MT7620.


Best Regards,

Weijie
diff mbox series

Patch

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 194f4f349e..fc861c8273 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -74,8 +74,8 @@  config ARCH_BMIPS
 	select SYSRESET
 	imply CMD_DM
 
-config ARCH_MT7620
-	bool "Support MT7620/7688 SoCs"
+config ARCH_MT7628
+	bool "Support MediaTek MT7628/7688 SoCs"
 	imply CMD_DM
 	select DISPLAY_CPUINFO
 	select DM
@@ -153,7 +153,7 @@  source "arch/mips/mach-mscc/Kconfig"
 source "arch/mips/mach-bmips/Kconfig"
 source "arch/mips/mach-jz47xx/Kconfig"
 source "arch/mips/mach-pic32/Kconfig"
-source "arch/mips/mach-mt7620/Kconfig"
+source "arch/mips/mach-mt7628/Kconfig"
 
 if MIPS
 
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 029d290f1e..da5b9c0e74 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -15,7 +15,7 @@  machine-$(CONFIG_ARCH_ATH79) += ath79
 machine-$(CONFIG_ARCH_BMIPS) += bmips
 machine-$(CONFIG_ARCH_JZ47XX) += jz47xx
 machine-$(CONFIG_MACH_PIC32) += pic32
-machine-$(CONFIG_ARCH_MT7620) += mt7620
+machine-$(CONFIG_ARCH_MT7628) += mt7628
 machine-$(CONFIG_ARCH_MSCC) += mscc
 
 machdirs := $(patsubst %,arch/mips/mach-%/,$(machine-y))
diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile
index 3522e6cdc8..1c4ad5207d 100644
--- a/arch/mips/dts/Makefile
+++ b/arch/mips/dts/Makefile
@@ -1,6 +1,6 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-$(CONFIG_ARCH_MT7620) += \
+dtb-$(CONFIG_ARCH_MT7628) += \
 	gardena-smart-gateway-mt7688.dtb \
 	linkit-smart-7688.dtb
 dtb-$(CONFIG_TARGET_AP121) += ap121.dtb
diff --git a/arch/mips/mach-mt7620/Kconfig b/arch/mips/mach-mt7628/Kconfig
similarity index 92%
rename from arch/mips/mach-mt7620/Kconfig
rename to arch/mips/mach-mt7628/Kconfig
index a983443999..6a46640479 100644
--- a/arch/mips/mach-mt7620/Kconfig
+++ b/arch/mips/mach-mt7628/Kconfig
@@ -1,20 +1,20 @@ 
-menu "MediaTek MIPS platforms"
-	depends on ARCH_MT7620
+menu "MediaTek MT7628/7688 platforms"
+	depends on ARCH_MT7628
 
 config SYS_MALLOC_F_LEN
 	default 0x1000
 
 config SYS_SOC
-	default "mt7620" if SOC_MT7620
+	default "mt7628" if SOC_MT7628
 
 choice
 	prompt "MediaTek MIPS SoC select"
 
-config SOC_MT7620
-	bool "MT7620/8"
+config SOC_MT7628
+	bool "MT7628/7688"
 	select MIPS_L1_CACHE_SHIFT_5
 	help
-	  This supports MediaTek MIPS MT7620 family.
+	  This supports MediaTek MT7628/7688 SoCs.
 
 endchoice
 
@@ -23,7 +23,7 @@  choice
 
 config BOARD_GARDENA_SMART_GATEWAY_MT7688
 	bool "GARDENA smart Gateway"
-	depends on SOC_MT7620
+	depends on SOC_MT7628
 	select BOARD_LATE_INIT
 	select SUPPORTS_BOOT_RAM
 	help
@@ -32,7 +32,7 @@  config BOARD_GARDENA_SMART_GATEWAY_MT7688
 
 config BOARD_LINKIT_SMART_7688
 	bool "LinkIt Smart 7688"
-	depends on SOC_MT7620
+	depends on SOC_MT7628
 	select SUPPORTS_BOOT_RAM
 	help
 	  Seeed LinkIt Smart 7688 boards have a MT7688 SoC with 128 MiB of RAM
diff --git a/arch/mips/mach-mt7620/Makefile b/arch/mips/mach-mt7628/Makefile
similarity index 100%
rename from arch/mips/mach-mt7620/Makefile
rename to arch/mips/mach-mt7628/Makefile
diff --git a/arch/mips/mach-mt7620/cpu.c b/arch/mips/mach-mt7628/cpu.c
similarity index 100%
rename from arch/mips/mach-mt7620/cpu.c
rename to arch/mips/mach-mt7628/cpu.c
diff --git a/arch/mips/mach-mt7620/ddr_calibrate.c b/arch/mips/mach-mt7628/ddr_calibrate.c
similarity index 100%
rename from arch/mips/mach-mt7620/ddr_calibrate.c
rename to arch/mips/mach-mt7628/ddr_calibrate.c
diff --git a/arch/mips/mach-mt7620/lowlevel_init.S b/arch/mips/mach-mt7628/lowlevel_init.S
similarity index 100%
rename from arch/mips/mach-mt7620/lowlevel_init.S
rename to arch/mips/mach-mt7628/lowlevel_init.S
diff --git a/arch/mips/mach-mt7620/mt76xx.h b/arch/mips/mach-mt7628/mt76xx.h
similarity index 100%
rename from arch/mips/mach-mt7620/mt76xx.h
rename to arch/mips/mach-mt7628/mt76xx.h
diff --git a/configs/linkit-smart-7688-ram_defconfig b/configs/linkit-smart-7688-ram_defconfig
index 649db0f67d..6705740fdc 100644
--- a/configs/linkit-smart-7688-ram_defconfig
+++ b/configs/linkit-smart-7688-ram_defconfig
@@ -1,6 +1,6 @@ 
 CONFIG_MIPS=y
 CONFIG_SYS_TEXT_BASE=0x80010000
-CONFIG_ARCH_MT7620=y
+CONFIG_ARCH_MT7628=y
 CONFIG_BOARD_LINKIT_SMART_7688=y
 # CONFIG_MIPS_BOOT_ENV_LEGACY is not set
 CONFIG_MIPS_BOOT_FDT=y
diff --git a/configs/linkit-smart-7688_defconfig b/configs/linkit-smart-7688_defconfig
index 41aa900e56..d276114a14 100644
--- a/configs/linkit-smart-7688_defconfig
+++ b/configs/linkit-smart-7688_defconfig
@@ -1,6 +1,6 @@ 
 CONFIG_MIPS=y
 CONFIG_SYS_TEXT_BASE=0x9c000000
-CONFIG_ARCH_MT7620=y
+CONFIG_ARCH_MT7628=y
 CONFIG_BOARD_LINKIT_SMART_7688=y
 CONFIG_BOOT_ROM=y
 CONFIG_ONBOARD_DDR2_SIZE_1024MBIT=y
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index b3e4ecc50e..131ea11cec 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -351,7 +351,7 @@  config MPC8XXX_GPIO
 
 config MT7621_GPIO
 	bool "MediaTek MT7621 GPIO driver"
-	depends on DM_GPIO && ARCH_MT7620
+	depends on DM_GPIO && ARCH_MT7628
 	default y
 	help
 	  Say yes here to support MediaTek MT7621 compatible GPIOs.
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 6e436b56ab..0c0932f63a 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -269,7 +269,7 @@  config MACB_ZYNQ
 
 config MT7628_ETH
 	bool "MediaTek MT7628 Ethernet Interface"
-	depends on ARCH_MT7620
+	depends on ARCH_MT7628
 	help
 	  The MediaTek MT7628 ethernet interface is used on MT7628 and
 	  MT7688 based boards.
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index fb794adae7..b2b5061490 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -133,7 +133,7 @@  config MPC8XX_SPI
 
 config MT7621_SPI
 	bool "MediaTek MT7621 SPI driver"
-	depends on ARCH_MT7620
+	depends on ARCH_MT7628
 	help
 	  Enable the MT7621 SPI driver. This driver can be used to access
 	  the SPI NOR flash on platforms embedding this Ralink / MediaTek
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 3bce0aa0b8..0f7d827581 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -143,7 +143,7 @@  config WDT_AT91
 
 config WDT_MT7621
 	bool "MediaTek MT7621 watchdog timer support"
-	depends on WDT && ARCH_MT7620
+	depends on WDT && ARCH_MT7628
 	help
 	   Select this to enable Ralink / Mediatek watchdog timer,
 	   which can be found on some MediaTek chips.