OpenWrt – Diff between revs 2 and 3
?pathlinks?
Rev 2 | Rev 3 | |||
---|---|---|---|---|
Line 1... | Line 1... | |||
1 | From 6af0148a38b23ba761905f98a7211fab986033ce Mon Sep 17 00:00:00 2001 |
1 | From 25de6430219d3f3698d709c10358fbea17b24cf1 Mon Sep 17 00:00:00 2001 |
|
2 | From: Michael Heimpold <mhei@heimpold.de> |
2 | From: Michael Heimpold <mhei@heimpold.de> |
|
3 | Date: Thu, 13 Sep 2018 21:40:19 +0200 |
3 | Date: Fri, 21 Apr 2017 11:08:19 +0200 |
|
4 | Subject: [PATCH] arm: mxs: add support for I2SE's Duckbill boards |
4 | Subject: [PATCH] arm: mxs: add support for I2SE's Duckbill boards |
|
Line 5... | Line 5... | |||
5 | |
5 | |
|
6 | The Duckbill devices are small, pen-drive sized boards based on |
6 | The Duckbill devices are small, pen-drive sized boards based on |
|
7 | NXP's i.MX28 SoC. While the initial variants (Duckbill series) were |
7 | NXP's i.MX28 SoC. While the initial variants (Duckbill series) were |
|
8 | equipped with a micro SD card slot only, the latest generation |
8 | equipped with a micro SD card slot only, the latest generation |
|
Line 9... | Line 9... | |||
9 | (Duckbill 2 series) have an additional internal eMMC onboard. |
9 | (Duckbill 2 series) have an additional internal eMMC onboard. |
|
Line 10... | Line 10... | |||
10 | |
10 | |
|
11 | Both device generations consist of four "family members": |
11 | Both device generations consists of four "family members": |
|
Line 12... | Line 12... | |||
12 | |
12 | |
|
Line 24... | Line 24... | |||
24 | communication |
24 | communication |
|
Line 25... | Line 25... | |||
25 | |
25 | |
|
26 | Signed-off-by: Michael Heimpold <mhei@heimpold.de> |
26 | Signed-off-by: Michael Heimpold <mhei@heimpold.de> |
|
27 | Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> |
27 | Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> |
|
28 | --- |
28 | --- |
|
29 | arch/arm/mach-imx/mxs/Kconfig | 5 + |
29 | arch/arm/Kconfig | 9 +- |
|
30 | board/i2se/duckbill/Kconfig | 15 +++ |
30 | board/i2se/duckbill/Kconfig | 15 +++ |
|
31 | board/i2se/duckbill/MAINTAINERS | 6 ++ |
31 | board/i2se/duckbill/MAINTAINERS | 6 ++ |
|
32 | board/i2se/duckbill/Makefile | 10 ++ |
32 | board/i2se/duckbill/Makefile | 12 +++ |
|
33 | board/i2se/duckbill/duckbill.c | 186 ++++++++++++++++++++++++++++++++ |
33 | board/i2se/duckbill/duckbill.c | 181 ++++++++++++++++++++++++++++++++++++ |
|
34 | board/i2se/duckbill/iomux.c | 156 +++++++++++++++++++++++++++ |
34 | board/i2se/duckbill/iomux.c | 157 +++++++++++++++++++++++++++++++ |
|
35 | configs/duckbill_defconfig | 38 +++++++ |
35 | configs/duckbill_defconfig | 31 +++++++ |
|
36 | include/configs/duckbill.h | 179 ++++++++++++++++++++++++++++++ |
36 | include/configs/duckbill.h | 199 ++++++++++++++++++++++++++++++++++++++++ |
|
37 | 8 files changed, 595 insertions(+) |
37 | 8 files changed, 609 insertions(+), 1 deletion(-) |
|
38 | create mode 100644 board/i2se/duckbill/Kconfig |
38 | create mode 100644 board/i2se/duckbill/Kconfig |
|
39 | create mode 100644 board/i2se/duckbill/MAINTAINERS |
39 | create mode 100644 board/i2se/duckbill/MAINTAINERS |
|
40 | create mode 100644 board/i2se/duckbill/Makefile |
40 | create mode 100644 board/i2se/duckbill/Makefile |
|
41 | create mode 100644 board/i2se/duckbill/duckbill.c |
41 | create mode 100644 board/i2se/duckbill/duckbill.c |
|
42 | create mode 100644 board/i2se/duckbill/iomux.c |
42 | create mode 100644 board/i2se/duckbill/iomux.c |
|
43 | create mode 100644 configs/duckbill_defconfig |
43 | create mode 100644 configs/duckbill_defconfig |
|
Line 44... | Line -... | |||
44 | create mode 100644 include/configs/duckbill.h |
- | ||
45 | |
- | ||
46 | diff --git a/arch/arm/mach-imx/mxs/Kconfig b/arch/arm/mach-imx/mxs/Kconfig |
44 | create mode 100644 include/configs/duckbill.h |
|
47 | index 68072d5a1f..82aaa3ef76 100644 |
45 | |
|
48 | --- a/arch/arm/mach-imx/mxs/Kconfig |
46 | --- a/arch/arm/Kconfig |
|
49 | +++ b/arch/arm/mach-imx/mxs/Kconfig |
47 | +++ b/arch/arm/Kconfig |
|
50 | @@ -50,6 +50,10 @@ config TARGET_APX4DEVKIT |
48 | @@ -373,6 +373,12 @@ config TARGET_MX28EVK |
|
Line 51... | Line 49... | |||
51 | config TARGET_BG0900 |
49 | select SUPPORT_SPL |
|
52 | bool "Support bg0900" |
50 | select BOARD_EARLY_INIT_F |
|
- | 51 | |
||
- | 52 | +config TARGET_DUCKBILL |
||
53 | |
53 | + bool "Support duckbill" |
|
54 | +config TARGET_DUCKBILL |
54 | + select CPU_ARM926EJS |
|
55 | + bool "Support duckbill" |
55 | + select SUPPORT_SPL |
|
56 | + select BOARD_EARLY_INIT_F |
56 | + select BOARD_EARLY_INIT_F |
|
57 | + |
57 | + |
|
58 | config TARGET_MX28EVK |
58 | config TARGET_MX23_OLINUXINO |
|
59 | bool "Support mx28evk" |
- | ||
- | 59 | bool "Support mx23_olinuxino" |
||
60 | select BOARD_EARLY_INIT_F |
60 | select CPU_ARM926EJS |
|
61 | @@ -67,6 +71,7 @@ config SYS_SOC |
61 | @@ -1250,6 +1256,7 @@ source "board/gumstix/pepper/Kconfig" |
|
62 | |
62 | source "board/h2200/Kconfig" |
|
63 | source "board/bluegiga/apx4devkit/Kconfig" |
63 | source "board/hisilicon/hikey/Kconfig" |
|
64 | source "board/freescale/mx28evk/Kconfig" |
64 | source "board/hisilicon/poplar/Kconfig" |
|
65 | +source "board/i2se/duckbill/Kconfig" |
65 | +source "board/i2se/duckbill/Kconfig" |
|
66 | source "board/ppcag/bg0900/Kconfig" |
66 | source "board/imx31_phycore/Kconfig" |
|
- | 67 | source "board/isee/igep003x/Kconfig" |
||
- | 68 | source "board/olimex/mx23_olinuxino/Kconfig" |
||
67 | source "board/schulercontrol/sc_sps_1/Kconfig" |
69 | @@ -1279,7 +1286,7 @@ source "arch/arm/Kconfig.debug" |
|
- | 70 | endmenu |
||
68 | source "board/technologic/ts4600/Kconfig" |
71 | |
|
- | 72 | config SPL_LDSCRIPT |
||
- | 73 | - default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if TARGET_APX4DEVKIT || TARGET_BG0900 || TARGET_M28EVK || TARGET_MX23_OLINUXINO || TARGET_MX23EVK || TARGET_MX28EVK || TARGET_SANSA_FUZE_PLUS || TARGET_SC_SPS_1 || TARGET_TS4600 || TARGET_XFI3 |
||
- | 74 | + default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if TARGET_APX4DEVKIT || TARGET_BG0900 || TARGET_M28EVK || TARGET_MX23_OLINUXINO || TARGET_MX23EVK || TARGET_MX28EVK || TARGET_DUCKBILL || TARGET_SANSA_FUZE_PLUS || TARGET_SC_SPS_1 || TARGET_TS4600 || TARGET_XFI3 |
||
69 | diff --git a/board/i2se/duckbill/Kconfig b/board/i2se/duckbill/Kconfig |
75 | default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136 |
|
70 | new file mode 100644 |
76 | default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64 |
|
71 | index 0000000000..98c1e4689f |
77 | |
|
72 | --- /dev/null |
78 | --- /dev/null |
|
73 | +++ b/board/i2se/duckbill/Kconfig |
79 | +++ b/board/i2se/duckbill/Kconfig |
|
Line 85... | Line 91... | |||
85 | + |
91 | + |
|
86 | +config SYS_CONFIG_NAME |
92 | +config SYS_CONFIG_NAME |
|
87 | + default "duckbill" |
93 | + default "duckbill" |
|
88 | + |
94 | + |
|
89 | +endif |
95 | +endif |
|
90 | diff --git a/board/i2se/duckbill/MAINTAINERS b/board/i2se/duckbill/MAINTAINERS |
- | ||
91 | new file mode 100644 |
- | ||
92 | index 0000000000..5496baa330 |
- | ||
93 | --- /dev/null |
96 | --- /dev/null |
|
94 | +++ b/board/i2se/duckbill/MAINTAINERS |
97 | +++ b/board/i2se/duckbill/MAINTAINERS |
|
95 | @@ -0,0 +1,6 @@ |
98 | @@ -0,0 +1,6 @@ |
|
96 | +I2SE DUCKBILL BOARD |
99 | +I2SE DUCKBILL BOARD |
|
97 | +M: Michael Heimpold <mhei@heimpold.de> |
100 | +M: Michael Heimpold <mhei@heimpold.de> |
|
98 | +S: Maintained |
101 | +S: Maintained |
|
99 | +F: board/i2se/duckbill/ |
102 | +F: board/i2se/duckbill/ |
|
100 | +F: include/configs/duckbill.h |
103 | +F: include/configs/duckbill.h |
|
101 | +F: configs/duckbill_defconfig |
104 | +F: configs/duckbill_defconfig |
|
102 | diff --git a/board/i2se/duckbill/Makefile b/board/i2se/duckbill/Makefile |
- | ||
103 | new file mode 100644 |
- | ||
104 | index 0000000000..0079eb413c |
- | ||
105 | --- /dev/null |
105 | --- /dev/null |
|
106 | +++ b/board/i2se/duckbill/Makefile |
106 | +++ b/board/i2se/duckbill/Makefile |
|
107 | @@ -0,0 +1,10 @@ |
107 | @@ -0,0 +1,12 @@ |
|
108 | +# SPDX-License-Identifier: GPL-2.0+ |
- | ||
109 | +# |
108 | +# |
|
110 | +# (C) Copyright 2014-2019 |
109 | +# (C) Copyright 2014-2017 |
|
111 | +# Michael Heimpold, mhei@heimpold.de. |
110 | +# Michael Heimpold, mhei@heimpold.de. |
|
- | 111 | +# |
||
- | 112 | +# SPDX-License-Identifier: GPL-2.0+ |
||
- | 113 | +# |
||
112 | + |
114 | + |
|
113 | +ifndef CONFIG_SPL_BUILD |
115 | +ifndef CONFIG_SPL_BUILD |
|
114 | +obj-y := duckbill.o |
116 | +obj-y := duckbill.o |
|
115 | +else |
117 | +else |
|
116 | +obj-y := iomux.o |
118 | +obj-y := iomux.o |
|
117 | +endif |
119 | +endif |
|
118 | diff --git a/board/i2se/duckbill/duckbill.c b/board/i2se/duckbill/duckbill.c |
- | ||
119 | new file mode 100644 |
- | ||
120 | index 0000000000..f93c372611 |
- | ||
121 | --- /dev/null |
120 | --- /dev/null |
|
122 | +++ b/board/i2se/duckbill/duckbill.c |
121 | +++ b/board/i2se/duckbill/duckbill.c |
|
123 | @@ -0,0 +1,186 @@ |
122 | @@ -0,0 +1,181 @@ |
|
124 | +// SPDX-License-Identifier: GPL-2.0+ |
- | ||
125 | +/* |
123 | +/* |
|
126 | + * I2SE Duckbill board |
124 | + * I2SE Duckbill board |
|
127 | + * |
125 | + * |
|
128 | + * (C) Copyright 2014-2019 Michael Heimpold <mhei@heimpold.de> |
126 | + * (C) Copyright 2014-2017 Michael Heimpold <mhei@heimpold.de> |
|
- | 127 | + * |
||
- | 128 | + * SPDX-License-Identifier: GPL-2.0+ |
||
129 | + */ |
129 | + */ |
|
130 | + |
130 | + |
|
131 | +#include <common.h> |
131 | +#include <common.h> |
|
132 | +#include <asm/gpio.h> |
132 | +#include <asm/gpio.h> |
|
133 | +#include <asm/io.h> |
133 | +#include <asm/io.h> |
|
Line 203... | Line 203... | |||
203 | + gpio_set_value(reset_gpio, 1); |
203 | + gpio_set_value(reset_gpio, 1); |
|
204 | + |
204 | + |
|
205 | + /* give PHY some time to get out of the reset */ |
205 | + /* give PHY some time to get out of the reset */ |
|
206 | + udelay(10000); |
206 | + udelay(10000); |
|
207 | + |
207 | + |
|
208 | + ret = fecmxc_initialize_multi(bis, 0, 0, MXS_ENET0_BASE); |
208 | + ret = fecmxc_initialize(bis); |
|
209 | + if (ret) { |
209 | + if (ret) { |
|
210 | + puts("FEC MXS: Unable to init FEC\n"); |
210 | + puts("FEC MXS: Unable to init FEC\n"); |
|
211 | + return ret; |
211 | + return ret; |
|
212 | + } |
212 | + } |
|
213 | + |
213 | + |
|
Line 226... | Line 226... | |||
226 | +int ft_board_setup(void *blob, bd_t *bd) |
226 | +int ft_board_setup(void *blob, bd_t *bd) |
|
227 | +{ |
227 | +{ |
|
228 | + uint8_t enetaddr[6]; |
228 | + uint8_t enetaddr[6]; |
|
229 | + u32 mac = 0; |
229 | + u32 mac = 0; |
|
230 | + |
230 | + |
|
- | 231 | + enetaddr[0] = 0x00; |
||
- | 232 | + enetaddr[1] = 0x01; |
||
- | 233 | + enetaddr[2] = 0x87; |
||
- | 234 | + |
||
231 | +#ifdef CONFIG_MXS_OCOTP |
235 | +#ifdef CONFIG_MXS_OCOTP |
|
232 | + /* only Duckbill SPI has a MAC for the QCA7k */ |
236 | + /* only Duckbill SPI has a MAC for the QCA7k */ |
|
233 | + fuse_read(0, 1, &mac); |
237 | + fuse_read(0, 1, &mac); |
|
234 | +#endif |
238 | +#endif |
|
235 | + |
239 | + |
|
236 | + if (mac != 0) { |
240 | + if (mac != 0) { |
|
237 | + enetaddr[0] = 0x00; |
- | ||
238 | + enetaddr[1] = 0x01; |
- | ||
239 | + enetaddr[2] = 0x87; |
- | ||
240 | + enetaddr[3] = (mac >> 16) & 0xff; |
241 | + enetaddr[3] = (mac >> 16) & 0xff; |
|
241 | + enetaddr[4] = (mac >> 8) & 0xff; |
242 | + enetaddr[4] = (mac >> 8) & 0xff; |
|
242 | + enetaddr[5] = mac & 0xff; |
243 | + enetaddr[5] = mac & 0xff; |
|
243 | + |
244 | + |
|
244 | + fdt_find_and_setprop(blob, "spi1/ethernet@0", |
245 | + fdt_find_and_setprop(blob, |
|
- | 246 | + "/apb@80000000/apbh@80000000/ssp@80014000/ethernet@0", |
||
245 | + "local-mac-address", enetaddr, 6, 1); |
247 | + "local-mac-address", enetaddr, 6, 1); |
|
246 | + } |
248 | + } |
|
247 | + |
249 | + |
|
248 | + return 0; |
250 | + return 0; |
|
249 | +} |
251 | +} |
|
Line 275... | Line 277... | |||
275 | + /* MX28_PAD_LCD_D17__GPIO_1_17: v1 = pull-down, v2 = pull-up */ |
277 | + /* MX28_PAD_LCD_D17__GPIO_1_17: v1 = pull-down, v2 = pull-up */ |
|
276 | + system_rev = |
278 | + system_rev = |
|
277 | + gpio_get_value(MX28_PAD_LCD_D17__GPIO_1_17); |
279 | + gpio_get_value(MX28_PAD_LCD_D17__GPIO_1_17); |
|
278 | + system_rev += 1; |
280 | + system_rev += 1; |
|
279 | + |
281 | + |
|
280 | + /* guess DT blob if not set in environment */ |
- | ||
281 | + if (!env_get("fdt_file")) { |
- | ||
282 | + if (system_rev == 1) |
- | ||
283 | + env_set("fdt_file", "imx28-duckbill.dtb"); |
- | ||
284 | + else |
- | ||
285 | + env_set("fdt_file", "imx28-duckbill-2.dtb"); |
- | ||
286 | + } |
- | ||
287 | + |
- | ||
288 | + /* enable red LED to indicate a running bootloader */ |
282 | + /* enable red LED to indicate a running bootloader */ |
|
289 | + if (system_rev == 1) |
283 | + if (system_rev == 1) |
|
290 | + led_red_gpio = MX28_PAD_AUART1_RX__GPIO_3_4; |
284 | + led_red_gpio = MX28_PAD_AUART1_RX__GPIO_3_4; |
|
291 | + else |
285 | + else |
|
292 | + led_red_gpio = MX28_PAD_SAIF0_LRCLK__GPIO_3_21; |
286 | + led_red_gpio = MX28_PAD_SAIF0_LRCLK__GPIO_3_21; |
|
Line 305... | Line 299... | |||
305 | + putc('\n'); |
299 | + putc('\n'); |
|
306 | + } |
300 | + } |
|
307 | + |
301 | + |
|
308 | + return 0; |
302 | + return 0; |
|
309 | +} |
303 | +} |
|
310 | diff --git a/board/i2se/duckbill/iomux.c b/board/i2se/duckbill/iomux.c |
- | ||
311 | new file mode 100644 |
- | ||
312 | index 0000000000..1db3c52c34 |
- | ||
313 | --- /dev/null |
304 | --- /dev/null |
|
314 | +++ b/board/i2se/duckbill/iomux.c |
305 | +++ b/board/i2se/duckbill/iomux.c |
|
315 | @@ -0,0 +1,156 @@ |
306 | @@ -0,0 +1,157 @@ |
|
316 | +// SPDX-License-Identifier: GPL-2.0+ |
- | ||
317 | +/* |
307 | +/* |
|
318 | + * I2SE Duckbill IOMUX setup |
308 | + * I2SE Duckbill IOMUX setup |
|
319 | + * |
309 | + * |
|
320 | + * Copyright (C) 2013-2019 Michael Heimpold <mhei@heimpold.de> |
310 | + * Copyright (C) 2013-2017 Michael Heimpold <mhei@heimpold.de> |
|
- | 311 | + * |
||
- | 312 | + * SPDX-License-Identifier: GPL-2.0+ |
||
321 | + */ |
313 | + */ |
|
322 | + |
314 | + |
|
323 | +#include <common.h> |
315 | +#include <common.h> |
|
324 | +#include <config.h> |
316 | +#include <config.h> |
|
325 | +#include <asm/io.h> |
317 | +#include <asm/io.h> |
|
Line 467... | Line 459... | |||
467 | + if (gpio_get_value(MX28_PAD_LCD_D17__GPIO_1_17)) |
459 | + if (gpio_get_value(MX28_PAD_LCD_D17__GPIO_1_17)) |
|
468 | + mxs_iomux_setup_multiple_pads(iomux_setup_v2, ARRAY_SIZE(iomux_setup_v2)); |
460 | + mxs_iomux_setup_multiple_pads(iomux_setup_v2, ARRAY_SIZE(iomux_setup_v2)); |
|
469 | + else |
461 | + else |
|
470 | + mxs_iomux_setup_multiple_pads(iomux_setup_v1, ARRAY_SIZE(iomux_setup_v1)); |
462 | + mxs_iomux_setup_multiple_pads(iomux_setup_v1, ARRAY_SIZE(iomux_setup_v1)); |
|
471 | +} |
463 | +} |
|
472 | diff --git a/configs/duckbill_defconfig b/configs/duckbill_defconfig |
- | ||
473 | new file mode 100644 |
- | ||
474 | index 0000000000..f92a67d53d |
- | ||
475 | --- /dev/null |
464 | --- /dev/null |
|
476 | +++ b/configs/duckbill_defconfig |
465 | +++ b/configs/duckbill_defconfig |
|
477 | @@ -0,0 +1,38 @@ |
466 | @@ -0,0 +1,31 @@ |
|
478 | +CONFIG_ARM=y |
467 | +CONFIG_ARM=y |
|
479 | +CONFIG_ARCH_MX28=y |
468 | +CONFIG_TARGET_DUCKBILL=y |
|
480 | +CONFIG_SYS_TEXT_BASE=0x40002000 |
- | ||
481 | +CONFIG_SPL_GPIO_SUPPORT=y |
469 | +CONFIG_SPL_GPIO_SUPPORT=y |
|
482 | +CONFIG_SPL_LIBCOMMON_SUPPORT=y |
470 | +CONFIG_SPL_LIBCOMMON_SUPPORT=y |
|
483 | +CONFIG_SPL_LIBGENERIC_SUPPORT=y |
471 | +CONFIG_SPL_LIBGENERIC_SUPPORT=y |
|
484 | +CONFIG_TARGET_DUCKBILL=y |
- | ||
485 | +CONFIG_SPL_SERIAL_SUPPORT=y |
472 | +CONFIG_SPL_SERIAL_SUPPORT=y |
|
486 | +CONFIG_SPL=y |
- | ||
487 | +CONFIG_NR_DRAM_BANKS=1 |
- | ||
488 | +CONFIG_BOOTDELAY=1 |
473 | +CONFIG_BOOTDELAY=1 |
|
- | 474 | +# CONFIG_CONSOLE_MUX is not set |
||
489 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y |
475 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y |
|
490 | +CONFIG_VERSION_VARIABLE=y |
476 | +CONFIG_VERSION_VARIABLE=y |
|
491 | +# CONFIG_DISPLAY_BOARDINFO is not set |
477 | +# CONFIG_DISPLAY_BOARDINFO is not set |
|
- | 478 | +# CONFIG_EFI_LOADER is not set |
||
492 | +CONFIG_ARCH_MISC_INIT=y |
479 | +CONFIG_ARCH_MISC_INIT=y |
|
493 | +# CONFIG_SPL_FRAMEWORK is not set |
480 | +CONFIG_SPL=y |
|
494 | +CONFIG_HUSH_PARSER=y |
481 | +CONFIG_HUSH_PARSER=y |
|
495 | +CONFIG_CMD_BOOTZ=y |
482 | +CONFIG_CMD_BOOTZ=y |
|
496 | +# CONFIG_CMD_ELF is not set |
483 | +# CONFIG_CMD_IMLS is not set |
|
497 | +CONFIG_CMD_UNZIP=y |
- | ||
498 | +# CONFIG_CMD_FLASH is not set |
484 | +# CONFIG_CMD_FLASH is not set |
|
499 | +CONFIG_CMD_FUSE=y |
- | ||
500 | +CONFIG_CMD_GPIO=y |
- | ||
501 | +CONFIG_CMD_MMC=y |
485 | +CONFIG_CMD_MMC=y |
|
502 | +CONFIG_CMD_MMC_SWRITE=y |
486 | +CONFIG_CMD_GPIO=y |
|
503 | +CONFIG_CMD_DHCP=y |
487 | +CONFIG_CMD_DHCP=y |
|
504 | +CONFIG_CMD_MII=y |
488 | +CONFIG_CMD_MII=y |
|
505 | +CONFIG_CMD_PING=y |
489 | +CONFIG_CMD_PING=y |
|
- | 490 | +CONFIG_CMD_CACHE=y |
||
506 | +CONFIG_CMD_EXT4=y |
491 | +CONFIG_CMD_EXT4=y |
|
507 | +CONFIG_CMD_EXT4_WRITE=y |
492 | +CONFIG_CMD_EXT4_WRITE=y |
|
- | 493 | +CONFIG_CMD_FAT=y |
||
508 | +CONFIG_CMD_FS_GENERIC=y |
494 | +CONFIG_CMD_FS_GENERIC=y |
|
509 | +CONFIG_DOS_PARTITION=y |
- | ||
510 | +CONFIG_ENV_IS_IN_MMC=y |
495 | +CONFIG_ENV_IS_IN_MMC=y |
|
511 | +CONFIG_MMC_MXS=y |
496 | +CONFIG_MMC_MXS=y |
|
512 | +CONFIG_MII=y |
- | ||
513 | +CONFIG_CONS_INDEX=0 |
- | ||
514 | +CONFIG_OF_LIBFDT=y |
497 | +CONFIG_OF_LIBFDT=y |
|
515 | +# CONFIG_EFI_LOADER is not set |
- | ||
516 | diff --git a/include/configs/duckbill.h b/include/configs/duckbill.h |
- | ||
517 | new file mode 100644 |
- | ||
518 | index 0000000000..e7fce8843e |
- | ||
519 | --- /dev/null |
498 | --- /dev/null |
|
520 | +++ b/include/configs/duckbill.h |
499 | +++ b/include/configs/duckbill.h |
|
521 | @@ -0,0 +1,179 @@ |
500 | @@ -0,0 +1,199 @@ |
|
522 | +/* SPDX-License-Identifier: GPL-2.0+ */ |
- | ||
523 | +/* |
501 | +/* |
|
524 | + * Copyright (C) 2014-2019 Michael Heimpold <mhei@heimpold.de> |
502 | + * Copyright (C) 2014-2015 Michael Heimpold <mhei@heimpold.de> |
|
525 | + * |
503 | + * |
|
- | 504 | + * SPDX-License-Identifier: GPL-2.0+ |
||
526 | + */ |
505 | + */ |
|
527 | +#ifndef __CONFIGS_DUCKBILL_H__ |
506 | +#ifndef __CONFIGS_DUCKBILL_H__ |
|
528 | +#define __CONFIGS_DUCKBILL_H__ |
507 | +#define __CONFIGS_DUCKBILL_H__ |
|
529 | + |
508 | + |
|
530 | +/* System configurations */ |
509 | +/* System configurations */ |
|
- | 510 | +#define CONFIG_MX28 /* i.MX28 SoC */ |
||
531 | +#define CONFIG_MACH_TYPE MACH_TYPE_DUCKBILL |
511 | +#define CONFIG_MACH_TYPE MACH_TYPE_DUCKBILL |
|
532 | + |
512 | + |
|
533 | +#define CONFIG_MISC_INIT_R |
513 | +#define CONFIG_MISC_INIT_R |
|
534 | + |
514 | + |
|
535 | +#define CONFIG_SYS_MXS_VDD5V_ONLY |
515 | +#define CONFIG_SYS_MXS_VDD5V_ONLY |
|
536 | + |
516 | + |
|
- | 517 | +/* U-Boot Commands */ |
||
- | 518 | +#define CONFIG_CMD_FUSE |
||
- | 519 | +#define CONFIG_CMD_UNZIP |
||
- | 520 | + |
||
537 | +/* Memory configuration */ |
521 | +/* Memory configuration */ |
|
- | 522 | +#define CONFIG_NR_DRAM_BANKS 1 /* 1 bank of DRAM */ |
||
538 | +#define PHYS_SDRAM_1 0x40000000 /* Base address */ |
523 | +#define PHYS_SDRAM_1 0x40000000 /* Base address */ |
|
539 | +#define PHYS_SDRAM_1_SIZE 0x40000000 /* Max 1 GB RAM */ |
524 | +#define PHYS_SDRAM_1_SIZE 0x40000000 /* Max 1 GB RAM */ |
|
540 | +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 |
525 | +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 |
|
541 | + |
526 | + |
|
542 | +/* Environment is in MMC */ |
527 | +/* Environment is in MMC */ |
|
Line 546... | Line 531... | |||
546 | +#define CONFIG_ENV_OFFSET_REDUND (256 * 1024) |
531 | +#define CONFIG_ENV_OFFSET_REDUND (256 * 1024) |
|
547 | +#define CONFIG_SYS_MMC_ENV_DEV 0 |
532 | +#define CONFIG_SYS_MMC_ENV_DEV 0 |
|
548 | +#define CONFIG_SYS_REDUNDAND_ENVIRONMENT |
533 | +#define CONFIG_SYS_REDUNDAND_ENVIRONMENT |
|
549 | + |
534 | + |
|
550 | +/* FEC Ethernet on SoC */ |
535 | +/* FEC Ethernet on SoC */ |
|
551 | +#ifdef CONFIG_CMD_NET |
536 | +#ifdef CONFIG_CMD_NET |
|
552 | +#define CONFIG_FEC_MXC |
537 | +#define CONFIG_FEC_MXC |
|
- | 538 | +#define CONFIG_NET_MULTI |
||
553 | +#define CONFIG_MX28_FEC_MAC_IN_OCOTP |
539 | +#define CONFIG_MX28_FEC_MAC_IN_OCOTP |
|
- | 540 | +#define CONFIG_FEC_MXC_PHYADDR 1 |
||
554 | +#define CONFIG_FEC_MXC_MDIO_BASE MXS_ENET0_BASE |
541 | +#define IMX_FEC_BASE MXS_ENET0_BASE |
|
555 | +#endif |
542 | +#endif |
|
556 | + |
543 | + |
|
557 | +#define CONFIG_IPADDR 192.168.1.10 |
544 | +#define CONFIG_IPADDR 192.168.1.10 |
|
558 | +#define CONFIG_SERVERIP 192.168.1.1 |
545 | +#define CONFIG_SERVERIP 192.168.1.1 |
|
559 | +#define CONFIG_NETMASK 255.255.255.0 |
546 | +#define CONFIG_NETMASK 255.255.255.0 |
|
560 | +#define CONFIG_GATEWAYIP 192.168.1.254 |
547 | +#define CONFIG_GATEWAYIP 192.168.1.254 |
|
561 | + |
548 | + |
|
- | 549 | +/* BOOTP options */ |
||
- | 550 | +#define CONFIG_BOOTP_SUBNETMASK |
||
- | 551 | +#define CONFIG_BOOTP_GATEWAY |
||
- | 552 | +#define CONFIG_BOOTP_HOSTNAME |
||
- | 553 | + |
||
- | 554 | +/* SPI */ |
||
- | 555 | +#ifdef CONFIG_CMD_SPI |
||
- | 556 | +#define CONFIG_DEFAULT_SPI_BUS 2 |
||
- | 557 | +#define CONFIG_DEFAULT_SPI_MODE SPI_MODE_0 |
||
- | 558 | +#endif |
||
- | 559 | + |
||
562 | +/* Boot Linux */ |
560 | +/* Boot Linux */ |
|
563 | +#define CONFIG_BOOTDELAY 1 |
561 | +#define CONFIG_BOOTDELAY 1 |
|
564 | +#define CONFIG_BOOTFILE "zImage" |
562 | +#define CONFIG_BOOTFILE "zImage" |
|
565 | +#define CONFIG_LOADADDR 0x42000000 |
563 | +#define CONFIG_LOADADDR 0x42000000 |
|
566 | +#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR |
564 | +#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR |
|
Line 596... | Line 594... | |||
596 | + "gzwrite_wbuf=100000\0" \ |
594 | + "gzwrite_wbuf=100000\0" \ |
|
597 | + "update_emmc_firmware=" \ |
595 | + "update_emmc_firmware=" \ |
|
598 | + "setexpr i ${update_fw_parts}; setexpr error 0; " \ |
596 | + "setexpr i ${update_fw_parts}; setexpr error 0; " \ |
|
599 | + "while itest ${i} -gt 0; do " \ |
597 | + "while itest ${i} -gt 0; do " \ |
|
600 | + "echo Transfering firmware image part ${i} of ${update_fw_parts}; " \ |
598 | + "echo Transfering firmware image part ${i} of ${update_fw_parts}; " \ |
|
601 | + "if itest ${i} -le f; then " \ |
599 | + "if itest ${i} -le 9; then " \ |
|
602 | + "setenv j 0${i}; " \ |
600 | + "setenv j 0${i}; " \ |
|
603 | + "else " \ |
601 | + "else " \ |
|
604 | + "setenv j ${i}; " \ |
602 | + "setenv j ${i}; " \ |
|
605 | + "fi; " \ |
603 | + "fi; " \ |
|
606 | + "if tftp ${loadaddr} ${update_fw_basedir}${update_fw_filename_prefix}${j}${update_fw_filename_suffix}; then " \ |
604 | + "if tftp ${loadaddr} ${update_fw_basedir}${update_fw_filename_prefix}${j}${update_fw_filename_suffix}; then " \ |
|
Line 625... | Line 623... | |||
625 | + "erase_mmc=mmc erase 0 2\0" \ |
623 | + "erase_mmc=mmc erase 0 2\0" \ |
|
626 | + "erase_env1=mmc erase 100 100\0" \ |
624 | + "erase_env1=mmc erase 100 100\0" \ |
|
627 | + "erase_env2=mmc erase 200 100\0" \ |
625 | + "erase_env2=mmc erase 200 100\0" \ |
|
628 | + "image=zImage\0" \ |
626 | + "image=zImage\0" \ |
|
629 | + "console=ttyAMA0\0" \ |
627 | + "console=ttyAMA0\0" \ |
|
- | 628 | + "fdt_file=imx28-duckbill-2.dtb\0" \ |
||
630 | + "fdt_addr=0x41000000\0" \ |
629 | + "fdt_addr=0x41000000\0" \ |
|
631 | + "boot_fdt=try\0" \ |
630 | + "boot_fdt=try\0" \ |
|
632 | + "ip_dyn=yes\0" \ |
631 | + "ip_dyn=yes\0" \ |
|
633 | + "bootsys=1\0" \ |
632 | + "bootsys=1\0" \ |
|
634 | + "mmcdev=0\0" \ |
633 | + "mmcdev=0\0" \ |
|
635 | + "mmcpart=2\0" \ |
634 | + "mmcpart=2\0" \ |
|
636 | + "mmcroot=/dev/mmcblk0p2\0" \ |
635 | + "mmcroot=/dev/mmcblk0p2\0" \ |
|
637 | + "mmcargs=setenv bootargs console=${console},${baudrate} " \ |
636 | + "mmcargs=setenv bootargs console=${console},${baudrate} " \ |
|
638 | + "root=${mmcroot} " \ |
637 | + "root=${mmcroot} " \ |
|
639 | + "rootwait bootsys=${bootsys} panic=1 ${extraargs}\0" \ |
638 | + "rootwait bootsys=${bootsys} panic=1\0" \ |
|
640 | + "loadimage=ext4load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/${image}\0" \ |
639 | + "loadimage=ext4load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/${image}\0" \ |
|
641 | + "loadfdt=ext4load mmc ${mmcdev}:${mmcpart} ${fdt_addr} /boot/${fdt_file}\0" \ |
640 | + "loadfdt=ext4load mmc ${mmcdev}:${mmcpart} ${fdt_addr} /boot/${fdt_file}\0" \ |
|
642 | + "mmcboot=echo Booting from mmc ...; " \ |
641 | + "mmcboot=echo Booting from mmc ...; " \ |
|
643 | + "setexpr mmcpart 1 + ${bootsys}; " \ |
642 | + "setexpr mmcpart 1 + ${bootsys}; " \ |
|
644 | + "setenv mmcroot /dev/mmcblk0p${mmcpart}; " \ |
643 | + "setenv mmcroot /dev/mmcblk0p${mmcpart}; " \ |
|
Line 657... | Line 656... | |||
657 | + "bootz; " \ |
656 | + "bootz; " \ |
|
658 | + "fi\0" \ |
657 | + "fi\0" \ |
|
659 | + "nfsroot=/\0" \ |
658 | + "nfsroot=/\0" \ |
|
660 | + "netargs=setenv bootargs console=${console},${baudrate} " \ |
659 | + "netargs=setenv bootargs console=${console},${baudrate} " \ |
|
661 | + "root=/dev/nfs " \ |
660 | + "root=/dev/nfs " \ |
|
662 | + "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp ${extraargs}\0" \ |
661 | + "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ |
|
663 | + "netboot=echo Booting from net ...; " \ |
662 | + "netboot=echo Booting from net ...; " \ |
|
664 | + "run netargs; " \ |
663 | + "run netargs; " \ |
|
665 | + "if test ${ip_dyn} = yes; then " \ |
664 | + "if test ${ip_dyn} = yes; then " \ |
|
666 | + "setenv get_cmd dhcp; " \ |
665 | + "setenv get_cmd dhcp; " \ |
|
667 | + "else " \ |
666 | + "else " \ |
|
Line 696... | Line 695... | |||
696 | + |
695 | + |
|
697 | +/* The rest of the configuration is shared */ |
696 | +/* The rest of the configuration is shared */ |
|
698 | +#include <configs/mxs.h> |
697 | +#include <configs/mxs.h> |
|
699 | + |
698 | + |
|
700 | +#endif /* __CONFIGS_DUCKBILL_H__ */ |
699 | +#endif /* __CONFIGS_DUCKBILL_H__ */ |
|
701 | -- |
- | ||
702 | 2.17.1 |
- | ||
703 | |
- |