All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2] board: mediatek: Add pumpkin board support
       [not found] <20190614121442.21230-1-fparent@baylibre.com>
@ 2019-06-14 12:16 ` Fabien Parent
  2019-06-14 12:47   ` Ryder Lee
  0 siblings, 1 reply; 2+ messages in thread
From: Fabien Parent @ 2019-06-14 12:16 UTC (permalink / raw)
  To: u-boot

+u-boot at lists.denx.de

On Fri, Jun 14, 2019 at 2:14 PM Fabien Parent <fparent@baylibre.com> wrote:
>
> The pumpkin board is made by Gossamer Engineering and is using
> a MediaTek SoC. The board currently comes in two available version:
> MT8516 SoC and MT8167 SoC.
> The board provides the following IOs: eMMC, NAND, SD card, USB type-A,
> Ethernet, Wi-Fi, Bluetooth, Audio (jack out, 2 PDM port, 1 analog in),
> serial over USB, and an expansion header.
>
> Additionally there is a HDMI port, DSI port, and camera port only
> on the MT8167 version of the board.
>
> The board can be powered by battery and/or via a USB Type-C port and
> is using a PMIC MT6392.
>
> The eMMC and NAND are sharing pins and cannot be used together.
>
> This commit is adding the basic boot support for the Pumpkin MT8516
> board on the eMMC.
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> ---
>
> V2:
>         * Set MTK_BROM_HEADER_INFO to 'emmc' since we only support eMMC right now.
>
> ---
>  arch/arm/dts/Makefile              |   3 +-
>  arch/arm/dts/mt8516-pumpkin.dts    | 110 +++++++++++++++++++++++++++++
>  arch/arm/mach-mediatek/Kconfig     |   1 +
>  board/mediatek/pumpkin/Kconfig     |  13 ++++
>  board/mediatek/pumpkin/MAINTAINERS |   6 ++
>  board/mediatek/pumpkin/Makefile    |   3 +
>  board/mediatek/pumpkin/pumpkin.c   |  14 ++++
>  configs/pumpkin_defconfig          |  64 +++++++++++++++++
>  include/configs/pumpkin.h          |  58 +++++++++++++++
>  9 files changed, 271 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/dts/mt8516-pumpkin.dts
>  create mode 100644 board/mediatek/pumpkin/Kconfig
>  create mode 100644 board/mediatek/pumpkin/MAINTAINERS
>  create mode 100644 board/mediatek/pumpkin/Makefile
>  create mode 100644 board/mediatek/pumpkin/pumpkin.c
>  create mode 100644 configs/pumpkin_defconfig
>  create mode 100644 include/configs/pumpkin.h
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 528fb909d5..1f66172530 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -766,7 +766,8 @@ dtb-$(CONFIG_SOC_K3_AM6) += k3-am654-base-board.dtb k3-am654-r5-base-board.dtb
>
>  dtb-$(CONFIG_ARCH_MEDIATEK) += \
>         mt7623n-bananapi-bpi-r2.dtb \
> -       mt7629-rfb.dtb
> +       mt7629-rfb.dtb \
> +       mt8516-pumpkin.dtb
>
>  dtb-$(CONFIG_TARGET_GE_BX50V3) += imx6q-bx50v3.dtb
>  dtb-$(CONFIG_TARGET_MX53PPD) += imx53-ppd.dtb
> diff --git a/arch/arm/dts/mt8516-pumpkin.dts b/arch/arm/dts/mt8516-pumpkin.dts
> new file mode 100644
> index 0000000000..cd43c1f5e3
> --- /dev/null
> +++ b/arch/arm/dts/mt8516-pumpkin.dts
> @@ -0,0 +1,110 @@
> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> +/*
> + * Copyright (C) 2019 BayLibre SAS.
> + * Author: Fabien Parent <fparent@baylibre.com>
> + */
> +
> +/dts-v1/;
> +
> +#include <config.h>
> +#include "mt8516.dtsi"
> +
> +/ {
> +       model = "Pumpkin MT8516";
> +
> +       chosen {
> +               stdout-path = &uart0;
> +       };
> +
> +       memory at 40000000 {
> +               device_type = "memory";
> +               reg = <0x40000000 0x20000000>;
> +       };
> +
> +       reserved-memory {
> +               #address-cells = <2>;
> +               #size-cells = <2>;
> +
> +               /* 128 KiB reserved for ARM Trusted Firmware (BL31) */
> +               bl31_secmon_reserved: secmon at 43000000 {
> +                       no-map;
> +                       reg = <0 0x43000000 0 0x20000>;
> +               };
> +       };
> +
> +       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;
> +       };
> +};
> +
> +&mmc0 {
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&mmc0_pins_default>;
> +       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";
> +};
> +
> +&pinctrl {
> +       mmc0_pins_default: mmc0default {
> +               mux {
> +                       function = "msdc";
> +                       groups =  "msdc0";
> +               };
> +
> +               conf-cmd-data {
> +                       pins = "MSDC0_CMD", "MSDC0_DAT0", "MSDC0_DAT1",
> +                              "MSDC0_DAT2", "MSDC0_DAT3", "MSDC0_DAT4",
> +                              "MSDC0_DAT5", "MSDC0_DAT6", "MSDC0_DAT7";
> +                       input-enable;
> +                       bias-pull-up;
> +               };
> +
> +               conf-clk {
> +                       pins = "MSDC0_CLK";
> +                       bias-pull-down;
> +               };
> +
> +               conf-rst {
> +                       pins = "MSDC0_RSTB";
> +                       bias-pull-up;
> +               };
> +       };
> +
> +       uart0_pins: uart0 {
> +               mux {
> +                       function = "uart";
> +                       groups = "uart0_0_rxd_txd";
> +               };
> +       };
> +};
> +
> +&uart0 {
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&uart0_pins>;
> +       status = "okay";
> +};
> +
> +&watchdog {
> +       status = "okay";
> +};
> diff --git a/arch/arm/mach-mediatek/Kconfig b/arch/arm/mach-mediatek/Kconfig
> index b5e91d4a7d..a7d594f48a 100644
> --- a/arch/arm/mach-mediatek/Kconfig
> +++ b/arch/arm/mach-mediatek/Kconfig
> @@ -45,5 +45,6 @@ endchoice
>
>  source "board/mediatek/mt7623/Kconfig"
>  source "board/mediatek/mt7629/Kconfig"
> +source "board/mediatek/pumpkin/Kconfig"
>
>  endif
> diff --git a/board/mediatek/pumpkin/Kconfig b/board/mediatek/pumpkin/Kconfig
> new file mode 100644
> index 0000000000..fb81fa8906
> --- /dev/null
> +++ b/board/mediatek/pumpkin/Kconfig
> @@ -0,0 +1,13 @@
> +if TARGET_MT8516
> +
> +config SYS_BOARD
> +       default "pumpkin"
> +
> +config SYS_CONFIG_NAME
> +       default "pumpkin"
> +
> +config MTK_BROM_HEADER_INFO
> +       string
> +       default "media=nor"
> +
> +endif
> diff --git a/board/mediatek/pumpkin/MAINTAINERS b/board/mediatek/pumpkin/MAINTAINERS
> new file mode 100644
> index 0000000000..16beadc027
> --- /dev/null
> +++ b/board/mediatek/pumpkin/MAINTAINERS
> @@ -0,0 +1,6 @@
> +Pumpkin
> +M:     Fabien Parent <fparent@baylibre.com>
> +S:     Maintained
> +F:     board/mediatek/pumpkin
> +F:     include/configs/pumpkin.h
> +F:     configs/pumpkin_defconfig
> diff --git a/board/mediatek/pumpkin/Makefile b/board/mediatek/pumpkin/Makefile
> new file mode 100644
> index 0000000000..75fce4a393
> --- /dev/null
> +++ b/board/mediatek/pumpkin/Makefile
> @@ -0,0 +1,3 @@
> +# SPDX-License-Identifier:     GPL-2.0
> +
> +obj-y += pumpkin.o
> diff --git a/board/mediatek/pumpkin/pumpkin.c b/board/mediatek/pumpkin/pumpkin.c
> new file mode 100644
> index 0000000000..c20e91c9e6
> --- /dev/null
> +++ b/board/mediatek/pumpkin/pumpkin.c
> @@ -0,0 +1,14 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2019 BayLibre SAS
> + */
> +
> +#include <common.h>
> +#include <dm.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +int board_init(void)
> +{
> +       return 0;
> +}
> diff --git a/configs/pumpkin_defconfig b/configs/pumpkin_defconfig
> new file mode 100644
> index 0000000000..06e2b8f5b9
> --- /dev/null
> +++ b/configs/pumpkin_defconfig
> @@ -0,0 +1,64 @@
> +CONFIG_ARM=y
> +CONFIG_POSITION_INDEPENDENT=y
> +CONFIG_ARCH_MEDIATEK=y
> +CONFIG_SYS_TEXT_BASE=0x4C000000
> +CONFIG_SYS_MALLOC_F_LEN=0x4000
> +CONFIG_TARGET_MT8516=y
> +CONFIG_NR_DRAM_BANKS=1
> +CONFIG_DEBUG_UART_BASE=0x11005000
> +CONFIG_DEBUG_UART_CLOCK=26000000
> +# CONFIG_PSCI_RESET is not set
> +CONFIG_DEBUG_UART=y
> +CONFIG_FIT=y
> +# CONFIG_FIT_ENABLE_SHA256_SUPPORT is not set
> +# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
> +CONFIG_DEFAULT_FDT_FILE="mt8516-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_ENV_EXISTS is not set
> +# CONFIG_CMD_CRC32 is not set
> +# CONFIG_CMD_MEMORY is not set
> +# CONFIG_CMD_FLASH is not set
> +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_SOURCE is not set
> +# CONFIG_CMD_SETEXPR is not set
> +# CONFIG_CMD_BLOCK_CACHE is not set
> +# CONFIG_CMD_MISC is not set
> +CONFIG_DEFAULT_DEVICE_TREE="mt8516-pumpkin"
> +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
> +# CONFIG_NET is not set
> +CONFIG_SPL_DM_SEQ_ALIAS=y
> +CONFIG_CLK=y
> +CONFIG_DM_GPIO=y
> +# CONFIG_INPUT is not set
> +CONFIG_DM_MMC=y
> +# CONFIG_MMC_QUIRKS is not set
> +CONFIG_MMC_MTK=y
> +CONFIG_PINCTRL=y
> +CONFIG_PINCTRL_MT8516=y
> +CONFIG_RAM=y
> +CONFIG_BAUDRATE=921600
> +CONFIG_DM_SERIAL=y
> +CONFIG_DEBUG_UART_MTK=y
> +CONFIG_DEBUG_UART_ANNOUNCE=y
> +CONFIG_MTK_SERIAL=y
> +CONFIG_WDT=y
> +CONFIG_WDT_MTK=y
> +# CONFIG_EFI_LOADER is not set
> diff --git a/include/configs/pumpkin.h b/include/configs/pumpkin.h
> new file mode 100644
> index 0000000000..b81e587983
> --- /dev/null
> +++ b/include/configs/pumpkin.h
> @@ -0,0 +1,58 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Configuration for Pumpkin board
> + *
> + * Copyright (C) 2019 BayLibre, SAS
> + * Author: Fabien Parent <fparent@baylibre.com
> + */
> +
> +#ifndef __PUMPKIN_H
> +#define __PUMPKIN_H
> +
> +#include <linux/sizes.h>
> +
> +#define CONFIG_ENV_SIZE                        SZ_4K
> +#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                0x11005000
> +#define CONFIG_SYS_NS16550_CLK         26000000
> +
> +#define CONFIG_SYS_UBOOT_START         CONFIG_SYS_TEXT_BASE
> +#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 MMCBOOT \
> +       "mmcdev=0\0" \
> +       "kernel_partition=2\0" \
> +       "rootfs_partition=3\0" \
> +       "mmc_discover_partition=" \
> +               "part start mmc ${mmcdev} ${kernel_partition} kernel_part_addr;" \
> +               "part size mmc ${mmcdev} ${kernel_partition} kernel_part_size;\0" \
> +       "mmcboot=" \
> +               "mmc dev ${mmcdev};" \
> +               "run mmc_discover_partition;" \
> +               "mmc read ${kerneladdr} ${kernel_part_addr} ${kernel_part_size};" \
> +               "setenv bootargs ${bootargs} root=/dev/mmcblk${mmcdev}p${rootfs_partition} rootwait; " \
> +               "bootm ${kerneladdr}; \0"
> +
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> +       "kerneladdr=0x4A000000\0" \
> +       "bootargs= " \
> +               "console=tty0 console=ttyS0,921600n1 " \
> +               "earlycon=uart8250,mmio32,0x11005000\0 " \
> +       MMCBOOT \
> +       "bootcmd=run mmcboot;\0"
> +
> +#endif
> --
> 2.20.1
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [U-Boot] [PATCH v2] board: mediatek: Add pumpkin board support
  2019-06-14 12:16 ` [U-Boot] [PATCH v2] board: mediatek: Add pumpkin board support Fabien Parent
@ 2019-06-14 12:47   ` Ryder Lee
  0 siblings, 0 replies; 2+ messages in thread
From: Ryder Lee @ 2019-06-14 12:47 UTC (permalink / raw)
  To: u-boot

On Fri, 2019-06-14 at 14:16 +0200, Fabien Parent wrote:
> +u-boot at lists.denx.de
> 
> On Fri, Jun 14, 2019 at 2:14 PM Fabien Parent <fparent@baylibre.com> wrote:
> >
> > The pumpkin board is made by Gossamer Engineering and is using
> > a MediaTek SoC. The board currently comes in two available version:
> > MT8516 SoC and MT8167 SoC.
> > The board provides the following IOs: eMMC, NAND, SD card, USB type-A,
> > Ethernet, Wi-Fi, Bluetooth, Audio (jack out, 2 PDM port, 1 analog in),
> > serial over USB, and an expansion header.
> >
> > Additionally there is a HDMI port, DSI port, and camera port only
> > on the MT8167 version of the board.
> >
> > The board can be powered by battery and/or via a USB Type-C port and
> > is using a PMIC MT6392.
> >
> > The eMMC and NAND are sharing pins and cannot be used together.
> >
> > This commit is adding the basic boot support for the Pumpkin MT8516
> > board on the eMMC.
> >
> > Signed-off-by: Fabien Parent <fparent@baylibre.com>
> > ---
> >
> > V2:
> >         * Set MTK_BROM_HEADER_INFO to 'emmc' since we only support eMMC right now.
> >
> > ---
> >  arch/arm/dts/Makefile              |   3 +-
> >  arch/arm/dts/mt8516-pumpkin.dts    | 110 +++++++++++++++++++++++++++++
> >  arch/arm/mach-mediatek/Kconfig     |   1 +
> >  board/mediatek/pumpkin/Kconfig     |  13 ++++
> >  board/mediatek/pumpkin/MAINTAINERS |   6 ++
> >  board/mediatek/pumpkin/Makefile    |   3 +
> >  board/mediatek/pumpkin/pumpkin.c   |  14 ++++
> >  configs/pumpkin_defconfig          |  64 +++++++++++++++++
> >  include/configs/pumpkin.h          |  58 +++++++++++++++
> >  9 files changed, 271 insertions(+), 1 deletion(-)
> >  create mode 100644 arch/arm/dts/mt8516-pumpkin.dts
> >  create mode 100644 board/mediatek/pumpkin/Kconfig
> >  create mode 100644 board/mediatek/pumpkin/MAINTAINERS
> >  create mode 100644 board/mediatek/pumpkin/Makefile
> >  create mode 100644 board/mediatek/pumpkin/pumpkin.c
> >  create mode 100644 configs/pumpkin_defconfig
> >  create mode 100644 include/configs/pumpkin.h
> >
> > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> > index 528fb909d5..1f66172530 100644
> > --- a/arch/arm/dts/Makefile
> > +++ b/arch/arm/dts/Makefile
> > @@ -766,7 +766,8 @@ dtb-$(CONFIG_SOC_K3_AM6) += k3-am654-base-board.dtb k3-am654-r5-base-board.dtb
> >
> >  dtb-$(CONFIG_ARCH_MEDIATEK) += \
> >         mt7623n-bananapi-bpi-r2.dtb \
> > -       mt7629-rfb.dtb
> > +       mt7629-rfb.dtb \
> > +       mt8516-pumpkin.dtb
> >
> >  dtb-$(CONFIG_TARGET_GE_BX50V3) += imx6q-bx50v3.dtb
> >  dtb-$(CONFIG_TARGET_MX53PPD) += imx53-ppd.dtb
> > diff --git a/arch/arm/dts/mt8516-pumpkin.dts b/arch/arm/dts/mt8516-pumpkin.dts
> > new file mode 100644
> > index 0000000000..cd43c1f5e3
> > --- /dev/null
> > +++ b/arch/arm/dts/mt8516-pumpkin.dts
> > @@ -0,0 +1,110 @@
> > +// SPDX-License-Identifier: GPL-2.0 OR MIT
> > +/*
> > + * Copyright (C) 2019 BayLibre SAS.
> > + * Author: Fabien Parent <fparent@baylibre.com>
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include <config.h>
> > +#include "mt8516.dtsi"
> > +
> > +/ {
> > +       model = "Pumpkin MT8516";
> > +
> > +       chosen {
> > +               stdout-path = &uart0;
> > +       };
> > +
> > +       memory at 40000000 {
> > +               device_type = "memory";
> > +               reg = <0x40000000 0x20000000>;
> > +       };
> > +
> > +       reserved-memory {
> > +               #address-cells = <2>;
> > +               #size-cells = <2>;
> > +
> > +               /* 128 KiB reserved for ARM Trusted Firmware (BL31) */
> > +               bl31_secmon_reserved: secmon at 43000000 {
> > +                       no-map;
> > +                       reg = <0 0x43000000 0 0x20000>;
> > +               };
> > +       };
> > +
> > +       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;
> > +       };
> > +};
> > +
> > +&mmc0 {
> > +       pinctrl-names = "default";
> > +       pinctrl-0 = <&mmc0_pins_default>;
> > +       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";
> > +};
> > +
> > +&pinctrl {
> > +       mmc0_pins_default: mmc0default {
> > +               mux {
> > +                       function = "msdc";
> > +                       groups =  "msdc0";
> > +               };
> > +
> > +               conf-cmd-data {
> > +                       pins = "MSDC0_CMD", "MSDC0_DAT0", "MSDC0_DAT1",
> > +                              "MSDC0_DAT2", "MSDC0_DAT3", "MSDC0_DAT4",
> > +                              "MSDC0_DAT5", "MSDC0_DAT6", "MSDC0_DAT7";
> > +                       input-enable;
> > +                       bias-pull-up;
> > +               };
> > +
> > +               conf-clk {
> > +                       pins = "MSDC0_CLK";
> > +                       bias-pull-down;
> > +               };
> > +
> > +               conf-rst {
> > +                       pins = "MSDC0_RSTB";
> > +                       bias-pull-up;
> > +               };
> > +       };
> > +
> > +       uart0_pins: uart0 {
> > +               mux {
> > +                       function = "uart";
> > +                       groups = "uart0_0_rxd_txd";
> > +               };
> > +       };
> > +};
> > +
> > +&uart0 {
> > +       pinctrl-names = "default";
> > +       pinctrl-0 = <&uart0_pins>;
> > +       status = "okay";
> > +};
> > +
> > +&watchdog {
> > +       status = "okay";
> > +};
> > diff --git a/arch/arm/mach-mediatek/Kconfig b/arch/arm/mach-mediatek/Kconfig
> > index b5e91d4a7d..a7d594f48a 100644
> > --- a/arch/arm/mach-mediatek/Kconfig
> > +++ b/arch/arm/mach-mediatek/Kconfig
> > @@ -45,5 +45,6 @@ endchoice
> >
> >  source "board/mediatek/mt7623/Kconfig"
> >  source "board/mediatek/mt7629/Kconfig"
> > +source "board/mediatek/pumpkin/Kconfig"
> >
> >  endif
> > diff --git a/board/mediatek/pumpkin/Kconfig b/board/mediatek/pumpkin/Kconfig
> > new file mode 100644
> > index 0000000000..fb81fa8906
> > --- /dev/null
> > +++ b/board/mediatek/pumpkin/Kconfig
> > @@ -0,0 +1,13 @@
> > +if TARGET_MT8516
> > +
> > +config SYS_BOARD
> > +       default "pumpkin"
> > +
> > +config SYS_CONFIG_NAME
> > +       default "pumpkin"
> > +
> > +config MTK_BROM_HEADER_INFO
> > +       string
> > +       default "media=nor"
> > +
> > +endif
> > diff --git a/board/mediatek/pumpkin/MAINTAINERS b/board/mediatek/pumpkin/MAINTAINERS
> > new file mode 100644
> > index 0000000000..16beadc027
> > --- /dev/null
> > +++ b/board/mediatek/pumpkin/MAINTAINERS
> > @@ -0,0 +1,6 @@
> > +Pumpkin
> > +M:     Fabien Parent <fparent@baylibre.com>
> > +S:     Maintained
> > +F:     board/mediatek/pumpkin
> > +F:     include/configs/pumpkin.h
> > +F:     configs/pumpkin_defconfig
> > diff --git a/board/mediatek/pumpkin/Makefile b/board/mediatek/pumpkin/Makefile
> > new file mode 100644
> > index 0000000000..75fce4a393
> > --- /dev/null
> > +++ b/board/mediatek/pumpkin/Makefile
> > @@ -0,0 +1,3 @@
> > +# SPDX-License-Identifier:     GPL-2.0
> > +
> > +obj-y += pumpkin.o
> > diff --git a/board/mediatek/pumpkin/pumpkin.c b/board/mediatek/pumpkin/pumpkin.c
> > new file mode 100644
> > index 0000000000..c20e91c9e6
> > --- /dev/null
> > +++ b/board/mediatek/pumpkin/pumpkin.c
> > @@ -0,0 +1,14 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (C) 2019 BayLibre SAS
> > + */
> > +
> > +#include <common.h>
> > +#include <dm.h>
> > +
> > +DECLARE_GLOBAL_DATA_PTR;

I don't see anywhere to use gd so suggest to drop it.

> > +int board_init(void)
> > +{
> > +       return 0;
> > +}
> > diff --git a/configs/pumpkin_defconfig b/configs/pumpkin_defconfig
> > new file mode 100644
> > index 0000000000..06e2b8f5b9
> > --- /dev/null
> > +++ b/configs/pumpkin_defconfig
> > @@ -0,0 +1,64 @@
> > +CONFIG_ARM=y
> > +CONFIG_POSITION_INDEPENDENT=y
> > +CONFIG_ARCH_MEDIATEK=y
> > +CONFIG_SYS_TEXT_BASE=0x4C000000
> > +CONFIG_SYS_MALLOC_F_LEN=0x4000
> > +CONFIG_TARGET_MT8516=y
> > +CONFIG_NR_DRAM_BANKS=1
> > +CONFIG_DEBUG_UART_BASE=0x11005000
> > +CONFIG_DEBUG_UART_CLOCK=26000000
> > +# CONFIG_PSCI_RESET is not set
> > +CONFIG_DEBUG_UART=y
> > +CONFIG_FIT=y
> > +# CONFIG_FIT_ENABLE_SHA256_SUPPORT is not set
> > +# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
> > +CONFIG_DEFAULT_FDT_FILE="mt8516-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_ENV_EXISTS is not set
> > +# CONFIG_CMD_CRC32 is not set
> > +# CONFIG_CMD_MEMORY is not set
> > +# CONFIG_CMD_FLASH is not set
> > +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_SOURCE is not set
> > +# CONFIG_CMD_SETEXPR is not set
> > +# CONFIG_CMD_BLOCK_CACHE is not set
> > +# CONFIG_CMD_MISC is not set
> > +CONFIG_DEFAULT_DEVICE_TREE="mt8516-pumpkin"
> > +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
> > +# CONFIG_NET is not set
> > +CONFIG_SPL_DM_SEQ_ALIAS=y
> > +CONFIG_CLK=y
> > +CONFIG_DM_GPIO=y
> > +# CONFIG_INPUT is not set
> > +CONFIG_DM_MMC=y
> > +# CONFIG_MMC_QUIRKS is not set
> > +CONFIG_MMC_MTK=y
> > +CONFIG_PINCTRL=y
> > +CONFIG_PINCTRL_MT8516=y
> > +CONFIG_RAM=y
> > +CONFIG_BAUDRATE=921600
> > +CONFIG_DM_SERIAL=y
> > +CONFIG_DEBUG_UART_MTK=y
> > +CONFIG_DEBUG_UART_ANNOUNCE=y
> > +CONFIG_MTK_SERIAL=y
> > +CONFIG_WDT=y
> > +CONFIG_WDT_MTK=y
> > +# CONFIG_EFI_LOADER is not set
> > diff --git a/include/configs/pumpkin.h b/include/configs/pumpkin.h
> > new file mode 100644
> > index 0000000000..b81e587983
> > --- /dev/null
> > +++ b/include/configs/pumpkin.h
> > @@ -0,0 +1,58 @@
> > +/* SPDX-License-Identifier: GPL-2.0+ */
> > +/*
> > + * Configuration for Pumpkin board
> > + *
> > + * Copyright (C) 2019 BayLibre, SAS
> > + * Author: Fabien Parent <fparent@baylibre.com
> > + */
> > +
> > +#ifndef __PUMPKIN_H
> > +#define __PUMPKIN_H
> > +
> > +#include <linux/sizes.h>
> > +
> > +#define CONFIG_ENV_SIZE                        SZ_4K
> > +#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                0x11005000
> > +#define CONFIG_SYS_NS16550_CLK         26000000
> > +
> > +#define CONFIG_SYS_UBOOT_START         CONFIG_SYS_TEXT_BASE
> > +#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 MMCBOOT \
> > +       "mmcdev=0\0" \
> > +       "kernel_partition=2\0" \
> > +       "rootfs_partition=3\0" \
> > +       "mmc_discover_partition=" \
> > +               "part start mmc ${mmcdev} ${kernel_partition} kernel_part_addr;" \
> > +               "part size mmc ${mmcdev} ${kernel_partition} kernel_part_size;\0" \
> > +       "mmcboot=" \
> > +               "mmc dev ${mmcdev};" \
> > +               "run mmc_discover_partition;" \
> > +               "mmc read ${kerneladdr} ${kernel_part_addr} ${kernel_part_size};" \
> > +               "setenv bootargs ${bootargs} root=/dev/mmcblk${mmcdev}p${rootfs_partition} rootwait; " \
> > +               "bootm ${kerneladdr}; \0"
> > +
> > +#define CONFIG_EXTRA_ENV_SETTINGS \
> > +       "kerneladdr=0x4A000000\0" \
> > +       "bootargs= " \
> > +               "console=tty0 console=ttyS0,921600n1 " \
> > +               "earlycon=uart8250,mmio32,0x11005000\0 " \
> > +       MMCBOOT \
> > +       "bootcmd=run mmcboot;\0"
> > +
> > +#endif
> > --
> > 2.20.1
> >

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-06-14 12:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20190614121442.21230-1-fparent@baylibre.com>
2019-06-14 12:16 ` [U-Boot] [PATCH v2] board: mediatek: Add pumpkin board support Fabien Parent
2019-06-14 12:47   ` Ryder Lee

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.