ramips: add support for RAVPower RP-WD009
[openwrt/openwrt.git] / package / boot / uboot-ramips / patches / 0001-add-support-for-RAVPower-RP-WD009.patch
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
5
6 ---
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
22
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
27 @@ -2,7 +2,8 @@
28
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
38 new file mode 100644
39 index 0000000000..b271d5bfbc
40 --- /dev/null
41 +++ b/arch/mips/dts/ravpower-rp-wd009.dts
42 @@ -0,0 +1,50 @@
43 +// SPDX-License-Identifier: GPL-2.0
44 +/*
45 + * Copyright (C) 2018 Stefan Roese <sr@denx.de>
46 + */
47 +
48 +/dts-v1/;
49 +
50 +#include "mt7628a.dtsi"
51 +#include <dt-bindings/gpio/gpio.h>
52 +
53 +/ {
54 + compatible = "ravpower,rp-wd009", "ralink,mt7628a-soc";
55 + model = "RAVPower RP-WD009";
56 +
57 + aliases {
58 + serial0 = &uart0;
59 + spi0 = &spi0;
60 + };
61 +
62 + memory@0 {
63 + device_type = "memory";
64 + reg = <0x0 0x4000000>;
65 + };
66 +
67 + chosen {
68 + stdout-path = "serial0:115200n8";
69 + };
70 +};
71 +
72 +&uart0 {
73 + status = "okay";
74 +};
75 +
76 +&spi0 {
77 + status = "okay";
78 + num-cs = <2>;
79 +
80 + spi-flash@0 {
81 + #address-cells = <1>;
82 + #size-cells = <1>;
83 + compatible = "jedec,spi-nor";
84 + spi-max-frequency = <40000000>;
85 + reg = <0>;
86 + };
87 +};
88 +
89 +&eth {
90 + pinctrl-names = "default";
91 + pinctrl-0 = <&ephy_router_mode>;
92 +};
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.
100
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
106 + help
107 + RAVPower RP-WD009
108 +
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
113 bool
114
115 source "board/gardena/smart-gateway-mt7688/Kconfig"
116 +source "board/ravpower/rp-wd009/Kconfig"
117 source "board/seeed/linkit-smart-7688/Kconfig"
118
119 endmenu
120 diff --git a/board/ravpower/rp-wd009/Kconfig b/board/ravpower/rp-wd009/Kconfig
121 new file mode 100644
122 index 0000000000..111f8e4478
123 --- /dev/null
124 +++ b/board/ravpower/rp-wd009/Kconfig
125 @@ -0,0 +1,12 @@
126 +if BOARD_RAVPOWER_RP_WD009
127 +
128 +config SYS_BOARD
129 + default "rp-wd009"
130 +
131 +config SYS_VENDOR
132 + default "ravpower"
133 +
134 +config SYS_CONFIG_NAME
135 + default "ravpower-rp-wd009"
136 +
137 +endif
138 diff --git a/board/ravpower/rp-wd009/Makefile b/board/ravpower/rp-wd009/Makefile
139 new file mode 100644
140 index 0000000000..70cd7a8e56
141 --- /dev/null
142 +++ b/board/ravpower/rp-wd009/Makefile
143 @@ -0,0 +1,3 @@
144 +# SPDX-License-Identifier: GPL-2.0+
145 +
146 +obj-y += board.o
147 diff --git a/board/ravpower/rp-wd009/board.c b/board/ravpower/rp-wd009/board.c
148 new file mode 100644
149 index 0000000000..eabcf85735
150 --- /dev/null
151 +++ b/board/ravpower/rp-wd009/board.c
152 @@ -0,0 +1,16 @@
153 +// SPDX-License-Identifier: GPL-2.0+
154 +/*
155 + * Copyright (C) 2018 Stefan Roese <sr@denx.de>
156 + */
157 +
158 +
159 +int board_early_init_f(void)
160 +{
161 + return 0;
162 +}
163 +
164 +
165 +int board_late_init(void)
166 +{
167 + return 0;
168 +}
169 diff --git a/configs/ravpower-rp-wd009-ram_defconfig b/configs/ravpower-rp-wd009-ram_defconfig
170 new file mode 100644
171 index 0000000000..08cbf40638
172 --- /dev/null
173 +++ b/configs/ravpower-rp-wd009-ram_defconfig
174 @@ -0,0 +1,59 @@
175 +CONFIG_MIPS=y
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
195 +CONFIG_CMD_GPIO=y
196 +# CONFIG_CMD_LOADS is not set
197 +CONFIG_CMD_MTD=y
198 +CONFIG_CMD_SPI=y
199 +CONFIG_CMD_WDT=y
200 +CONFIG_CMD_DHCP=y
201 +CONFIG_CMD_MII=y
202 +CONFIG_CMD_PING=y
203 +CONFIG_CMD_TIME=y
204 +CONFIG_CMD_UUID=y
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
212 +CONFIG_LED=y
213 +CONFIG_LED_BLINK=y
214 +CONFIG_LED_GPIO=y
215 +CONFIG_MTD=y
216 +CONFIG_DM_MTD=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
225 +CONFIG_MT7628_ETH=y
226 +CONFIG_PHY=y
227 +CONFIG_SPI=y
228 +CONFIG_MT7621_SPI=y
229 +CONFIG_SYSRESET_SYSCON=y
230 +CONFIG_WDT=y
231 +CONFIG_WDT_MT7621=y
232 +CONFIG_LZMA=y
233 +CONFIG_BAUDRATE=57600
234 diff --git a/include/configs/ravpower-rp-wd009.h b/include/configs/ravpower-rp-wd009.h
235 new file mode 100644
236 index 0000000000..bb4145197c
237 --- /dev/null
238 +++ b/include/configs/ravpower-rp-wd009.h
239 @@ -0,0 +1,48 @@
240 +/* SPDX-License-Identifier: GPL-2.0+ */
241 +/*
242 + * Copyright (C) 2018 Stefan Roese <sr@denx.de>
243 + */
244 +
245 +#ifndef __CONFIG_RAVPOWER_RP_WD009_H
246 +#define __CONFIG_RAVPOWER_RP_WD009_H
247 +
248 +/* CPU */
249 +#define CONFIG_SYS_MIPS_TIMER_FREQ 290000000
250 +
251 +/* RAM */
252 +#define CONFIG_SYS_SDRAM_BASE 0x80000000
253 +
254 +#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_SDRAM_BASE + 0x100000
255 +
256 +#define CONFIG_SYS_INIT_SP_OFFSET 0x400000
257 +
258 +#ifdef CONFIG_BOOT_RAM
259 +#define CONFIG_SKIP_LOWLEVEL_INIT
260 +#endif
261 +
262 +/* UART */
263 +#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, \
264 + 230400, 460800, 921600 }
265 +
266 +/* RAM */
267 +#define CONFIG_SYS_MEMTEST_START 0x80100000
268 +#define CONFIG_SYS_MEMTEST_END 0x80400000
269 +
270 +/* Memory usage */
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
275 +
276 +/* U-Boot */
277 +#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
278 +
279 +/* Environment settings */
280 +
281 +/*
282 + * Environment is right behind U-Boot in flash. Make sure U-Boot
283 + * doesn't grow into the environment area.
284 + */
285 +#define CONFIG_BOARD_SIZE_LIMIT CONFIG_ENV_OFFSET
286 +
287 +#endif /* __CONFIG_RAVPOWER_RP_WD009_H */
288 --
289 2.27.0
290