From patchwork Mon Mar 29 19:27:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabien Parent X-Patchwork-Id: 1459787 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=baylibre-com.20150623.gappssmtp.com header.i=@baylibre-com.20150623.gappssmtp.com header.a=rsa-sha256 header.s=20150623 header.b=by4xrRdt; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F8N0H1QV9z9sVq for ; Tue, 30 Mar 2021 06:28:15 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6A48B82900; Mon, 29 Mar 2021 21:27:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=baylibre-com.20150623.gappssmtp.com header.i=@baylibre-com.20150623.gappssmtp.com header.b="by4xrRdt"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9EB2B828B3; Mon, 29 Mar 2021 21:27:47 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 609F0828B3 for ; Mon, 29 Mar 2021 21:27:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=fparent@baylibre.com Received: by mail-wr1-x432.google.com with SMTP id b9so13944889wrt.8 for ; Mon, 29 Mar 2021 12:27:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=V4oQL0AwCa0qHaRLH0Yf+xeYqsYo1bwha88J3vtbyiY=; b=by4xrRdtx0DIHjN/Kyl3mt/I6kcsE5QmPEa0Kki9SmvsCsMFseDE/WSaUwsbDauE4P pZcY79OpB3GuSIXli6xjWzq3v1SU/i5kpkeq83wx9wHl/hKJfQloknxA/g2/+6mNop+H mUeDXLJAspmC3H84q9idmJnLoh46lw/uraFDIKqemWMWo1fbJ3589jn3quQ5kqBQlhrC 3xUyIu7m13uSCq9Ao2ZvvfrFIjizFbtoJeQ6ZJBAOom962pDnfcPTLJVjHLX6vwsRNfy 290oUNqfokzL7Am906xS45QNNUTUKgcwqdbS1YxAjYuik2ftnjGk1PtFp76+OD+MWPWv n1nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=V4oQL0AwCa0qHaRLH0Yf+xeYqsYo1bwha88J3vtbyiY=; b=hilrlD1DmpycM+xaag/wWbyzgSBvcxcSdeIF/m+u97MPXfNiprrLw0WK5fTEIDEqO6 nFu28f5wp5pee204oXtEceYOWOGN6xPJILM0s/zGYwsWqKvqm6auUk8BJveaPTcpwTfm nTDpUKoHvefZgmt1OEywktn9miz00mzd0/vgP/AvtYsAjZrgcA751ESaat/+VQs84lVt jpl3wAbYz4hYUYprCxVm/DoFs4IDzraopRItsfMLwBuNLEr5RbxznK8mA+EBJmbuBG4P a2JBEUltAB7irL7vU3FGJjmQ/Ux7E02IYfCGJDIKqj8J3Pk00W9WFouRFueHo+vdOeH9 EkGQ== X-Gm-Message-State: AOAM531knoI4tp3eaOx/mMObMfIGjOLGrlJNA6EON280mc9VlTYsYJVx hz58UzhctmqW55mB7990LfpF4Q== X-Google-Smtp-Source: ABdhPJwQWgZT2QHWHL0I2P7UUC5lrgK8MiEblvUtPHQUQJ7JhijcbIqtqkleIfpfy8C4U0YscsxBuQ== X-Received: by 2002:a5d:534b:: with SMTP id t11mr29607582wrv.186.1617046057969; Mon, 29 Mar 2021 12:27:37 -0700 (PDT) Received: from localhost.localdomain ([88.160.162.107]) by smtp.gmail.com with ESMTPSA id i4sm354906wmq.12.2021.03.29.12.27.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Mar 2021 12:27:37 -0700 (PDT) From: Fabien Parent To: Fabien Parent , Ryder Lee , Weijie Gao , Chunfeng Yun , GSS_MTK_Uboot_upstream Cc: mkorpershoek@baylibre.com, u-boot@lists.denx.de Subject: [PATCH 3/3] board: Add MT8175 pumpkin board support Date: Mon, 29 Mar 2021 21:27:30 +0200 Message-Id: <20210329192731.598769-3-fparent@baylibre.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210329192731.598769-1-fparent@baylibre.com> References: <20210329192731.598769-1-fparent@baylibre.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean Add the MT8175 pumpkin board support. Signed-off-by: Fabien Parent Reviewed-by: Chunfeng Yun --- 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 + */ + +/dts-v1/; + +#include +#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 +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 + */ + +#include +#include +#include + +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 + +#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 + +#define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 0) + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "scriptaddr=0x40000000\0" \ + BOOTENV + +#endif