[U-Boot] [PATCH 4/5 v2] mips: Add Gardena Smart-Gateway board support
Daniel Schwierzeck
daniel.schwierzeck at gmail.com
Wed Aug 15 14:36:25 UTC 2018
On 10.08.2018 09:48, Stefan Roese wrote:
> The Gardena Smart-Gateway boards have a MT7688 SoC with 128 MiB of RAM
> and 8 MiB of flash (SPI NOR) and additional 128MiB SPI NAND storage.
>
> This patch also includes 2 targets. One is the target that can be
> programmed into the SPI NOR flash and a 2nd target "xxx-ram" is
> added to support loading and booting via an already running U-Boot
> version. This allows easy development and testing without the
> need to flash the image each time.
>
> Signed-off-by: Stefan Roese <sr at denx.de>
> Cc: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
> ---
> v2:
> - No change
>
> .../mips/dts/gardena-smart-gateway-mt7688.dts | 54 +++++++++++++++
> arch/mips/mach-mt7620/Kconfig | 9 +++
> board/gardena/smart-gateway-mt7688/Kconfig | 12 ++++
> .../gardena/smart-gateway-mt7688/MAINTAINERS | 8 +++
> board/gardena/smart-gateway-mt7688/Makefile | 3 +
> board/gardena/smart-gateway-mt7688/board.c | 18 +++++
> ...gardena-smart-gateway-mt7688-ram_defconfig | 68 +++++++++++++++++++
> .../gardena-smart-gateway-mt7688_defconfig | 67 ++++++++++++++++++
> .../configs/gardena-smart-gateway-mt7688.h | 56 +++++++++++++++
> 9 files changed, 295 insertions(+)
> create mode 100644 arch/mips/dts/gardena-smart-gateway-mt7688.dts
> create mode 100644 board/gardena/smart-gateway-mt7688/Kconfig
> create mode 100644 board/gardena/smart-gateway-mt7688/MAINTAINERS
> create mode 100644 board/gardena/smart-gateway-mt7688/Makefile
> create mode 100644 board/gardena/smart-gateway-mt7688/board.c
> create mode 100644 configs/gardena-smart-gateway-mt7688-ram_defconfig
> create mode 100644 configs/gardena-smart-gateway-mt7688_defconfig
> create mode 100644 include/configs/gardena-smart-gateway-mt7688.h
>
> diff --git a/arch/mips/dts/gardena-smart-gateway-mt7688.dts b/arch/mips/dts/gardena-smart-gateway-mt7688.dts
> new file mode 100644
> index 0000000000..6b2600a446
> --- /dev/null
> +++ b/arch/mips/dts/gardena-smart-gateway-mt7688.dts
> @@ -0,0 +1,54 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2018 Stefan Roese <sr at denx.de>
> + */
> +
> +/dts-v1/;
> +
> +#include "mt7628a.dtsi"
> +
> +/ {
> + compatible = "gardena,smart-gateway-mt7688", "ralink,mt7628a-soc";
> + model = "Gardena smart-Gateway-MT7688";
> +
> + aliases {
> + serial0 = &uart0;
> + spi0 = &spi0;
> + };
> +
> + memory at 0 {
> + device_type = "memory";
> + reg = <0x0 0x08000000>;
> + };
> +
> + chosen {
> + bootargs = "console=ttyS0,57600";
> + stdout-path = &uart0;
> + };
> +};
> +
> +&uart0 {
> + status = "okay";
> + clock-frequency = <40000000>;
> +};
> +
> +&spi0 {
> + status = "okay";
> + num-cs = <2>;
> +
> + spi-flash at 0 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "spi-flash", "jedec,spi-nor";
> + spi-max-frequency = <25000000>;
> + reg = <0>;
> + };
> +
> + spi-nand at 1 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "spi-nand";
> + spi-max-frequency = <25000000>;
> + reg = <1>;
> + };
> +};
> diff --git a/arch/mips/mach-mt7620/Kconfig b/arch/mips/mach-mt7620/Kconfig
> index ef1211d172..13a7bd2cc0 100644
> --- a/arch/mips/mach-mt7620/Kconfig
> +++ b/arch/mips/mach-mt7620/Kconfig
> @@ -21,6 +21,14 @@ endchoice
> choice
> prompt "Board select"
>
> +config BOARD_GARDENA_SMART_GATEWAY_MT7688
> + bool "Gardena Smart Gateway"
> + depends on SOC_MT7620
> + select SUPPORTS_BOOT_RAM
> + help
> + Gardena Smart Gateway boards have a MT7688 SoC with 128 MiB of RAM
> + and 8 MiB of flash (SPI NOR) and additional SPI NAND storage.
> +
> config BOARD_LINKIT_SMART_7688
> bool "LinkIt Smart 7688"
> depends on SOC_MT7620
> @@ -121,6 +129,7 @@ endchoice
> config SUPPORTS_BOOT_RAM
> bool
>
> +source "board/gardena/smart-gateway-mt7688/Kconfig"
> source "board/seeed/linkit-smart-7688/Kconfig"
>
> endmenu
> diff --git a/board/gardena/smart-gateway-mt7688/Kconfig b/board/gardena/smart-gateway-mt7688/Kconfig
> new file mode 100644
> index 0000000000..3653f8aadb
> --- /dev/null
> +++ b/board/gardena/smart-gateway-mt7688/Kconfig
> @@ -0,0 +1,12 @@
> +if BOARD_GARDENA_SMART_GATEWAY_MT7688
> +
> +config SYS_BOARD
> + default "smart-gateway-mt7688"
> +
> +config SYS_VENDOR
> + default "gardena"
> +
> +config SYS_CONFIG_NAME
> + default "gardena-smart-gateway-mt7688"
> +
> +endif
> diff --git a/board/gardena/smart-gateway-mt7688/MAINTAINERS b/board/gardena/smart-gateway-mt7688/MAINTAINERS
> new file mode 100644
> index 0000000000..bbb491c1ce
> --- /dev/null
> +++ b/board/gardena/smart-gateway-mt7688/MAINTAINERS
> @@ -0,0 +1,8 @@
> +GARDENA_SMART_GATEWAY_MT7688 BOARD
> +M: Stefan Roese <sr at denx.de>
> +S: Maintained
> +F: board/gardena/smart-gateway-mt7688
> +F: include/configs/gardena-smart-gateway-mt7688.h
> +F: configs/gardena-smart-gateway-mt7688_defconfig
> +F: configs/gardena-smart-gateway-mt7688-ram_defconfig
> +F: arch/mips/dts/gardena-smart-gateway-mt7688.dts
> diff --git a/board/gardena/smart-gateway-mt7688/Makefile b/board/gardena/smart-gateway-mt7688/Makefile
> new file mode 100644
> index 0000000000..70cd7a8e56
> --- /dev/null
> +++ b/board/gardena/smart-gateway-mt7688/Makefile
> @@ -0,0 +1,3 @@
> +# SPDX-License-Identifier: GPL-2.0+
> +
> +obj-y += board.o
> diff --git a/board/gardena/smart-gateway-mt7688/board.c b/board/gardena/smart-gateway-mt7688/board.c
> new file mode 100644
> index 0000000000..a62dc654f2
> --- /dev/null
> +++ b/board/gardena/smart-gateway-mt7688/board.c
> @@ -0,0 +1,18 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2018 Stefan Roese <sr at denx.de>
> + */
> +
> +#include <common.h>
> +#include <asm/io.h>
> +
> +void board_debug_uart_init(void)
> +{
> + /* Nothing to be done here for this board (no UART setup etc) */
> +}
> +
> +int board_early_init_f(void)
> +{
> + /* Nothing to be done here for this board (no UART setup etc) */
> + return 0;
> +}
do you plan to implement something? Otherwise you could drop those
functions and if you don't enable CONFIG_BOARD_EARLY_INIT_F and
CONFIG_DEBUG_UART_BOARD_INIT.
> diff --git a/configs/gardena-smart-gateway-mt7688-ram_defconfig b/configs/gardena-smart-gateway-mt7688-ram_defconfig
> new file mode 100644
> index 0000000000..3220db6677
> --- /dev/null
> +++ b/configs/gardena-smart-gateway-mt7688-ram_defconfig
> @@ -0,0 +1,68 @@
> +CONFIG_MIPS=y
> +CONFIG_SYS_TEXT_BASE=0x80010000
> +CONFIG_DEBUG_UART_BOARD_INIT=y
> +CONFIG_DEBUG_UART_BASE=0x10000c00
> +CONFIG_DEBUG_UART_CLOCK=40000000
> +CONFIG_ARCH_MT7620=y
> +# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set
> +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set
> +CONFIG_MIPS_BOOT_FDT=y
> +CONFIG_DEFAULT_DEVICE_TREE="gardena-smart-gateway-mt7688"
> +CONFIG_DEBUG_UART=y
> +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> +CONFIG_OF_STDOUT_VIA_ALIAS=y
> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
> +CONFIG_BOARD_EARLY_INIT_F=y
> +CONFIG_HUSH_PARSER=y
> +CONFIG_CMD_CPU=y
> +CONFIG_CMD_LICENSE=y
> +# CONFIG_CMD_BOOTD is not set
> +# CONFIG_CMD_ELF is not set
> +# CONFIG_CMD_XIMG is not set
> +CONFIG_CMD_MEMINFO=y
> +# CONFIG_CMD_FLASH is not set
> +# CONFIG_CMD_LOADS is not set
> +CONFIG_CMD_MTD=y
> +CONFIG_CMD_SF=y
> +CONFIG_CMD_SPI=y
> +CONFIG_CMD_MII=y
> +CONFIG_CMD_PING=y
> +CONFIG_CMD_TIME=y
> +CONFIG_MTDIDS_DEFAULT="spi-nand0=spi-nand0"
> +CONFIG_MTDPARTS_DEFAULT="mtdparts=spi-nand0:-(ubi)"
> +CONFIG_CMD_UBI=y
> +CONFIG_OF_EMBED=y
> +CONFIG_ENV_IS_IN_SPI_FLASH=y
> +# CONFIG_DM_DEVICE_REMOVE is not set
> +CONFIG_HAVE_BLOCK_DEVICE=y
> +CONFIG_CLK=y
> +CONFIG_CPU=y
> +CONFIG_DM_GPIO=y
> +CONFIG_LED=y
> +CONFIG_LED_BLINK=y
> +CONFIG_LED_GPIO=y
> +CONFIG_MTD=y
> +CONFIG_MTD_SPI_NAND=y
> +CONFIG_SPI_FLASH=y
> +CONFIG_SPI_FLASH_GIGADEVICE=y
> +CONFIG_SPI_FLASH_MACRONIX=y
> +CONFIG_SPI_FLASH_SPANSION=y
> +CONFIG_SPI_FLASH_STMICRO=y
> +CONFIG_SPI_FLASH_WINBOND=y
> +CONFIG_SPI_FLASH_XMC=y
> +CONFIG_SPI_FLASH_MTD=y
> +CONFIG_PHYLIB=y
> +CONFIG_PHY_FIXED=y
> +CONFIG_MT76XX_ETH=y
> +CONFIG_PHY=y
> +CONFIG_POWER_DOMAIN=y
> +CONFIG_RAM=y
> +CONFIG_DM_RESET=y
> +CONFIG_BAUDRATE=57600
> +# CONFIG_SPL_SERIAL_PRESENT is not set
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_DEBUG_UART_ANNOUNCE=y
> +CONFIG_SYS_NS16550=y
> +CONFIG_SPI=y
> +CONFIG_MT76XX_SPI=y
> +CONFIG_SYSRESET_SYSCON=y
> diff --git a/configs/gardena-smart-gateway-mt7688_defconfig b/configs/gardena-smart-gateway-mt7688_defconfig
> new file mode 100644
> index 0000000000..8e9e6e895e
> --- /dev/null
> +++ b/configs/gardena-smart-gateway-mt7688_defconfig
> @@ -0,0 +1,67 @@
> +CONFIG_MIPS=y
> +CONFIG_SYS_TEXT_BASE=0xbc000000
> +CONFIG_DEBUG_UART_BOARD_INIT=y
> +CONFIG_DEBUG_UART_BASE=0x10000c00
> +CONFIG_DEBUG_UART_CLOCK=40000000
> +CONFIG_ARCH_MT7620=y
> +CONFIG_BOOT_ROM=y
> +CONFIG_ONBOARD_DDR2_SIZE_1024MBIT=y
> +CONFIG_ONBOARD_DDR2_CHIP_WIDTH_16BIT=y
> +# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set
> +# CONFIG_MIPS_BOOT_ENV_LEGACY is not set
> +CONFIG_MIPS_BOOT_FDT=y
> +CONFIG_DEFAULT_DEVICE_TREE="gardena-smart-gateway-mt7688"
> +CONFIG_DEBUG_UART=y
> +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> +CONFIG_OF_STDOUT_VIA_ALIAS=y
> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
> +CONFIG_BOARD_EARLY_INIT_F=y
> +CONFIG_HUSH_PARSER=y
> +CONFIG_CMD_CPU=y
> +CONFIG_CMD_LICENSE=y
> +# CONFIG_CMD_BOOTD is not set
> +# CONFIG_CMD_ELF is not set
> +# CONFIG_CMD_XIMG is not set
> +CONFIG_CMD_MEMINFO=y
> +# CONFIG_CMD_FLASH is not set
> +# CONFIG_CMD_LOADS is not set
> +CONFIG_CMD_MTD=y
> +CONFIG_CMD_SF=y
> +CONFIG_CMD_SPI=y
> +# CONFIG_CMD_NET is not set
> +CONFIG_CMD_TIME=y
> +CONFIG_MTDIDS_DEFAULT="spi-nand0=spi-nand0"
> +CONFIG_MTDPARTS_DEFAULT="mtdparts=spi-nand0:-(ubi)"
> +CONFIG_CMD_UBI=y
> +CONFIG_OF_EMBED=y
> +CONFIG_ENV_IS_IN_SPI_FLASH=y
> +# CONFIG_DM_DEVICE_REMOVE is not set
> +CONFIG_HAVE_BLOCK_DEVICE=y
> +CONFIG_CLK=y
> +CONFIG_CPU=y
> +CONFIG_DM_GPIO=y
> +CONFIG_LED=y
> +CONFIG_LED_BLINK=y
> +CONFIG_LED_GPIO=y
> +CONFIG_MTD=y
> +CONFIG_MTD_SPI_NAND=y
> +CONFIG_SPI_FLASH=y
> +CONFIG_SPI_FLASH_GIGADEVICE=y
> +CONFIG_SPI_FLASH_MACRONIX=y
> +CONFIG_SPI_FLASH_SPANSION=y
> +CONFIG_SPI_FLASH_STMICRO=y
> +CONFIG_SPI_FLASH_WINBOND=y
> +CONFIG_SPI_FLASH_XMC=y
> +CONFIG_SPI_FLASH_MTD=y
> +CONFIG_PHY=y
> +CONFIG_POWER_DOMAIN=y
> +CONFIG_RAM=y
> +CONFIG_DM_RESET=y
> +CONFIG_BAUDRATE=57600
> +# CONFIG_SPL_SERIAL_PRESENT is not set
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_DEBUG_UART_ANNOUNCE=y
> +CONFIG_SYS_NS16550=y
> +CONFIG_SPI=y
> +CONFIG_MT76XX_SPI=y
> +CONFIG_SYSRESET_SYSCON=y
> diff --git a/include/configs/gardena-smart-gateway-mt7688.h b/include/configs/gardena-smart-gateway-mt7688.h
> new file mode 100644
> index 0000000000..5ec9c6a041
> --- /dev/null
> +++ b/include/configs/gardena-smart-gateway-mt7688.h
> @@ -0,0 +1,56 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright (C) 2018 Stefan Roese <sr at denx.de>
> + */
> +
> +#ifndef __CONFIG_GARDENA_SMART_GATEWAY_H
> +#define __CONFIG_GARDENA_SMART_GATEWAY_H
> +
> +/* CPU */
> +#define CONFIG_SYS_MIPS_TIMER_FREQ 200000000
> +
> +/* RAM */
> +#define CONFIG_NR_DRAM_BANKS 1
> +#define CONFIG_SYS_SDRAM_BASE 0x80000000
> +
> +#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_SDRAM_BASE + 0x100000
> +
> +#define CONFIG_SYS_INIT_SP_OFFSET 0x400000
> +
> +#ifdef CONFIG_BOOT_RAM
> +#define CONFIG_SKIP_LOWLEVEL_INIT
> +#endif
> +
> +/* UART */
> +#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, \
> + 230400, 500000, 1500000 }
> +
> +/* RAM */
> +#define CONFIG_SYS_MEMTEST_START 0x80100000
> +#define CONFIG_SYS_MEMTEST_END 0x80400000
> +
> +/* Memory usage */
> +#define CONFIG_SYS_MAXARGS 64
> +#define CONFIG_SYS_MALLOC_LEN (1024 * 1024)
> +#define CONFIG_SYS_BOOTPARAMS_LEN (128 * 1024)
> +#define CONFIG_SYS_CBSIZE 512
> +
> +/* U-Boot */
> +#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
> +
> +/* Environment settings */
> +#define CONFIG_ENV_OFFSET 0x80000
> +#define CONFIG_ENV_SIZE (64 << 10)
> +#define CONFIG_ENV_SECT_SIZE (64 << 10)
> +#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
> +#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + \
> + CONFIG_ENV_SECT_SIZE)
> +#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
> +
> +/*
> + * Environment is right behind U-Boot in flash. Make sure U-Boot
> + * doesn't grow into the environment area.
> + */
> +#define CONFIG_BOARD_SIZE_LIMIT CONFIG_ENV_OFFSET
> +
> +#endif /* __CONFIG_GARDENA_SMART_GATEWAY_H */
>
--
- Daniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180815/4369aafd/attachment.sig>
More information about the U-Boot
mailing list