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

Weijie Gao weijie.gao at mediatek.com
Mon Apr 29 09:28:00 UTC 2019


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 at denx.de>
> > Cc: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
> > Signed-off-by: Weijie Gao <weijie.gao at 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 at 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





More information about the U-Boot mailing list