From: Macpaul Lin <macpaul.lin@mediatek.com>
To: Chunfeng Yun <Chunfeng.Yun@mediatek.com>,
"fparent @ baylibre . com" <fparent@baylibre.com>,
"marex @ denx . de" <marex@denx.de>,
"sjg @ chromium . org" <sjg@chromium.org>,
"marcel . ziswiler @ toradex . com" <marcel.ziswiler@toradex.com>,
"aouledameur @ baylibre . com" <aouledameur@baylibre.com>,
"frieder . schrempf @ kontron . de" <frieder.schrempf@kontron.de>,
"philippe . reynes @ softathome . com"
<philippe.reynes@softathome.com>,
"u-boot @ lists . denx . de" <u-boot@lists.denx.de>,
GSS_MTK_Uboot_upstream <GSS_MTK_Uboot_upstream@mediatek.com>,
"william . zhang @ broadcom . com" <william.zhang@broadcom.com>,
"samuel @ sholland . org" <samuel@sholland.org>,
"festevam @ denx . de" <festevam@denx.de>,
Weijie Gao <Weijie.Gao@mediatek.com>,
Ryder Lee <Ryder.Lee@mediatek.com>,
"paul . liu @ linaro . org" <paul.liu@linaro.org>
Cc: Miles Chen <miles.chen@mediatek.com>,
Bear Wang <bear.wang@mediatek.com>,
Pablo Sun <pablo.sun@mediatek.com>,
Macpaul Lin <macpaul.lin@mediatek.com>,
Macpaul Lin <macpaul@gmail.com>
Subject: [PATCH v2 2/2] board: mediatek: add mt8195 demo board
Date: Wed, 9 Nov 2022 17:50:54 +0800 [thread overview]
Message-ID: <20221109095054.32050-2-macpaul.lin@mediatek.com> (raw)
In-Reply-To: <20221109095054.32050-1-macpaul.lin@mediatek.com>
From: Fabien Parent <fparent@baylibre.com>
Add mt8195-demo board support.
This demo purpose board uses MediaTek's MT8195 SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Amjad Ouled-Ameur <aouledameur@baylibre.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
---
MAINTAINERS | 1 +
arch/arm/dts/Makefile | 1 +
arch/arm/dts/mt8195-demo.dts | 109 ++++++++++++++++++++++++++++
board/mediatek/mt8195/MAINTAINERS | 6 ++
board/mediatek/mt8195/Makefile | 3 +
board/mediatek/mt8195/mt8195_demo.c | 38 ++++++++++
configs/mt8195_demo_defconfig | 89 +++++++++++++++++++++++
include/configs/mt8195.h | 34 +++++++++
8 files changed, 281 insertions(+)
create mode 100644 arch/arm/dts/mt8195-demo.dts
create mode 100644 board/mediatek/mt8195/MAINTAINERS
create mode 100644 board/mediatek/mt8195/Makefile
create mode 100644 board/mediatek/mt8195/mt8195_demo.c
create mode 100644 configs/mt8195_demo_defconfig
create mode 100644 include/configs/mt8195.h
Changes for v2:
- no change.
diff --git a/MAINTAINERS b/MAINTAINERS
index 5528dd28c3..5aaeeb02cb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -389,6 +389,7 @@ F: drivers/watchdog/mtk_wdt.c
F: drivers/net/mtk_eth.c
F: drivers/net/mtk_eth.h
F: drivers/reset/reset-mediatek.c
+F: include/configs/mt8195.h
F: tools/mtk_image.c
F: tools/mtk_image.h
F: tools/mtk_nand_headers.c
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 791838733c..994f7ebcc0 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -1271,6 +1271,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
mt7986a-emmc-rfb.dtb \
mt7986b-emmc-rfb.dtb \
mt8183-pumpkin.dtb \
+ mt8195-demo.dtb \
mt8512-bm1-emmc.dtb \
mt8516-pumpkin.dtb \
mt8518-ap1-emmc.dtb
diff --git a/arch/arm/dts/mt8195-demo.dts b/arch/arm/dts/mt8195-demo.dts
new file mode 100644
index 0000000000..bd0952b248
--- /dev/null
+++ b/arch/arm/dts/mt8195-demo.dts
@@ -0,0 +1,109 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2022 MediaTek Inc.
+ * Copyright (C) 2022 BayLibre SAS.
+ * Author: Macpaul Lin <macpaul.lin@mediatek.com>
+ * Author: Fabien Parent <fparent@baylibre.com>
+ */
+
+/dts-v1/;
+
+#include <config.h>
+#include "mt8195.dtsi"
+
+/ {
+ model = "MediaTek MT8195 demo board";
+ compatible = "mediatek,mt8195-demo", "mediatek,mt8195";
+
+ memory@40000000 {
+ device_type = "memory";
+ reg = <0 0x40000000 0 0x80000000>;
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ /* 2 MiB reserved for ARM Trusted Firmware (BL31) */
+ bl31_secmon_reserved: secmon@54600000 {
+ no-map;
+ reg = <0 0x54600000 0x0 0x200000>;
+ };
+
+ /* 12 MiB reserved for OP-TEE (BL32)
+ * +-----------------------+ 0x43e0_0000
+ * | SHMEM 2MiB |
+ * +-----------------------+ 0x43c0_0000
+ * | | TA_RAM 8MiB |
+ * + TZDRAM +--------------+ 0x4340_0000
+ * | | TEE_RAM 2MiB |
+ * +-----------------------+ 0x4320_0000
+ */
+ optee_reserved: optee@43200000 {
+ no-map;
+ reg = <0 0x43200000 0 0x00c00000>;
+ };
+ };
+
+ chosen {
+ stdout-path = &uart0;
+ };
+
+ reg_1p8v: regulator-1p8v {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ reg_3p3v: regulator-3p3v {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+};
+
+&watchdog {
+ status = "okay";
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&mmc0 {
+ bus-width = <4>;
+ max-frequency = <200000000>;
+ cap-mmc-highspeed;
+ mmc-hs200-1_8v;
+ cap-mmc-hw-reset;
+ vmmc-supply = <®_3p3v>;
+ vqmmc-supply = <®_1p8v>;
+ non-removable;
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+};
+
+&ssusb {
+ mediatek,force-vbus;
+ maximum-speed = "high-speed";
+ dr_mode = "peripheral";
+ status = "okay";
+};
+
+&xhci0 {
+ status = "okay";
+};
+
+&xhci3 {
+ status = "okay";
+};
diff --git a/board/mediatek/mt8195/MAINTAINERS b/board/mediatek/mt8195/MAINTAINERS
new file mode 100644
index 0000000000..01fa25115d
--- /dev/null
+++ b/board/mediatek/mt8195/MAINTAINERS
@@ -0,0 +1,6 @@
+MT8195 Demo
+M: Macpaul Lin <macpaul.lin@mediatek.com>
+S: Maintained
+F: board/mediatek/mt8195
+F: include/configs/mt8195.h
+F: configs/mt8195_demo_defconfig
diff --git a/board/mediatek/mt8195/Makefile b/board/mediatek/mt8195/Makefile
new file mode 100644
index 0000000000..7e94a87aea
--- /dev/null
+++ b/board/mediatek/mt8195/Makefile
@@ -0,0 +1,3 @@
+# SPDX-License-Identifier: GPL-2.0
+
+obj-y += mt8195_demo.o
diff --git a/board/mediatek/mt8195/mt8195_demo.c b/board/mediatek/mt8195/mt8195_demo.c
new file mode 100644
index 0000000000..b95f5cf28d
--- /dev/null
+++ b/board/mediatek/mt8195/mt8195_demo.c
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2022 BayLibre SAS
+ * Author: Fabien Parent <fparent@baylibre.com>
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <net.h>
+#include <asm/io.h>
+
+int board_init(void)
+{
+ struct udevice *dev;
+ int ret;
+
+ if (CONFIG_IS_ENABLED(USB_GADGET)) {
+ ret = uclass_get_device(UCLASS_USB_GADGET_GENERIC, 0, &dev);
+ if (ret) {
+ pr_err("%s: Cannot find USB device\n", __func__);
+ return ret;
+ }
+ }
+
+ if (CONFIG_IS_ENABLED(USB_ETHER))
+ usb_ether_init();
+
+ printf("Disabling WDT\n");
+ writel(0, 0x10007000);
+
+ printf("Enabling SCP SRAM\n");
+ for (unsigned int val = 0xFFFFFFFF; val != 0U;) {
+ val = val >> 1;
+ writel(val, 0x1072102C);
+ }
+
+ return 0;
+}
diff --git a/configs/mt8195_demo_defconfig b/configs/mt8195_demo_defconfig
new file mode 100644
index 0000000000..5b075b1a27
--- /dev/null
+++ b/configs/mt8195_demo_defconfig
@@ -0,0 +1,89 @@
+CONFIG_ARM=y
+CONFIG_COUNTER_FREQUENCY=13000000
+CONFIG_POSITION_INDEPENDENT=y
+CONFIG_ARCH_MEDIATEK=y
+CONFIG_SYS_MALLOC_F_LEN=0x4000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_ENV_SIZE=0x1000
+CONFIG_ENV_OFFSET=0x0
+CONFIG_DM_GPIO=y
+CONFIG_DEFAULT_DEVICE_TREE="mt8195-demo"
+CONFIG_TARGET_MT8195=y
+CONFIG_DEBUG_UART_BASE=0x11001100
+CONFIG_DEBUG_UART_CLOCK=26000000
+# CONFIG_PSCI_RESET is not set
+CONFIG_SYS_LOAD_ADDR=0x4c000000
+CONFIG_DEBUG_UART=y
+CONFIG_ENV_VARS_UBOOT_CONFIG=y
+CONFIG_FIT=y
+# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
+CONFIG_USE_BOOTCOMMAND=y
+CONFIG_BOOTCOMMAND="run distro_bootcmd"
+CONFIG_DEFAULT_FDT_FILE="mt8195-demo"
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_HUSH_PARSER=y
+# CONFIG_CMD_CONSOLE is not set
+# CONFIG_CMD_BOOTD is not set
+# CONFIG_CMD_BOOTI is not set
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_GO is not set
+# CONFIG_CMD_IMI is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_EDITENV is not set
+# CONFIG_CMD_CRC32 is not set
+# CONFIG_CMD_MEMORY is not set
+CONFIG_CMD_CLK=y
+CONFIG_CMD_DM=y
+CONFIG_CMD_GPT=y
+# CONFIG_RANDOM_UUID is not set
+# CONFIG_CMD_LOADB is not set
+# CONFIG_CMD_LOADS is not set
+CONFIG_CMD_MMC=y
+CONFIG_CMD_PART=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_USB_MASS_STORAGE=y
+# CONFIG_CMD_ITEST is not set
+# CONFIG_CMD_SETEXPR is not set
+# CONFIG_CMD_BLOCK_CACHE is not set
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_ISO_PARTITION=y
+CONFIG_ENV_IS_IN_MMC=y
+CONFIG_SYS_MMC_ENV_PART=2
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_ENV_IMPORT_FDT=y
+CONFIG_DEVRES=y
+CONFIG_CLK=y
+CONFIG_USB_FUNCTION_FASTBOOT=y
+CONFIG_FASTBOOT_BUF_ADDR=0x4d000000
+CONFIG_FASTBOOT_BUF_SIZE=0x8000000
+CONFIG_FASTBOOT_FLASH=y
+CONFIG_FASTBOOT_FLASH_MMC_DEV=0
+CONFIG_FASTBOOT_MMC_BOOT_SUPPORT=y
+# CONFIG_INPUT is not set
+# CONFIG_MMC_QUIRKS is not set
+CONFIG_MMC_MTK=y
+CONFIG_PHY=y
+CONFIG_PHY_MTK_TPHY=y
+CONFIG_BAUDRATE=921600
+CONFIG_DM_SERIAL=y
+CONFIG_DEBUG_UART_ANNOUNCE=y
+CONFIG_MTK_SERIAL=y
+CONFIG_USB=y
+CONFIG_DM_USB_GADGET=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_MTK=y
+CONFIG_USB_MTU3=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_USB_HOST_ETHER=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VENDOR_NUM=0x0e8d
+CONFIG_USB_GADGET_PRODUCT_NUM=0x201c
+CONFIG_USB_ETHER=y
+CONFIG_WDT=y
+CONFIG_WDT_MTK=y
+CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/include/configs/mt8195.h b/include/configs/mt8195.h
new file mode 100644
index 0000000000..22bcf87794
--- /dev/null
+++ b/include/configs/mt8195.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Configuration for MT8195 based boards
+ *
+ * Copyright (C) 2022 MediaTek Inc.
+ * Copyright (C) 2022 BayLibre, SAS
+ * Author: Fabien Parent <macpaul.lin@mediatek.com>
+ * Author: Fabien Parent <fparent@baylibre.com>
+ */
+
+#ifndef __MT8195_H
+#define __MT8195_H
+
+#include <linux/sizes.h>
+
+#define CONFIG_SYS_NS16550_SERIAL
+#define CONFIG_SYS_NS16550_REG_SIZE -4
+#define CONFIG_SYS_NS16550_MEM32
+#define CONFIG_SYS_NS16550_COM1 0x11002000
+#define CONFIG_SYS_NS16550_CLK 26000000
+
+/* Environment settings */
+#include <config_distro_bootcmd.h>
+
+#define BOOT_TARGET_DEVICES(func) \
+ func(MMC, mmc, 0)
+
+#if !defined(CONFIG_EXTRA_ENV_SETTINGS)
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "scriptaddr=0x40000000\0" \
+ BOOTENV
+#endif
+
+#endif
--
2.18.0
next prev parent reply other threads:[~2022-11-09 9:51 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-08 3:21 [PATCH 1/2] arm: mediatek: add mt8195 SOC support Macpaul Lin
2022-11-08 3:21 ` [PATCH 2/2] board: mediatek: add mt8195 demo board Macpaul Lin
2022-11-08 7:57 ` [PATCH 1/2] arm: mediatek: add mt8195 SOC support Pali Rohár
2022-11-09 7:10 ` Macpaul Lin
2022-11-09 20:09 ` Pali Rohár
2022-11-09 21:12 ` Tom Rini
2022-11-09 2:07 ` Chunfeng Yun (云春峰)
2022-11-09 7:32 ` Macpaul Lin
2022-11-09 9:33 ` Macpaul Lin
2022-11-09 13:00 ` Chunfeng Yun (云春峰)
2022-11-09 9:50 ` [PATCH v2 " Macpaul Lin
2022-11-09 9:50 ` Macpaul Lin [this message]
2022-11-09 13:06 ` Chunfeng Yun (云春峰)
2022-11-10 7:34 ` [PATCH v3 " Macpaul Lin
2022-11-10 7:34 ` [PATCH v3 2/2] board: mediatek: add mt8195 demo board Macpaul Lin
2022-12-12 16:53 ` Tom Rini
2022-12-12 18:53 ` Tom Rini
2022-12-12 19:02 ` Tom Rini
2022-12-19 3:36 ` Macpaul Lin
2023-01-02 19:15 ` Tom Rini
2022-11-10 13:50 ` [PATCH v3 1/2] arm: mediatek: add mt8195 SOC support Chunfeng Yun (云春峰)
2022-12-19 6:43 ` [PATCH v4 " Macpaul Lin
2022-12-19 6:43 ` [PATCH v4 2/2] board: mediatek: add mt8195 demo board Macpaul Lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221109095054.32050-2-macpaul.lin@mediatek.com \
--to=macpaul.lin@mediatek.com \
--cc=Chunfeng.Yun@mediatek.com \
--cc=GSS_MTK_Uboot_upstream@mediatek.com \
--cc=Ryder.Lee@mediatek.com \
--cc=Weijie.Gao@mediatek.com \
--cc=aouledameur@baylibre.com \
--cc=bear.wang@mediatek.com \
--cc=festevam@denx.de \
--cc=fparent@baylibre.com \
--cc=frieder.schrempf@kontron.de \
--cc=macpaul@gmail.com \
--cc=marcel.ziswiler@toradex.com \
--cc=marex@denx.de \
--cc=miles.chen@mediatek.com \
--cc=pablo.sun@mediatek.com \
--cc=paul.liu@linaro.org \
--cc=philippe.reynes@softathome.com \
--cc=samuel@sholland.org \
--cc=sjg@chromium.org \
--cc=u-boot@lists.denx.de \
--cc=william.zhang@broadcom.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox