diff mbox series

[3/3] board: Add MT8175 pumpkin board support

Message ID 20210329192731.598769-3-fparent@baylibre.com
State Superseded
Delegated to: Tom Rini
Headers show
Series [1/3] clk: mediatek: Add MT8175 clock driver | expand

Commit Message

Fabien Parent March 29, 2021, 7:27 p.m. UTC
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

Comments

Chunfeng Yun (云春峰) March 30, 2021, 2:17 a.m. UTC | #1
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 = <&reg_3p3v>;
> +	vqmmc-supply = <&reg_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
diff mbox series

Patch

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 = <&reg_3p3v>;
+	vqmmc-supply = <&reg_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