Re: [U-Boot] [PATCH v2 04/18] arm: MediaTek: add basic support for MT7629 boards
On Wed, 2018-10-24 at 21:29 -0600, Simon Glass wrote: > Hi Ryder, > > On 12 October 2018 at 01:00, Ryder Lee wrote: > > This adds a general board file based on MT7629 SoCs from MediaTek. > > > > Apart from the generic parts (cpu) we add some low level init codes > > and initialize the early clocks. > > > > Signed-off-by: Ryder Lee > > Signed-off-by: Weijie Gao > > --- > > arch/arm/Kconfig | 14 +++ > > arch/arm/Makefile | 1 + > > arch/arm/include/asm/arch-mediatek/misc.h | 17 > > arch/arm/mach-mediatek/Kconfig| 24 + > > arch/arm/mach-mediatek/Makefile | 6 ++ > > arch/arm/mach-mediatek/cpu.c | 34 +++ > > arch/arm/mach-mediatek/init.h | 11 +++ > > arch/arm/mach-mediatek/mt7629/Makefile| 4 + > > arch/arm/mach-mediatek/mt7629/init.c | 131 > > ++ > > arch/arm/mach-mediatek/mt7629/lowlevel_init.S | 50 ++ > > arch/arm/mach-mediatek/spl.c | 43 + > > board/mediatek/mt7629/Kconfig | 17 > > board/mediatek/mt7629/MAINTAINERS | 7 ++ > > board/mediatek/mt7629/Makefile| 3 + > > board/mediatek/mt7629/mt7629_rfb.c| 16 > > configs/mt7629_rfb_defconfig | 73 ++ > > include/configs/mt7629.h | 62 > > 17 files changed, 513 insertions(+) > > create mode 100644 arch/arm/include/asm/arch-mediatek/misc.h > > create mode 100644 arch/arm/mach-mediatek/Kconfig > > create mode 100644 arch/arm/mach-mediatek/Makefile > > create mode 100644 arch/arm/mach-mediatek/cpu.c > > create mode 100644 arch/arm/mach-mediatek/init.h > > create mode 100644 arch/arm/mach-mediatek/mt7629/Makefile > > create mode 100644 arch/arm/mach-mediatek/mt7629/init.c > > create mode 100644 arch/arm/mach-mediatek/mt7629/lowlevel_init.S > > create mode 100644 arch/arm/mach-mediatek/spl.c > > create mode 100644 board/mediatek/mt7629/Kconfig > > create mode 100644 board/mediatek/mt7629/MAINTAINERS > > create mode 100644 board/mediatek/mt7629/Makefile > > create mode 100644 board/mediatek/mt7629/mt7629_rfb.c > > create mode 100644 configs/mt7629_rfb_defconfig > > create mode 100644 include/configs/mt7629.h > > Looks good. A few nits below > > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > index ccf2a84..eac03f0 100644 > > --- a/arch/arm/Kconfig > > +++ b/arch/arm/Kconfig > > @@ -668,6 +668,18 @@ config ARCH_MESON > > targeted at media players and tablet computers. We currently > > support the S905 (GXBaby) 64-bit SoC. > > > > +config ARCH_MEDIATEK > > + bool "MediaTek SoCs" > > + select DM > > + select OF_CONTROL > > + select SPL_DM if SPL > > + select SPL_LIBCOMMON_SUPPORT if SPL > > + select SPL_LIBGENERIC_SUPPORT if SPL > > + select SPL_OF_CONTROL if SPL > > + select SUPPORT_SPL > > + help > > + Support for the MediaTek SoCs family. > > Please add more info. What type of SoCs are these? What are the > capabilities? Link to web site? datasheets? wiki? Or maybe point to a > doc/README.mediatek? > > > + > > config ARCH_MX8M > > bool "NXP i.MX8M platform" > > select ARM64 > > @@ -1423,6 +1435,8 @@ source "arch/arm/mach-rmobile/Kconfig" > > > > source "arch/arm/mach-meson/Kconfig" > > > > +source "arch/arm/mach-mediatek/Kconfig" > > + > > source "arch/arm/mach-qemu/Kconfig" > > > > source "arch/arm/mach-rockchip/Kconfig" > > diff --git a/arch/arm/Makefile b/arch/arm/Makefile > > index 8f50560..ddb9618 100644 > > --- a/arch/arm/Makefile > > +++ b/arch/arm/Makefile > > @@ -62,6 +62,7 @@ machine-$(CONFIG_ARCH_K3) += k3 > > machine-$(CONFIG_ARCH_KEYSTONE)+= keystone > > # TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD > > machine-$(CONFIG_KIRKWOOD) += kirkwood > > +machine-$(CONFIG_ARCH_MEDIATEK)+= mediatek > > machine-$(CONFIG_ARCH_MESON) += meson > > machine-$(CONFIG_ARCH_MVEBU) += mvebu > > # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA > > diff --git a/arch/arm/include/asm/arch-mediatek/misc.h > > b/arch/arm/include/asm/arch-mediatek/misc.h > > new file mode 100644 > > index 000..2530e78 > > --- /dev/null > > +++ b/arch/arm/include/asm/arch-mediatek/misc.h > > @@ -0,0 +1,17 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > +/* > > + * Copyright (C) 2018 MediaTek Inc. > > + */ > > + > > +#ifndef __MEDIATEK_MISC_H_ > > +#define __MEDIATEK_MISC_H_ > > + > > +#define VER_BASE 0x0800 > > +#define VER_SIZE 0x10 > > + > > +#define APHW_CODE 0x00 > > +#define APHW_SUBCODE 0x04 > > +#define APHW_VER 0x08 > > +#define APSW_VER 0x0c > > + > > +#endif /* __MEDIATEK_MISC_H_ */ > > diff --git
Re: [U-Boot] [PATCH v2 04/18] arm: MediaTek: add basic support for MT7629 boards
Hi Ryder, On 12 October 2018 at 01:00, Ryder Lee wrote: > This adds a general board file based on MT7629 SoCs from MediaTek. > > Apart from the generic parts (cpu) we add some low level init codes > and initialize the early clocks. > > Signed-off-by: Ryder Lee > Signed-off-by: Weijie Gao > --- > arch/arm/Kconfig | 14 +++ > arch/arm/Makefile | 1 + > arch/arm/include/asm/arch-mediatek/misc.h | 17 > arch/arm/mach-mediatek/Kconfig| 24 + > arch/arm/mach-mediatek/Makefile | 6 ++ > arch/arm/mach-mediatek/cpu.c | 34 +++ > arch/arm/mach-mediatek/init.h | 11 +++ > arch/arm/mach-mediatek/mt7629/Makefile| 4 + > arch/arm/mach-mediatek/mt7629/init.c | 131 > ++ > arch/arm/mach-mediatek/mt7629/lowlevel_init.S | 50 ++ > arch/arm/mach-mediatek/spl.c | 43 + > board/mediatek/mt7629/Kconfig | 17 > board/mediatek/mt7629/MAINTAINERS | 7 ++ > board/mediatek/mt7629/Makefile| 3 + > board/mediatek/mt7629/mt7629_rfb.c| 16 > configs/mt7629_rfb_defconfig | 73 ++ > include/configs/mt7629.h | 62 > 17 files changed, 513 insertions(+) > create mode 100644 arch/arm/include/asm/arch-mediatek/misc.h > create mode 100644 arch/arm/mach-mediatek/Kconfig > create mode 100644 arch/arm/mach-mediatek/Makefile > create mode 100644 arch/arm/mach-mediatek/cpu.c > create mode 100644 arch/arm/mach-mediatek/init.h > create mode 100644 arch/arm/mach-mediatek/mt7629/Makefile > create mode 100644 arch/arm/mach-mediatek/mt7629/init.c > create mode 100644 arch/arm/mach-mediatek/mt7629/lowlevel_init.S > create mode 100644 arch/arm/mach-mediatek/spl.c > create mode 100644 board/mediatek/mt7629/Kconfig > create mode 100644 board/mediatek/mt7629/MAINTAINERS > create mode 100644 board/mediatek/mt7629/Makefile > create mode 100644 board/mediatek/mt7629/mt7629_rfb.c > create mode 100644 configs/mt7629_rfb_defconfig > create mode 100644 include/configs/mt7629.h Looks good. A few nits below > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index ccf2a84..eac03f0 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -668,6 +668,18 @@ config ARCH_MESON > targeted at media players and tablet computers. We currently > support the S905 (GXBaby) 64-bit SoC. > > +config ARCH_MEDIATEK > + bool "MediaTek SoCs" > + select DM > + select OF_CONTROL > + select SPL_DM if SPL > + select SPL_LIBCOMMON_SUPPORT if SPL > + select SPL_LIBGENERIC_SUPPORT if SPL > + select SPL_OF_CONTROL if SPL > + select SUPPORT_SPL > + help > + Support for the MediaTek SoCs family. Please add more info. What type of SoCs are these? What are the capabilities? Link to web site? datasheets? wiki? Or maybe point to a doc/README.mediatek? > + > config ARCH_MX8M > bool "NXP i.MX8M platform" > select ARM64 > @@ -1423,6 +1435,8 @@ source "arch/arm/mach-rmobile/Kconfig" > > source "arch/arm/mach-meson/Kconfig" > > +source "arch/arm/mach-mediatek/Kconfig" > + > source "arch/arm/mach-qemu/Kconfig" > > source "arch/arm/mach-rockchip/Kconfig" > diff --git a/arch/arm/Makefile b/arch/arm/Makefile > index 8f50560..ddb9618 100644 > --- a/arch/arm/Makefile > +++ b/arch/arm/Makefile > @@ -62,6 +62,7 @@ machine-$(CONFIG_ARCH_K3) += k3 > machine-$(CONFIG_ARCH_KEYSTONE)+= keystone > # TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD > machine-$(CONFIG_KIRKWOOD) += kirkwood > +machine-$(CONFIG_ARCH_MEDIATEK)+= mediatek > machine-$(CONFIG_ARCH_MESON) += meson > machine-$(CONFIG_ARCH_MVEBU) += mvebu > # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA > diff --git a/arch/arm/include/asm/arch-mediatek/misc.h > b/arch/arm/include/asm/arch-mediatek/misc.h > new file mode 100644 > index 000..2530e78 > --- /dev/null > +++ b/arch/arm/include/asm/arch-mediatek/misc.h > @@ -0,0 +1,17 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* > + * Copyright (C) 2018 MediaTek Inc. > + */ > + > +#ifndef __MEDIATEK_MISC_H_ > +#define __MEDIATEK_MISC_H_ > + > +#define VER_BASE 0x0800 > +#define VER_SIZE 0x10 > + > +#define APHW_CODE 0x00 > +#define APHW_SUBCODE 0x04 > +#define APHW_VER 0x08 > +#define APSW_VER 0x0c > + > +#endif /* __MEDIATEK_MISC_H_ */ > diff --git a/arch/arm/mach-mediatek/Kconfig b/arch/arm/mach-mediatek/Kconfig > new file mode 100644 > index 000..a932e70 > --- /dev/null > +++ b/arch/arm/mach-mediatek/Kconfig > @@ -0,0 +1,24 @@ > +if ARCH_MEDIATEK > + > +config SYS_SOC > + default "mediatek" > + > +config SYS_VENDOR > + default
[U-Boot] [PATCH v2 04/18] arm: MediaTek: add basic support for MT7629 boards
This adds a general board file based on MT7629 SoCs from MediaTek. Apart from the generic parts (cpu) we add some low level init codes and initialize the early clocks. Signed-off-by: Ryder Lee Signed-off-by: Weijie Gao --- arch/arm/Kconfig | 14 +++ arch/arm/Makefile | 1 + arch/arm/include/asm/arch-mediatek/misc.h | 17 arch/arm/mach-mediatek/Kconfig| 24 + arch/arm/mach-mediatek/Makefile | 6 ++ arch/arm/mach-mediatek/cpu.c | 34 +++ arch/arm/mach-mediatek/init.h | 11 +++ arch/arm/mach-mediatek/mt7629/Makefile| 4 + arch/arm/mach-mediatek/mt7629/init.c | 131 ++ arch/arm/mach-mediatek/mt7629/lowlevel_init.S | 50 ++ arch/arm/mach-mediatek/spl.c | 43 + board/mediatek/mt7629/Kconfig | 17 board/mediatek/mt7629/MAINTAINERS | 7 ++ board/mediatek/mt7629/Makefile| 3 + board/mediatek/mt7629/mt7629_rfb.c| 16 configs/mt7629_rfb_defconfig | 73 ++ include/configs/mt7629.h | 62 17 files changed, 513 insertions(+) create mode 100644 arch/arm/include/asm/arch-mediatek/misc.h create mode 100644 arch/arm/mach-mediatek/Kconfig create mode 100644 arch/arm/mach-mediatek/Makefile create mode 100644 arch/arm/mach-mediatek/cpu.c create mode 100644 arch/arm/mach-mediatek/init.h create mode 100644 arch/arm/mach-mediatek/mt7629/Makefile create mode 100644 arch/arm/mach-mediatek/mt7629/init.c create mode 100644 arch/arm/mach-mediatek/mt7629/lowlevel_init.S create mode 100644 arch/arm/mach-mediatek/spl.c create mode 100644 board/mediatek/mt7629/Kconfig create mode 100644 board/mediatek/mt7629/MAINTAINERS create mode 100644 board/mediatek/mt7629/Makefile create mode 100644 board/mediatek/mt7629/mt7629_rfb.c create mode 100644 configs/mt7629_rfb_defconfig create mode 100644 include/configs/mt7629.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ccf2a84..eac03f0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -668,6 +668,18 @@ config ARCH_MESON targeted at media players and tablet computers. We currently support the S905 (GXBaby) 64-bit SoC. +config ARCH_MEDIATEK + bool "MediaTek SoCs" + select DM + select OF_CONTROL + select SPL_DM if SPL + select SPL_LIBCOMMON_SUPPORT if SPL + select SPL_LIBGENERIC_SUPPORT if SPL + select SPL_OF_CONTROL if SPL + select SUPPORT_SPL + help + Support for the MediaTek SoCs family. + config ARCH_MX8M bool "NXP i.MX8M platform" select ARM64 @@ -1423,6 +1435,8 @@ source "arch/arm/mach-rmobile/Kconfig" source "arch/arm/mach-meson/Kconfig" +source "arch/arm/mach-mediatek/Kconfig" + source "arch/arm/mach-qemu/Kconfig" source "arch/arm/mach-rockchip/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 8f50560..ddb9618 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -62,6 +62,7 @@ machine-$(CONFIG_ARCH_K3) += k3 machine-$(CONFIG_ARCH_KEYSTONE)+= keystone # TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD machine-$(CONFIG_KIRKWOOD) += kirkwood +machine-$(CONFIG_ARCH_MEDIATEK)+= mediatek machine-$(CONFIG_ARCH_MESON) += meson machine-$(CONFIG_ARCH_MVEBU) += mvebu # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA diff --git a/arch/arm/include/asm/arch-mediatek/misc.h b/arch/arm/include/asm/arch-mediatek/misc.h new file mode 100644 index 000..2530e78 --- /dev/null +++ b/arch/arm/include/asm/arch-mediatek/misc.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2018 MediaTek Inc. + */ + +#ifndef __MEDIATEK_MISC_H_ +#define __MEDIATEK_MISC_H_ + +#define VER_BASE 0x0800 +#define VER_SIZE 0x10 + +#define APHW_CODE 0x00 +#define APHW_SUBCODE 0x04 +#define APHW_VER 0x08 +#define APSW_VER 0x0c + +#endif /* __MEDIATEK_MISC_H_ */ diff --git a/arch/arm/mach-mediatek/Kconfig b/arch/arm/mach-mediatek/Kconfig new file mode 100644 index 000..a932e70 --- /dev/null +++ b/arch/arm/mach-mediatek/Kconfig @@ -0,0 +1,24 @@ +if ARCH_MEDIATEK + +config SYS_SOC + default "mediatek" + +config SYS_VENDOR + default "mediatek" + +choice + prompt "MediaTek board select" + +config TARGET_MT7629 + bool "MediaTek MT7629 SoC" + select CPU_V7A + select SPL + select ARCH_MISC_INIT + help + Support MediaTek MT7629 SoC. + +endchoice + +source "board/mediatek/mt7629/Kconfig" + +endif diff --git a/arch/arm/mach-mediatek/Makefile b/arch/arm/mach-mediatek/Makefile new file mode 100644 index 000..852d330 --- /dev/null +++ b/arch/arm/mach-mediatek/Makefile @@