1 From 593db38363297247df731566c2aa307a5d795005 Mon Sep 17 00:00:00 2001
2 From: David Bauer <mail@david-bauer.net>
3 Date: Thu, 18 Jun 2020 00:13:11 +0200
4 Subject: [PATCH] add support for RAVPower RP-WD009
7 arch/mips/dts/Makefile | 3 +-
8 arch/mips/dts/ravpower-rp-wd009.dts | 50 +++++++++++++++++++++
9 arch/mips/mach-mtmips/Kconfig | 9 ++++
10 board/ravpower/rp-wd009/Kconfig | 12 +++++
11 board/ravpower/rp-wd009/Makefile | 3 ++
12 board/ravpower/rp-wd009/board.c | 16 +++++++
13 configs/ravpower-rp-wd009-ram_defconfig | 59 +++++++++++++++++++++++++
14 include/configs/ravpower-rp-wd009.h | 48 ++++++++++++++++++++
15 8 files changed, 199 insertions(+), 1 deletion(-)
16 create mode 100644 arch/mips/dts/ravpower-rp-wd009.dts
17 create mode 100644 board/ravpower/rp-wd009/Kconfig
18 create mode 100644 board/ravpower/rp-wd009/Makefile
19 create mode 100644 board/ravpower/rp-wd009/board.c
20 create mode 100644 configs/ravpower-rp-wd009-ram_defconfig
21 create mode 100644 include/configs/ravpower-rp-wd009.h
23 diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile
24 index c9d75596f2..23868ae1d2 100644
25 --- a/arch/mips/dts/Makefile
26 +++ b/arch/mips/dts/Makefile
29 dtb-$(CONFIG_ARCH_MTMIPS) += \
30 gardena-smart-gateway-mt7688.dtb \
31 - linkit-smart-7688.dtb
32 + linkit-smart-7688.dtb \
33 + ravpower-rp-wd009.dtb
34 dtb-$(CONFIG_TARGET_AP121) += ap121.dtb
35 dtb-$(CONFIG_TARGET_AP143) += ap143.dtb
36 dtb-$(CONFIG_TARGET_AP152) += ap152.dtb
37 diff --git a/arch/mips/dts/ravpower-rp-wd009.dts b/arch/mips/dts/ravpower-rp-wd009.dts
39 index 0000000000..b271d5bfbc
41 +++ b/arch/mips/dts/ravpower-rp-wd009.dts
43 +// SPDX-License-Identifier: GPL-2.0
45 + * Copyright (C) 2018 Stefan Roese <sr@denx.de>
50 +#include "mt7628a.dtsi"
51 +#include <dt-bindings/gpio/gpio.h>
54 + compatible = "ravpower,rp-wd009", "ralink,mt7628a-soc";
55 + model = "RAVPower RP-WD009";
63 + device_type = "memory";
64 + reg = <0x0 0x4000000>;
68 + stdout-path = "serial0:115200n8";
81 + #address-cells = <1>;
83 + compatible = "jedec,spi-nor";
84 + spi-max-frequency = <40000000>;
90 + pinctrl-names = "default";
91 + pinctrl-0 = <&ephy_router_mode>;
93 diff --git a/arch/mips/mach-mtmips/Kconfig b/arch/mips/mach-mtmips/Kconfig
94 index c8dcf19c0d..85ac8878ab 100644
95 --- a/arch/mips/mach-mtmips/Kconfig
96 +++ b/arch/mips/mach-mtmips/Kconfig
97 @@ -32,6 +32,14 @@ config BOARD_GARDENA_SMART_GATEWAY_MT7688
98 GARDENA smart Gateway boards have a MT7688 SoC with 128 MiB of RAM
99 and 8 MiB of flash (SPI NOR) and additional SPI NAND storage.
101 +config BOARD_RAVPOWER_RP_WD009
102 + bool "RAVPower RP-WD009"
103 + depends on SOC_MT7628
104 + select BOARD_LATE_INIT
105 + select SUPPORTS_BOOT_RAM
109 config BOARD_LINKIT_SMART_7688
110 bool "LinkIt Smart 7688"
111 depends on SOC_MT7628
112 @@ -133,6 +141,7 @@ config SUPPORTS_BOOT_RAM
115 source "board/gardena/smart-gateway-mt7688/Kconfig"
116 +source "board/ravpower/rp-wd009/Kconfig"
117 source "board/seeed/linkit-smart-7688/Kconfig"
120 diff --git a/board/ravpower/rp-wd009/Kconfig b/board/ravpower/rp-wd009/Kconfig
122 index 0000000000..111f8e4478
124 +++ b/board/ravpower/rp-wd009/Kconfig
126 +if BOARD_RAVPOWER_RP_WD009
134 +config SYS_CONFIG_NAME
135 + default "ravpower-rp-wd009"
138 diff --git a/board/ravpower/rp-wd009/Makefile b/board/ravpower/rp-wd009/Makefile
140 index 0000000000..70cd7a8e56
142 +++ b/board/ravpower/rp-wd009/Makefile
144 +# SPDX-License-Identifier: GPL-2.0+
147 diff --git a/board/ravpower/rp-wd009/board.c b/board/ravpower/rp-wd009/board.c
149 index 0000000000..eabcf85735
151 +++ b/board/ravpower/rp-wd009/board.c
153 +// SPDX-License-Identifier: GPL-2.0+
155 + * Copyright (C) 2018 Stefan Roese <sr@denx.de>
159 +int board_early_init_f(void)
165 +int board_late_init(void)
169 diff --git a/configs/ravpower-rp-wd009-ram_defconfig b/configs/ravpower-rp-wd009-ram_defconfig
171 index 0000000000..08cbf40638
173 +++ b/configs/ravpower-rp-wd009-ram_defconfig
176 +CONFIG_SYS_TEXT_BASE=0x80010000
177 +CONFIG_NR_DRAM_BANKS=1
178 +CONFIG_ARCH_MTMIPS=y
179 +CONFIG_MIPS_BOOT_FDT=y
180 +CONFIG_LEGACY_IMAGE_FORMAT=y
181 +CONFIG_OF_STDOUT_VIA_ALIAS=y
182 +CONFIG_USE_BOOTCOMMAND=y
183 +CONFIG_BOOTCOMMAND="sf probe && mtd read firmware 82000000 && bootm 82000000"
184 +CONFIG_USE_PREBOOT=y
185 +CONFIG_SYS_CONSOLE_INFO_QUIET=y
186 +CONFIG_VERSION_VARIABLE=y
187 +CONFIG_BOARD_RAVPOWER_RP_WD009=y
188 +CONFIG_BOARD_EARLY_INIT_F=y
189 +CONFIG_HUSH_PARSER=y
190 +CONFIG_CMD_LICENSE=y
191 +# CONFIG_CMD_ELF is not set
192 +# CONFIG_CMD_XIMG is not set
193 +CONFIG_CMD_MEMINFO=y
194 +# CONFIG_CMD_FLASH is not set
196 +# CONFIG_CMD_LOADS is not set
205 +CONFIG_CMD_MTDPARTS=y
206 +CONFIG_MTDIDS_DEFAULT="nor0=spi0.0"
207 +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)"
208 +CONFIG_DEFAULT_DEVICE_TREE="ravpower-rp-wd009"
209 +CONFIG_NET_RANDOM_ETHADDR=y
210 +# CONFIG_DM_DEVICE_REMOVE is not set
211 +CONFIG_HAVE_BLOCK_DEVICE=y
217 +CONFIG_SPI_FLASH_GIGADEVICE=y
218 +CONFIG_SPI_FLASH_MACRONIX=y
219 +CONFIG_SPI_FLASH_SPANSION=y
220 +CONFIG_SPI_FLASH_STMICRO=y
221 +CONFIG_SPI_FLASH_WINBOND=y
222 +CONFIG_SPI_FLASH_XMC=y
223 +CONFIG_SPI_FLASH_MTD=y
224 +CONFIG_MTD_UBI_BEB_LIMIT=22
229 +CONFIG_SYSRESET_SYSCON=y
233 +CONFIG_BAUDRATE=57600
234 diff --git a/include/configs/ravpower-rp-wd009.h b/include/configs/ravpower-rp-wd009.h
236 index 0000000000..bb4145197c
238 +++ b/include/configs/ravpower-rp-wd009.h
240 +/* SPDX-License-Identifier: GPL-2.0+ */
242 + * Copyright (C) 2018 Stefan Roese <sr@denx.de>
245 +#ifndef __CONFIG_RAVPOWER_RP_WD009_H
246 +#define __CONFIG_RAVPOWER_RP_WD009_H
249 +#define CONFIG_SYS_MIPS_TIMER_FREQ 290000000
252 +#define CONFIG_SYS_SDRAM_BASE 0x80000000
254 +#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_SDRAM_BASE + 0x100000
256 +#define CONFIG_SYS_INIT_SP_OFFSET 0x400000
258 +#ifdef CONFIG_BOOT_RAM
259 +#define CONFIG_SKIP_LOWLEVEL_INIT
263 +#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, \
264 + 230400, 460800, 921600 }
267 +#define CONFIG_SYS_MEMTEST_START 0x80100000
268 +#define CONFIG_SYS_MEMTEST_END 0x80400000
271 +#define CONFIG_SYS_MAXARGS 64
272 +#define CONFIG_SYS_MALLOC_LEN (16 * 1024 * 1024)
273 +#define CONFIG_SYS_BOOTPARAMS_LEN (128 * 1024)
274 +#define CONFIG_SYS_CBSIZE 512
277 +#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
279 +/* Environment settings */
282 + * Environment is right behind U-Boot in flash. Make sure U-Boot
283 + * doesn't grow into the environment area.
285 +#define CONFIG_BOARD_SIZE_LIMIT CONFIG_ENV_OFFSET
287 +#endif /* __CONFIG_RAVPOWER_RP_WD009_H */