Add the MT8183 pumpkin board support.
Signed-off-by: Fabien Parent
---
arch/arm/dts/Makefile | 1 +
arch/arm/dts/mt8183-pumpkin.dts| 99 ++
arch/arm/mach-mediatek/Kconfig | 1 +
board/mediatek/mt8183/Kconfig | 13
board/mediatek/mt8183/MAINTAINERS | 6 ++
board/mediatek/mt8183/Makefile | 3 +
board/mediatek/mt8183/mt8183_pumpkin.c | 28
configs/mt8183_pumpkin_defconfig | 81 +
include/configs/mt8183.h | 41 +++
9 files changed, 273 insertions(+)
create mode 100644 arch/arm/dts/mt8183-pumpkin.dts
create mode 100644 board/mediatek/mt8183/Kconfig
create mode 100644 board/mediatek/mt8183/MAINTAINERS
create mode 100644 board/mediatek/mt8183/Makefile
create mode 100644 board/mediatek/mt8183/mt8183_pumpkin.c
create mode 100644 configs/mt8183_pumpkin_defconfig
create mode 100644 include/configs/mt8183.h
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index af2842a0f8bf..782d99316424 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -1000,6 +1000,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
mt7622-bananapi-bpi-r64.dtb \
mt7623n-bananapi-bpi-r2.dtb \
mt7629-rfb.dtb \
+ mt8183-pumpkin.dtb \
mt8512-bm1-emmc.dtb \
mt8516-pumpkin.dtb \
mt8518-ap1-emmc.dtb
diff --git a/arch/arm/dts/mt8183-pumpkin.dts b/arch/arm/dts/mt8183-pumpkin.dts
new file mode 100644
index ..470a7693997d
--- /dev/null
+++ b/arch/arm/dts/mt8183-pumpkin.dts
@@ -0,0 +1,99 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2021 BayLibre SAS.
+ * Author: Fabien Parent
+ */
+
+/dts-v1/;
+
+#include
+#include "mt8183.dtsi"
+
+/ {
+ model = "MediaTek MT8183 pumpkin board";
+ compatible = "mediatek,mt8183-pumpkin", "mediatek,mt8183";
+
+ memory@4000 {
+ device_type = "memory";
+ reg = <0 0x4000 0 0x8000>;
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /* 192 KiB reserved for ARM Trusted Firmware (BL31) */
+ bl31_secmon_reserved: secmon@5460 {
+ no-map;
+ reg = <0 0x5460 0x0 0x3>;
+ };
+
+ /* 12 MiB reserved for OP-TEE (BL32)
+* +---+ 0x43e0_
+* | SHMEM 2MiB |
+* +---+ 0x43c0_
+* || TA_RAM 8MiB |
+* + TZDRAM +--+ 0x4340_
+* || TEE_RAM 2MiB |
+* +---+ 0x4320_
+*/
+ optee_reserved: optee@4320 {
+ no-map;
+ reg = <0 0x4320 0 0x00c0>;
+ };
+ };
+
+ chosen {
+ stdout-path =
+ };
+
+ reg_1p8v: regulator-1p8v {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-1.8V";
+ regulator-min-microvolt = <180>;
+ regulator-max-microvolt = <180>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ reg_3p3v: regulator-3p3v {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-3.3V";
+ regulator-min-microvolt = <330>;
+ regulator-max-microvolt = <330>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+};
+
+ {
+ status = "okay";
+};
+
+ {
+ status = "okay";
+};
+
+ {
+ bus-width = <4>;
+ max-frequency = <2>;
+ cap-mmc-highspeed;
+ mmc-hs200-1_8v;
+ cap-mmc-hw-reset;
+ vmmc-supply = <_3p3v>;
+ vqmmc-supply = <_1p8v>;
+ non-removable;
+ status = "okay";
+};
+
+ {
+ status = "okay";
+};
+
+ {
+ mediatek,force-vbus;
+ maximum-speed = "high-speed";
+ dr_mode = "peripheral";
+ status = "okay";
+};
diff --git a/arch/arm/mach-mediatek/Kconfig b/arch/arm/mach-mediatek/Kconfig
index a035471374b6..18b7756bdf5b 100644
--- a/arch/arm/mach-mediatek/Kconfig
+++ b/arch/arm/mach-mediatek/Kconfig
@@ -84,6 +84,7 @@ endchoice
source "board/mediatek/mt7622/Kconfig"
source "board/mediatek/mt7623/Kconfig"
source "board/mediatek/mt7629/Kconfig"
+source "board/mediatek/mt8183/Kconfig"
source "board/mediatek/mt8512/Kconfig"
source "board/mediatek/mt8516/Kconfig"
source "board/mediatek/mt8518/Kconfig"
diff --git a/board/mediatek/mt8183/Kconfig b/board/mediatek/mt8183/Kconfig
new file mode 100644
index ..b75c3b8d8069
--- /dev/null
+++ b/board/mediatek/mt8183/Kconfig
@@ -0,0 +1,13 @@
+if TARGET_MT8183
+
+config SYS_BOARD
+ default "mt8183"
+
+config SYS_CONFIG_NAME
+ default "mt8183"