From: Chunfeng Yun <chunfeng.yun@mediatek.com>
To: u-boot@lists.denx.de
Subject: [PATCH 3/3] board: Add MT8175 pumpkin board support
Date: Tue, 30 Mar 2021 10:17:36 +0800 [thread overview]
Message-ID: <1617070656.1101.2.camel@mhfsdcap03> (raw)
In-Reply-To: <20210329192731.598769-3-fparent@baylibre.com>
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 at 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 at 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 at 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
next prev parent reply other threads:[~2021-03-30 2:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-29 19:27 [PATCH 1/3] clk: mediatek: Add MT8175 clock driver Fabien Parent
2021-03-29 19:27 ` [PATCH 2/3] ARM: mediatek: Add MT8175 support Fabien Parent
2021-03-30 2:53 ` Chunfeng Yun
2021-03-30 14:23 ` Fabien Parent
2021-03-29 19:27 ` [PATCH 3/3] board: Add MT8175 pumpkin board support Fabien Parent
2021-03-30 2:17 ` Chunfeng Yun [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-03-30 14:30 [PATCH 1/3] clk: mediatek: Add MT8175 clock driver Fabien Parent
2021-03-30 14:30 ` [PATCH 3/3] board: Add MT8175 pumpkin board support Fabien Parent
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=1617070656.1101.2.camel@mhfsdcap03 \
--to=chunfeng.yun@mediatek.com \
--cc=u-boot@lists.denx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.