-From 38faebb811868f9e6734dea7894d0fa5a61f3a22 Mon Sep 17 00:00:00 2001
+From 5512a2e8257b0a733cf90ec247f34094ff31f750 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
-Date: Fri, 29 Jul 2022 15:58:11 +0800
-Subject: [PATCH 02/31] arm: mediatek: add support for MediaTek MT7981 SoC
+Date: Wed, 31 Aug 2022 19:00:20 +0800
+Subject: [PATCH 02/32] arm: mediatek: add support for MediaTek MT7981 SoC
This patch adds basic support for MediaTek MT7981 SoC.
This include the file that will initialize the SoC after boot and its
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
- arch/arm/dts/mt7981.dtsi | 288 ++++++++++++++++++
- arch/arm/mach-mediatek/Kconfig | 12 +-
+ arch/arm/dts/mt7981.dtsi | 293 ++++++++++++++++++
+ arch/arm/mach-mediatek/Kconfig | 13 +-
arch/arm/mach-mediatek/Makefile | 1 +
arch/arm/mach-mediatek/mt7981/Makefile | 4 +
- arch/arm/mach-mediatek/mt7981/init.c | 51 ++++
+ arch/arm/mach-mediatek/mt7981/init.c | 45 +++
arch/arm/mach-mediatek/mt7981/lowlevel_init.S | 32 ++
6 files changed, 387 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/dts/mt7981.dtsi
--- /dev/null
+++ b/arch/arm/dts/mt7981.dtsi
-@@ -0,0 +1,288 @@
+@@ -0,0 +1,293 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2022 MediaTek Inc.
+ u-boot,dm-pre-reloc;
+ };
+
++ hwver: hwver {
++ compatible = "mediatek,hwver";
++ reg = <0x8000000 0x1000>;
++ };
++
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&gic>;
+};
--- a/arch/arm/mach-mediatek/Kconfig
+++ b/arch/arm/mach-mediatek/Kconfig
-@@ -40,6 +40,14 @@ config TARGET_MT7629
+@@ -40,6 +40,15 @@ config TARGET_MT7629
including DDR3, crypto engine, 3x3 11n/ac Wi-Fi, Gigabit Ethernet,
switch, USB3.0, PCIe, UART, SPI, I2C and PWM.
+config TARGET_MT7981
+ bool "MediaTek MT7981 SoC"
+ select ARM64
++ select CPU
+ help
+ The MediaTek MT7981 is a ARM64-based SoC with a dual-core Cortex-A53.
+ including UART, SPI, USB, NAND, SNFI, PWM, Gigabit Ethernet, I2C,
config TARGET_MT7986
bool "MediaTek MT7986 SoC"
select ARM64
-@@ -92,6 +100,7 @@ config SYS_BOARD
+@@ -93,6 +102,7 @@ config SYS_BOARD
default "mt7622" if TARGET_MT7622
default "mt7623" if TARGET_MT7623
default "mt7629" if TARGET_MT7629
default "mt7986" if TARGET_MT7986
default "mt8183" if TARGET_MT8183
default "mt8512" if TARGET_MT8512
-@@ -108,6 +117,7 @@ config SYS_CONFIG_NAME
+@@ -109,6 +119,7 @@ config SYS_CONFIG_NAME
default "mt7622" if TARGET_MT7622
default "mt7623" if TARGET_MT7623
default "mt7629" if TARGET_MT7629
default "mt7986" if TARGET_MT7986
default "mt8183" if TARGET_MT8183
default "mt8512" if TARGET_MT8512
-@@ -123,7 +133,7 @@ config MTK_BROM_HEADER_INFO
+@@ -124,7 +135,7 @@ config MTK_BROM_HEADER_INFO
string
default "media=nor" if TARGET_MT8518 || TARGET_MT8512 || TARGET_MT7629 || TARGET_MT7622
default "media=emmc" if TARGET_MT8516 || TARGET_MT8365 || TARGET_MT8183
+obj-y += lowlevel_init.o
--- /dev/null
+++ b/arch/arm/mach-mediatek/mt7981/init.c
-@@ -0,0 +1,51 @@
+@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2022 MediaTek Inc.
+
+DECLARE_GLOBAL_DATA_PTR;
+
-+int print_cpuinfo(void)
-+{
-+ printf("CPU: MediaTek MT7981\n");
-+ return 0;
-+}
-+
+int dram_init(void)
+{
+ gd->ram_size = get_ram_size((void *)CONFIG_SYS_SDRAM_BASE, SZ_2G);