
On Mon, 2021-03-29 at 21:27 +0200, Fabien Parent wrote:
Add the MT8175 pumpkin board support.
Signed-off-by: Fabien Parent fparent@baylibre.com
arch/arm/dts/Makefile | 1 + arch/arm/dts/mt8175-pumpkin.dts | 95 ++++++++++++++++++++++++++ board/mediatek/mt8175/Kconfig | 13 ++++ board/mediatek/mt8175/MAINTAINERS | 6 ++ board/mediatek/mt8175/Makefile | 3 + board/mediatek/mt8175/mt8175_pumpkin.c | 28 ++++++++ configs/mt8175_pumpkin_defconfig | 81 ++++++++++++++++++++++ include/configs/mt8175.h | 41 +++++++++++ 8 files changed, 268 insertions(+) create mode 100644 arch/arm/dts/mt8175-pumpkin.dts create mode 100644 board/mediatek/mt8175/Kconfig create mode 100644 board/mediatek/mt8175/MAINTAINERS create mode 100644 board/mediatek/mt8175/Makefile create mode 100644 board/mediatek/mt8175/mt8175_pumpkin.c create mode 100644 configs/mt8175_pumpkin_defconfig create mode 100644 include/configs/mt8175.h
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 9a8de46272a2..18f6763d569a 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -1013,6 +1013,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \ mt7622-bananapi-bpi-r64.dtb \ mt7623n-bananapi-bpi-r2.dtb \ mt7629-rfb.dtb \
- mt8175-pumpkin.dtb \ mt8183-pumpkin.dtb \ mt8512-bm1-emmc.dtb \ mt8516-pumpkin.dtb \
diff --git a/arch/arm/dts/mt8175-pumpkin.dts b/arch/arm/dts/mt8175-pumpkin.dts new file mode 100644 index 000000000000..9c5bc845a781 --- /dev/null +++ b/arch/arm/dts/mt8175-pumpkin.dts @@ -0,0 +1,95 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/*
- Copyright (C) 2021 BayLibre SAS.
- Author: Fabien Parent fparent@baylibre.com
- */
+/dts-v1/;
+#include <config.h> +#include "mt8175.dtsi"
+/ {
- model = "MT8175 pumpkin board";
- compatible = "mediatek,mt8175-pumpkin", "mediatek,mt8175";
- memory@40000000 {
device_type = "memory";
reg = <0 0x40000000 0 0x40000000>;
- };
- reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
/* 192 KiB reserved for ARM Trusted Firmware (BL31) */
bl31_secmon_reserved: secmon@43000000 {
no-map;
reg = <0 0x43000000 0 0x30000>;
};
/* 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;
- };
+};
+&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";
+}; diff --git a/board/mediatek/mt8175/Kconfig b/board/mediatek/mt8175/Kconfig new file mode 100644 index 000000000000..00fd6c9c7f6e --- /dev/null +++ b/board/mediatek/mt8175/Kconfig @@ -0,0 +1,13 @@ +if TARGET_MT8175
+config SYS_BOARD
- default "mt8175"
+config SYS_CONFIG_NAME
- default "mt8175"
+config MTK_BROM_HEADER_INFO
- string
- default "media=emmc"
+endif diff --git a/board/mediatek/mt8175/MAINTAINERS b/board/mediatek/mt8175/MAINTAINERS new file mode 100644 index 000000000000..1d2c966a8b44 --- /dev/null +++ b/board/mediatek/mt8175/MAINTAINERS @@ -0,0 +1,6 @@ +MT8175 Pumpkin +M: Fabien Parent fparent@baylibre.com +S: Maintained +F: board/mediatek/mt8175 +F: include/configs/mt8175.h +F: configs/mt8175_pumpkin_defconfig diff --git a/board/mediatek/mt8175/Makefile b/board/mediatek/mt8175/Makefile new file mode 100644 index 000000000000..65fb3a6cb42c --- /dev/null +++ b/board/mediatek/mt8175/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0
+obj-y += mt8175_pumpkin.o diff --git a/board/mediatek/mt8175/mt8175_pumpkin.c b/board/mediatek/mt8175/mt8175_pumpkin.c new file mode 100644 index 000000000000..f071089cd44a --- /dev/null +++ b/board/mediatek/mt8175/mt8175_pumpkin.c @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0 +/*
- Copyright (C) 2021 BayLibre SAS
- Author: Fabien Parent fparent@baylibre.com
- */
+#include <common.h> +#include <dm.h> +#include <net.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();
- return 0;
+} diff --git a/configs/mt8175_pumpkin_defconfig b/configs/mt8175_pumpkin_defconfig new file mode 100644 index 000000000000..9d17659c9691 --- /dev/null +++ b/configs/mt8175_pumpkin_defconfig @@ -0,0 +1,81 @@ +CONFIG_ARM=y +CONFIG_POSITION_INDEPENDENT=y +CONFIG_ARCH_MEDIATEK=y +CONFIG_SYS_TEXT_BASE=0x4c000000 +CONFIG_SYS_MALLOC_F_LEN=0x4000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_ENV_SIZE=0x1000 +CONFIG_ENV_OFFSET=0x0 +CONFIG_DM_GPIO=y +CONFIG_TARGET_MT8175=y +CONFIG_DEBUG_UART_BASE=0x11002000 +CONFIG_DEBUG_UART_CLOCK=26000000 +# CONFIG_PSCI_RESET is not set +CONFIG_DEFAULT_DEVICE_TREE="mt8175-pumpkin" +CONFIG_DEBUG_UART=y +# CONFIG_ANDROID_BOOT_IMAGE is not set +CONFIG_FIT=y +# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set +CONFIG_DEFAULT_FDT_FILE="mt8175-pumpkin" +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_HUSH_PARSER=y +# CONFIG_CMD_BDI is not set +# 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_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_ITEST is not set +# CONFIG_CMD_SETEXPR is not set +# CONFIG_CMD_BLOCK_CACHE is not set +CONFIG_CMD_EXT4=y +CONFIG_CMD_FS_GENERIC=y +CONFIG_ENV_IS_IN_MMC=y +CONFIG_SYS_MMC_ENV_PART=2 +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=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_DM_MMC=y +# CONFIG_MMC_QUIRKS is not set +CONFIG_MMC_MTK=y +CONFIG_DM_ETH=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=y +CONFIG_DM_USB_GADGET=y +CONFIG_USB_MTU3=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_REGEX is not set +CONFIG_OF_LIBFDT_OVERLAY=y +# CONFIG_EFI_LOADER is not set diff --git a/include/configs/mt8175.h b/include/configs/mt8175.h new file mode 100644 index 000000000000..1f7a8032a65f --- /dev/null +++ b/include/configs/mt8175.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/*
- Configuration for MT8175 based boards
- Copyright (C) 2021 BayLibre, SAS
- Author: Fabien Parent <fparent@baylibre.com
- */
+#ifndef __MT8175_H +#define __MT8175_H
+#include <linux/sizes.h>
+#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_TEXT_BASE +#define CONFIG_SYS_MALLOC_LEN SZ_4M
+#define CONFIG_CPU_ARMV8 +#define COUNTER_FREQUENCY 13000000
+#define CONFIG_SYS_NS16550_SERIAL +#define CONFIG_SYS_NS16550_REG_SIZE -4 +#define CONFIG_SYS_NS16550_MEM32 +#define CONFIG_SYS_NS16550_COM1 0x11005200 +#define CONFIG_SYS_NS16550_CLK 26000000
+#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + SZ_2M - \
GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_BOOTM_LEN SZ_64M
+/* Environment settings */ +#include <config_distro_bootcmd.h>
+#define BOOT_TARGET_DEVICES(func) \
- func(MMC, mmc, 0)
+#define CONFIG_EXTRA_ENV_SETTINGS \
- "scriptaddr=0x40000000\0" \
- BOOTENV
+#endif
For usb related:
Reviewed-by: Chunfeng Yun chunfeng.yun@mediatek.com
Thanks a lot