The LinkIt Smart 7688 modules have a MT7688 SoC with 128 MiB of RAM and 32 MiB of flash (SPI NOR). 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@denx.de> [fixed and regenerated defconfig files] Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>lime2-spi
parent
4c835a607b
commit
b02f76a835
@ -0,0 +1,46 @@ |
||||
// SPDX-License-Identifier: GPL-2.0 |
||||
/* |
||||
* Copyright (C) 2018 Stefan Roese <sr@denx.de> |
||||
*/ |
||||
|
||||
/dts-v1/; |
||||
|
||||
#include "mt7628a.dtsi" |
||||
|
||||
/ { |
||||
compatible = "seeed,linkit-smart-7688", "ralink,mt7628a-soc"; |
||||
model = "LinkIt-Smart-7688"; |
||||
|
||||
aliases { |
||||
serial0 = &uart2; |
||||
spi0 = &spi0; |
||||
}; |
||||
|
||||
memory@0 { |
||||
device_type = "memory"; |
||||
reg = <0x0 0x08000000>; |
||||
}; |
||||
|
||||
chosen { |
||||
bootargs = "console=ttyS0,57600"; |
||||
stdout-path = &uart2; |
||||
}; |
||||
}; |
||||
|
||||
&uart2 { |
||||
status = "okay"; |
||||
clock-frequency = <40000000>; |
||||
}; |
||||
|
||||
&spi0 { |
||||
status = "okay"; |
||||
num-cs = <2>; |
||||
|
||||
spi-flash@0 { |
||||
#address-cells = <1>; |
||||
#size-cells = <1>; |
||||
compatible = "spi-flash", "jedec,spi-nor"; |
||||
spi-max-frequency = <25000000>; |
||||
reg = <0>; |
||||
}; |
||||
}; |
@ -0,0 +1,12 @@ |
||||
if BOARD_LINKIT_SMART_7688 |
||||
|
||||
config SYS_BOARD |
||||
default "linkit-smart-7688" |
||||
|
||||
config SYS_VENDOR |
||||
default "seeed" |
||||
|
||||
config SYS_CONFIG_NAME |
||||
default "linkit-smart-7688" |
||||
|
||||
endif |
@ -0,0 +1,8 @@ |
||||
LINKIT_SMART_7688 BOARD |
||||
M: Stefan Roese <sr@denx.de> |
||||
S: Maintained |
||||
F: board/seeed/linkit-smart-7688 |
||||
F: include/configs/linkit-smart-7688.h |
||||
F: configs/linkit-smart-7688_defconfig |
||||
F: configs/linkit-smart-7688_ram_defconfig |
||||
F: arch/mips/dts/linkit-smart-7688.dts |
@ -0,0 +1,3 @@ |
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
obj-y += board.o
|
@ -0,0 +1,26 @@ |
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright (C) 2018 Stefan Roese <sr@denx.de> |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <asm/io.h> |
||||
|
||||
#define MT76XX_GPIO1_MODE 0xb0000060 |
||||
|
||||
void board_debug_uart_init(void) |
||||
{ |
||||
/* Select UART2 mode instead of GPIO mode (default) */ |
||||
clrbits_le32((void __iomem *)MT76XX_GPIO1_MODE, GENMASK(27, 26)); |
||||
} |
||||
|
||||
int board_early_init_f(void) |
||||
{ |
||||
/*
|
||||
* The pin muxing of UART2 also needs to be done, if debug uart |
||||
* is not enabled. So we need to call this function here as well. |
||||
*/ |
||||
board_debug_uart_init(); |
||||
|
||||
return 0; |
||||
} |
@ -0,0 +1,51 @@ |
||||
CONFIG_MIPS=y |
||||
CONFIG_SYS_TEXT_BASE=0x80010000 |
||||
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_NR_DRAM_BANKS=1 |
||||
# 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_SF=y |
||||
CONFIG_CMD_SPI=y |
||||
# CONFIG_CMD_NET is not set |
||||
CONFIG_CMD_TIME=y |
||||
CONFIG_OF_EMBED=y |
||||
CONFIG_DEFAULT_DEVICE_TREE="linkit-smart-7688" |
||||
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_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_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_SYS_NS16550=y |
||||
CONFIG_SPI=y |
||||
CONFIG_SYSRESET_SYSCON=y |
@ -0,0 +1,55 @@ |
||||
CONFIG_MIPS=y |
||||
CONFIG_SYS_TEXT_BASE=0x9c000000 |
||||
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_NR_DRAM_BANKS=1 |
||||
# 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_CRC32 is not set |
||||
CONFIG_CMD_MEMINFO=y |
||||
# CONFIG_CMD_FLASH is not set |
||||
# CONFIG_CMD_LOADS is not set |
||||
CONFIG_CMD_SF=y |
||||
CONFIG_CMD_SPI=y |
||||
# CONFIG_CMD_NET is not set |
||||
CONFIG_CMD_TIME=y |
||||
CONFIG_OF_EMBED=y |
||||
CONFIG_DEFAULT_DEVICE_TREE="linkit-smart-7688" |
||||
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_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_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_SYS_NS16550=y |
||||
CONFIG_SPI=y |
||||
CONFIG_SYSRESET_SYSCON=y |
@ -0,0 +1,51 @@ |
||||
/* SPDX-License-Identifier: GPL-2.0+ */ |
||||
/*
|
||||
* Copyright (C) 2018 Stefan Roese <sr@denx.de> |
||||
*/ |
||||
|
||||
#ifndef __CONFIG_LINKIT_SMART_7688_H |
||||
#define __CONFIG_LINKIT_SMART_7688_H |
||||
|
||||
/* CPU */ |
||||
#define CONFIG_SYS_MIPS_TIMER_FREQ 200000000 |
||||
|
||||
/* RAM */ |
||||
#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 0x40000 |
||||
#define CONFIG_ENV_SIZE (16 << 10) |
||||
#define CONFIG_ENV_SECT_SIZE (64 << 10) |
||||
|
||||
/*
|
||||
* 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_LINKIT_SMART_7688_H */ |
Loading…
Reference in new issue