| From 593db38363297247df731566c2aa307a5d795005 Mon Sep 17 00:00:00 2001 |
| From: David Bauer <mail@david-bauer.net> |
| Date: Thu, 18 Jun 2020 00:13:11 +0200 |
| Subject: [PATCH] add support for RAVPower RP-WD009 |
| |
| --- |
| arch/mips/dts/Makefile | 3 +- |
| arch/mips/dts/ravpower-rp-wd009.dts | 50 +++++++++++++++++++++ |
| arch/mips/mach-mtmips/Kconfig | 9 ++++ |
| board/ravpower/rp-wd009/Kconfig | 12 +++++ |
| board/ravpower/rp-wd009/Makefile | 3 ++ |
| board/ravpower/rp-wd009/board.c | 16 +++++++ |
| configs/ravpower-rp-wd009-ram_defconfig | 59 +++++++++++++++++++++++++ |
| include/configs/ravpower-rp-wd009.h | 48 ++++++++++++++++++++ |
| 8 files changed, 199 insertions(+), 1 deletion(-) |
| create mode 100644 arch/mips/dts/ravpower-rp-wd009.dts |
| create mode 100644 board/ravpower/rp-wd009/Kconfig |
| create mode 100644 board/ravpower/rp-wd009/Makefile |
| create mode 100644 board/ravpower/rp-wd009/board.c |
| create mode 100644 configs/ravpower-rp-wd009-ram_defconfig |
| create mode 100644 include/configs/ravpower-rp-wd009.h |
| |
| diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile |
| index c9d75596f2..23868ae1d2 100644 |
| --- a/arch/mips/dts/Makefile |
| +++ b/arch/mips/dts/Makefile |
| @@ -2,7 +2,8 @@ |
| |
| dtb-$(CONFIG_ARCH_MTMIPS) += \ |
| gardena-smart-gateway-mt7688.dtb \ |
| - linkit-smart-7688.dtb |
| + linkit-smart-7688.dtb \ |
| + ravpower-rp-wd009.dtb |
| dtb-$(CONFIG_TARGET_AP121) += ap121.dtb |
| dtb-$(CONFIG_TARGET_AP143) += ap143.dtb |
| dtb-$(CONFIG_TARGET_AP152) += ap152.dtb |
| diff --git a/arch/mips/dts/ravpower-rp-wd009.dts b/arch/mips/dts/ravpower-rp-wd009.dts |
| new file mode 100644 |
| index 0000000000..b271d5bfbc |
| --- /dev/null |
| +++ b/arch/mips/dts/ravpower-rp-wd009.dts |
| @@ -0,0 +1,50 @@ |
| +// SPDX-License-Identifier: GPL-2.0 |
| +/* |
| + * Copyright (C) 2018 Stefan Roese <sr@denx.de> |
| + */ |
| + |
| +/dts-v1/; |
| + |
| +#include "mt7628a.dtsi" |
| +#include <dt-bindings/gpio/gpio.h> |
| + |
| +/ { |
| + compatible = "ravpower,rp-wd009", "ralink,mt7628a-soc"; |
| + model = "RAVPower RP-WD009"; |
| + |
| + aliases { |
| + serial0 = &uart0; |
| + spi0 = &spi0; |
| + }; |
| + |
| + memory@0 { |
| + device_type = "memory"; |
| + reg = <0x0 0x4000000>; |
| + }; |
| + |
| + chosen { |
| + stdout-path = "serial0:115200n8"; |
| + }; |
| +}; |
| + |
| +&uart0 { |
| + status = "okay"; |
| +}; |
| + |
| +&spi0 { |
| + status = "okay"; |
| + num-cs = <2>; |
| + |
| + spi-flash@0 { |
| + #address-cells = <1>; |
| + #size-cells = <1>; |
| + compatible = "jedec,spi-nor"; |
| + spi-max-frequency = <40000000>; |
| + reg = <0>; |
| + }; |
| +}; |
| + |
| +ð { |
| + pinctrl-names = "default"; |
| + pinctrl-0 = <&ephy_router_mode>; |
| +}; |
| diff --git a/arch/mips/mach-mtmips/Kconfig b/arch/mips/mach-mtmips/Kconfig |
| index c8dcf19c0d..85ac8878ab 100644 |
| --- a/arch/mips/mach-mtmips/Kconfig |
| +++ b/arch/mips/mach-mtmips/Kconfig |
| @@ -32,6 +32,14 @@ config BOARD_GARDENA_SMART_GATEWAY_MT7688 |
| 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_RAVPOWER_RP_WD009 |
| + bool "RAVPower RP-WD009" |
| + depends on SOC_MT7628 |
| + select BOARD_LATE_INIT |
| + select SUPPORTS_BOOT_RAM |
| + help |
| + RAVPower RP-WD009 |
| + |
| config BOARD_LINKIT_SMART_7688 |
| bool "LinkIt Smart 7688" |
| depends on SOC_MT7628 |
| @@ -133,6 +141,7 @@ config SUPPORTS_BOOT_RAM |
| bool |
| |
| source "board/gardena/smart-gateway-mt7688/Kconfig" |
| +source "board/ravpower/rp-wd009/Kconfig" |
| source "board/seeed/linkit-smart-7688/Kconfig" |
| |
| endmenu |
| diff --git a/board/ravpower/rp-wd009/Kconfig b/board/ravpower/rp-wd009/Kconfig |
| new file mode 100644 |
| index 0000000000..111f8e4478 |
| --- /dev/null |
| +++ b/board/ravpower/rp-wd009/Kconfig |
| @@ -0,0 +1,12 @@ |
| +if BOARD_RAVPOWER_RP_WD009 |
| + |
| +config SYS_BOARD |
| + default "rp-wd009" |
| + |
| +config SYS_VENDOR |
| + default "ravpower" |
| + |
| +config SYS_CONFIG_NAME |
| + default "ravpower-rp-wd009" |
| + |
| +endif |
| diff --git a/board/ravpower/rp-wd009/Makefile b/board/ravpower/rp-wd009/Makefile |
| new file mode 100644 |
| index 0000000000..70cd7a8e56 |
| --- /dev/null |
| +++ b/board/ravpower/rp-wd009/Makefile |
| @@ -0,0 +1,3 @@ |
| +# SPDX-License-Identifier: GPL-2.0+ |
| + |
| +obj-y += board.o |
| diff --git a/board/ravpower/rp-wd009/board.c b/board/ravpower/rp-wd009/board.c |
| new file mode 100644 |
| index 0000000000..eabcf85735 |
| --- /dev/null |
| +++ b/board/ravpower/rp-wd009/board.c |
| @@ -0,0 +1,16 @@ |
| +// SPDX-License-Identifier: GPL-2.0+ |
| +/* |
| + * Copyright (C) 2018 Stefan Roese <sr@denx.de> |
| + */ |
| + |
| + |
| +int board_early_init_f(void) |
| +{ |
| + return 0; |
| +} |
| + |
| + |
| +int board_late_init(void) |
| +{ |
| + return 0; |
| +} |
| diff --git a/configs/ravpower-rp-wd009-ram_defconfig b/configs/ravpower-rp-wd009-ram_defconfig |
| new file mode 100644 |
| index 0000000000..08cbf40638 |
| --- /dev/null |
| +++ b/configs/ravpower-rp-wd009-ram_defconfig |
| @@ -0,0 +1,59 @@ |
| +CONFIG_MIPS=y |
| +CONFIG_SYS_TEXT_BASE=0x80010000 |
| +CONFIG_NR_DRAM_BANKS=1 |
| +CONFIG_ARCH_MTMIPS=y |
| +CONFIG_MIPS_BOOT_FDT=y |
| +CONFIG_LEGACY_IMAGE_FORMAT=y |
| +CONFIG_OF_STDOUT_VIA_ALIAS=y |
| +CONFIG_USE_BOOTCOMMAND=y |
| +CONFIG_BOOTCOMMAND="sf probe && mtd read firmware 82000000 && bootm 82000000" |
| +CONFIG_USE_PREBOOT=y |
| +CONFIG_SYS_CONSOLE_INFO_QUIET=y |
| +CONFIG_VERSION_VARIABLE=y |
| +CONFIG_BOARD_RAVPOWER_RP_WD009=y |
| +CONFIG_BOARD_EARLY_INIT_F=y |
| +CONFIG_HUSH_PARSER=y |
| +CONFIG_CMD_LICENSE=y |
| +# CONFIG_CMD_ELF is not set |
| +# CONFIG_CMD_XIMG is not set |
| +CONFIG_CMD_MEMINFO=y |
| +# CONFIG_CMD_FLASH is not set |
| +CONFIG_CMD_GPIO=y |
| +# CONFIG_CMD_LOADS is not set |
| +CONFIG_CMD_MTD=y |
| +CONFIG_CMD_SPI=y |
| +CONFIG_CMD_WDT=y |
| +CONFIG_CMD_DHCP=y |
| +CONFIG_CMD_MII=y |
| +CONFIG_CMD_PING=y |
| +CONFIG_CMD_TIME=y |
| +CONFIG_CMD_UUID=y |
| +CONFIG_CMD_MTDPARTS=y |
| +CONFIG_MTDIDS_DEFAULT="nor0=spi0.0" |
| +CONFIG_MTDPARTS_DEFAULT="spi0.0:192k(factory-uboot),64k(config),64k(factory),1536k(loader),64k(params),64k(user_backup),64k(user),14272k(firmware),64k(mode)" |
| +CONFIG_DEFAULT_DEVICE_TREE="ravpower-rp-wd009" |
| +CONFIG_NET_RANDOM_ETHADDR=y |
| +# CONFIG_DM_DEVICE_REMOVE is not set |
| +CONFIG_HAVE_BLOCK_DEVICE=y |
| +CONFIG_LED=y |
| +CONFIG_LED_BLINK=y |
| +CONFIG_LED_GPIO=y |
| +CONFIG_MTD=y |
| +CONFIG_DM_MTD=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_MTD_UBI_BEB_LIMIT=22 |
| +CONFIG_MT7628_ETH=y |
| +CONFIG_PHY=y |
| +CONFIG_SPI=y |
| +CONFIG_MT7621_SPI=y |
| +CONFIG_SYSRESET_SYSCON=y |
| +CONFIG_WDT=y |
| +CONFIG_WDT_MT7621=y |
| +CONFIG_LZMA=y |
| +CONFIG_BAUDRATE=57600 |
| diff --git a/include/configs/ravpower-rp-wd009.h b/include/configs/ravpower-rp-wd009.h |
| new file mode 100644 |
| index 0000000000..bb4145197c |
| --- /dev/null |
| +++ b/include/configs/ravpower-rp-wd009.h |
| @@ -0,0 +1,48 @@ |
| +/* SPDX-License-Identifier: GPL-2.0+ */ |
| +/* |
| + * Copyright (C) 2018 Stefan Roese <sr@denx.de> |
| + */ |
| + |
| +#ifndef __CONFIG_RAVPOWER_RP_WD009_H |
| +#define __CONFIG_RAVPOWER_RP_WD009_H |
| + |
| +/* CPU */ |
| +#define CONFIG_SYS_MIPS_TIMER_FREQ 290000000 |
| + |
| +/* 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, 460800, 921600 } |
| + |
| +/* 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 (16 * 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 */ |
| + |
| +/* |
| + * 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_RAVPOWER_RP_WD009_H */ |
| -- |
| 2.27.0 |
| |