* [PATCH v3 00/10] MIPS: migrate to multiimage support
@ 2018-11-27 9:19 Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 01/10] images: piggy: use "a" instead of #alloc flag Oleksij Rempel
` (10 more replies)
0 siblings, 11 replies; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
20181127 v3:
- remove ENTRY(pbl_start)
- rework ENTRY_FUNCTION, ENTRY_FUNCTION_END
- move HAVE_PBL_MULTI_IMAGES to the CONFIG_MIPS
- remove arch/mips/boot/start-pbl.S
20181127 v2:
- rebase against latest next
- fix trailing spaces in arch/mips/dts/Makefile
20181126 v1:
This patch series is a huge move to a multiimage support.
As long as we do not have lots of boards, it is better to do it now.
The most painful patch is "MIPS: port all mach* to multiimage", since
it was too hard to split the work to multiple step, it is all-in-one
patch. I hope my children will forgive me this... ;)
Oleksij Rempel (10):
images: piggy: use "a" instead of #alloc flag
MIPS: add arch/mips/lib/pbl.lds.S
pbl: enable MIPS for PBL_RELOCATABLE
MIPS: start: preserve DTB pointer for later use
MIPS: multiimage: add ENTRY_FUNCTION macros
MIPS: mutliimage: pass devicetree from PBL to the main_entry
MIPS: put main_entry to __bare_init section
MIPS: port all mach* to multiimage
MIPS: remove HAS_NO_BOARD_HL_CODE support
MIPS: remove useless board files
arch/mips/Kconfig | 7 +-
arch/mips/Makefile | 30 +------
arch/mips/boards/8devices-lima/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 26 ++----
arch/mips/boards/Makefile | 11 +++
arch/mips/boards/black-swift/Makefile | 2 +-
arch/mips/boards/black-swift/board.c | 27 ------
.../board/board_pbl_start.h => lowlevel.S} | 16 ++--
.../boards/dptechnics-dpt-module/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 13 +--
arch/mips/boards/img-ci20/Makefile | 2 +-
arch/mips/boards/img-ci20/board.c | 27 ------
.../boards/img-ci20/include/board/debug_ll.h | 23 -----
.../board/board_pbl_start.h => lowlevel.S} | 13 +--
arch/mips/boards/loongson-ls1b/Makefile | 2 +-
.../board/board_pbl_start.h => lowlevel.S} | 13 +--
arch/mips/boards/loongson-ls1b/serial.c | 10 ---
arch/mips/boards/netgear-wg102/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 20 +++--
arch/mips/boards/qemu-malta/Makefile | 2 +-
arch/mips/boards/qemu-malta/init.c | 29 ------
.../board/board_pbl_start.h => lowlevel.S} | 15 ++--
arch/mips/boards/ritmix-rzx50/Makefile | 2 +-
.../ritmix-rzx50/include/board/debug_ll.h | 23 -----
.../board/board_pbl_start.h => lowlevel.S} | 13 +--
arch/mips/boards/ritmix-rzx50/serial.c | 27 ------
arch/mips/boards/tplink-mr3020/Makefile | 2 +-
arch/mips/boards/tplink-mr3020/board.c | 27 ------
.../board/board_pbl_start.h => lowlevel.S} | 16 ++--
arch/mips/boards/tplink-wdr4300/Makefile | 2 +-
arch/mips/boards/tplink-wdr4300/board.c | 28 ------
.../board/board_pbl_start.h => lowlevel.S} | 26 ++----
arch/mips/boot/Makefile | 4 +-
arch/mips/boot/dtb.c | 16 +++-
arch/mips/boot/main_entry-pbl.c | 15 ++--
arch/mips/boot/main_entry.c | 11 ++-
arch/mips/boot/start-pbl.S | 44 ---------
arch/mips/boot/start.S | 7 ++
arch/mips/configs/8devices-lima_defconfig | 83 -----------------
...plink-mr3020_defconfig => ath79_defconfig} | 9 +-
arch/mips/configs/black-swift_defconfig | 54 -----------
.../configs/dptechnics-dpt-module_defconfig | 89 -------------------
arch/mips/configs/img-ci20_defconfig | 45 ----------
arch/mips/configs/qemu-malta_defconfig | 12 +--
arch/mips/configs/tplink-wdr4300_defconfig | 82 -----------------
...itmix-rzx50_defconfig => xburst_defconfig} | 8 +-
arch/mips/dts/Makefile | 15 +++-
arch/mips/include/asm/asm.h | 29 ++++++
arch/mips/lib/pbl.lds.S | 53 +++++++++++
arch/mips/mach-ar231x/include/mach/debug_ll.h | 1 -
arch/mips/mach-ath79/Kconfig | 16 ++--
arch/mips/mach-ath79/include/mach/debug_ll.h | 12 ++-
.../mach-ath79/include/mach/debug_ll_ar9331.h | 2 +-
.../mach-ath79/include/mach/debug_ll_ar9344.h | 4 +-
.../mips/mach-ath79/include/mach/pbl_macros.h | 5 +-
.../mach-loongson/include/mach/debug_ll.h | 1 -
arch/mips/mach-malta/Kconfig | 9 +-
arch/mips/mach-malta/include/mach/debug_ll.h | 10 ++-
arch/mips/mach-xburst/Kconfig | 14 ++-
arch/mips/mach-xburst/include/mach/debug_ll.h | 14 ++-
images/Makefile | 7 +-
images/Makefile.ar231x | 3 +
images/Makefile.ath79 | 20 +++++
images/Makefile.loongson | 3 +
images/Makefile.malta | 3 +
images/Makefile.xburst | 7 ++
images/piggy.S | 2 +-
pbl/Kconfig | 2 +-
68 files changed, 354 insertions(+), 814 deletions(-)
create mode 100644 arch/mips/boards/8devices-lima/Makefile
rename arch/mips/boards/8devices-lima/{include/board/board_pbl_start.h => lowlevel.S} (78%)
create mode 100644 arch/mips/boards/Makefile
delete mode 100644 arch/mips/boards/black-swift/board.c
rename arch/mips/boards/black-swift/{include/board/board_pbl_start.h => lowlevel.S} (86%)
create mode 100644 arch/mips/boards/dptechnics-dpt-module/Makefile
rename arch/mips/boards/dptechnics-dpt-module/{include/board/board_pbl_start.h => lowlevel.S} (59%)
delete mode 100644 arch/mips/boards/img-ci20/board.c
delete mode 100644 arch/mips/boards/img-ci20/include/board/debug_ll.h
rename arch/mips/boards/img-ci20/{include/board/board_pbl_start.h => lowlevel.S} (88%)
rename arch/mips/boards/loongson-ls1b/{include/board/board_pbl_start.h => lowlevel.S} (86%)
delete mode 100644 arch/mips/boards/loongson-ls1b/serial.c
rename arch/mips/boards/netgear-wg102/{include/board/board_pbl_start.h => lowlevel.S} (87%)
delete mode 100644 arch/mips/boards/qemu-malta/init.c
rename arch/mips/boards/qemu-malta/{include/board/board_pbl_start.h => lowlevel.S} (94%)
delete mode 100644 arch/mips/boards/ritmix-rzx50/include/board/debug_ll.h
rename arch/mips/boards/ritmix-rzx50/{include/board/board_pbl_start.h => lowlevel.S} (88%)
delete mode 100644 arch/mips/boards/ritmix-rzx50/serial.c
delete mode 100644 arch/mips/boards/tplink-mr3020/board.c
rename arch/mips/boards/tplink-mr3020/{include/board/board_pbl_start.h => lowlevel.S} (86%)
delete mode 100644 arch/mips/boards/tplink-wdr4300/board.c
rename arch/mips/boards/tplink-wdr4300/{include/board/board_pbl_start.h => lowlevel.S} (77%)
delete mode 100644 arch/mips/boot/start-pbl.S
delete mode 100644 arch/mips/configs/8devices-lima_defconfig
rename arch/mips/configs/{tplink-mr3020_defconfig => ath79_defconfig} (90%)
delete mode 100644 arch/mips/configs/black-swift_defconfig
delete mode 100644 arch/mips/configs/dptechnics-dpt-module_defconfig
delete mode 100644 arch/mips/configs/img-ci20_defconfig
delete mode 100644 arch/mips/configs/tplink-wdr4300_defconfig
rename arch/mips/configs/{ritmix-rzx50_defconfig => xburst_defconfig} (89%)
create mode 100644 arch/mips/lib/pbl.lds.S
create mode 100644 images/Makefile.ar231x
create mode 100644 images/Makefile.ath79
create mode 100644 images/Makefile.loongson
create mode 100644 images/Makefile.malta
create mode 100644 images/Makefile.xburst
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 01/10] images: piggy: use "a" instead of #alloc flag
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
@ 2018-11-27 9:19 ` Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 02/10] MIPS: add arch/mips/lib/pbl.lds.S Oleksij Rempel
` (9 subsequent siblings)
10 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
"#alloc" is not working with MIPS compiler. The "a" variant
seems to be more generic and works with ARM and MIPS.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
images/piggy.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/piggy.S b/images/piggy.S
index 84396ae4ec..c2274ebac7 100644
--- a/images/piggy.S
+++ b/images/piggy.S
@@ -1,4 +1,4 @@
- .section .piggydata,#alloc
+ .section .piggydata,"a"
.globl input_data
input_data:
.incbin "images/barebox.z"
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 02/10] MIPS: add arch/mips/lib/pbl.lds.S
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 01/10] images: piggy: use "a" instead of #alloc flag Oleksij Rempel
@ 2018-11-27 9:19 ` Oleksij Rempel
2018-11-30 7:41 ` Sascha Hauer
2018-11-27 9:19 ` [PATCH v3 03/10] pbl: enable MIPS for PBL_RELOCATABLE Oleksij Rempel
` (8 subsequent siblings)
10 siblings, 1 reply; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
we need it for multiimage support.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
arch/mips/lib/pbl.lds.S | 53 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
create mode 100644 arch/mips/lib/pbl.lds.S
diff --git a/arch/mips/lib/pbl.lds.S b/arch/mips/lib/pbl.lds.S
new file mode 100644
index 0000000000..7ca9ae151f
--- /dev/null
+++ b/arch/mips/lib/pbl.lds.S
@@ -0,0 +1,53 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * (C) Copyright 2018 Oleksij Rempel <o.rempel@pengutronix.de>, Pengutronix
+ * (C) Copyright 2012 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
+ */
+
+#include <asm-generic/barebox.lds.h>
+#include <asm-generic/memory_layout.h>
+
+OUTPUT_ARCH("mips")
+SECTIONS
+{
+ . = HEAD_TEXT_BASE;
+
+ PRE_IMAGE
+
+ . = ALIGN(4);
+ .text :
+ {
+ _stext = .;
+ _text = .;
+ *(.text_head_entry*)
+ __bare_init_start = .;
+ *(.text_bare_init*)
+ __bare_init_end = .;
+ *(.text*)
+ }
+
+ BAREBOX_BARE_INIT_SIZE
+
+ . = ALIGN(4);
+ .rodata : { *(.rodata*) }
+
+ .barebox_imd : { BAREBOX_IMD }
+
+ _etext = .; /* End of text and rodata section */
+
+ . = ALIGN(4);
+ .data : { *(.data*) }
+
+ . = ALIGN(4);
+ __piggydata_start = .;
+ .piggydata : {
+ *(.piggydata)
+ }
+ __piggydata_end = .;
+
+ . = ALIGN(4);
+ __bss_start = .;
+ .bss : { *(.bss*) }
+ __bss_stop = .;
+ _end = .;
+}
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 03/10] pbl: enable MIPS for PBL_RELOCATABLE
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 01/10] images: piggy: use "a" instead of #alloc flag Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 02/10] MIPS: add arch/mips/lib/pbl.lds.S Oleksij Rempel
@ 2018-11-27 9:19 ` Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 04/10] MIPS: start: preserve DTB pointer for later use Oleksij Rempel
` (7 subsequent siblings)
10 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
it is needed for multiimage support
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
pbl/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pbl/Kconfig b/pbl/Kconfig
index 117b79dcbd..f2250dd73b 100644
--- a/pbl/Kconfig
+++ b/pbl/Kconfig
@@ -35,7 +35,7 @@ config PBL_FORCE_PIGGYDATA_COPY
if PBL_IMAGE
config PBL_RELOCATABLE
- depends on ARM
+ depends on ARM || MIPS
bool "relocatable pbl image"
help
Generate a pbl binary which can relocate itself during startup to run
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 04/10] MIPS: start: preserve DTB pointer for later use
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
` (2 preceding siblings ...)
2018-11-27 9:19 ` [PATCH v3 03/10] pbl: enable MIPS for PBL_RELOCATABLE Oleksij Rempel
@ 2018-11-27 9:19 ` Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 05/10] MIPS: multiimage: add ENTRY_FUNCTION macros Oleksij Rempel
` (6 subsequent siblings)
10 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
We will get DTB pointer in a0 register. Since a0 is used as argument by
other functions, we need to preserve it and then pass as argument to the
main_entry().
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
arch/mips/boot/start.S | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/mips/boot/start.S b/arch/mips/boot/start.S
index e937e89af1..39ac9414d8 100644
--- a/arch/mips/boot/start.S
+++ b/arch/mips/boot/start.S
@@ -27,6 +27,10 @@ EXPORT(_start)
mips_barebox_10h
+ /* save dtb pointer */
+ move s0, a0
+ move s1, a1
+
/* disable watchpoints */
mtc0 zero, CP0_WATCHLO
mtc0 zero, CP0_WATCHHI
@@ -37,6 +41,9 @@ EXPORT(_start)
stack_setup
+ /* restore dtb pointer */
+ move a0, s0
+ move a1, s1
la v0, main_entry
jal v0
nop
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 05/10] MIPS: multiimage: add ENTRY_FUNCTION macros
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
` (3 preceding siblings ...)
2018-11-27 9:19 ` [PATCH v3 04/10] MIPS: start: preserve DTB pointer for later use Oleksij Rempel
@ 2018-11-27 9:19 ` Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 06/10] MIPS: mutliimage: pass devicetree from PBL to the main_entry Oleksij Rempel
` (5 subsequent siblings)
10 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
arch/mips/include/asm/asm.h | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/arch/mips/include/asm/asm.h b/arch/mips/include/asm/asm.h
index 12e17581b8..5ead754b13 100644
--- a/arch/mips/include/asm/asm.h
+++ b/arch/mips/include/asm/asm.h
@@ -79,6 +79,35 @@ symbol: .frame sp, framesize, rpc
.globl symbol; \
symbol:
+/*
+ * ENTRY_FUNCTION - mark start of entry function
+ */
+#define ENTRY_FUNCTION(symbol) \
+ .set noreorder; \
+ .section .text_head_entry.symbol; \
+ .align 4; \
+ \
+EXPORT(symbol)
+
+/*
+ * ENTRY_FUNCTION_END - mark end of entry function
+ */
+#define ENTRY_FUNCTION_END(symbol, dtb) \
+ mips_nmon; \
+ copy_to_link_location symbol; \
+ stack_setup; \
+ \
+ la a0, __dtb_ ## dtb##_start; \
+ la a1, __dtb_ ## dtb##_end; \
+ la v0, pbl_main_entry; \
+ jal v0; \
+ nop; \
+ \
+ /* No return */ \
+__error: \
+ b __error; \
+ nop;
+
/*
* FEXPORT - export definition of a function symbol
*/
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 06/10] MIPS: mutliimage: pass devicetree from PBL to the main_entry
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
` (4 preceding siblings ...)
2018-11-27 9:19 ` [PATCH v3 05/10] MIPS: multiimage: add ENTRY_FUNCTION macros Oleksij Rempel
@ 2018-11-27 9:19 ` Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 07/10] MIPS: put main_entry to __bare_init section Oleksij Rempel
` (4 subsequent siblings)
10 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
We need it for multiimage support.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
arch/mips/boot/Makefile | 2 +-
arch/mips/boot/dtb.c | 16 ++++++++++++----
arch/mips/boot/main_entry-pbl.c | 15 ++++++++++-----
arch/mips/boot/main_entry.c | 10 ++++++++--
4 files changed, 31 insertions(+), 12 deletions(-)
diff --git a/arch/mips/boot/Makefile b/arch/mips/boot/Makefile
index b865b10f8b..d59b247910 100644
--- a/arch/mips/boot/Makefile
+++ b/arch/mips/boot/Makefile
@@ -1,6 +1,6 @@
obj-y += start.o
obj-y += main_entry.o
-obj-$(CONFIG_BUILTIN_DTB) += dtb.o
+obj-$(CONFIG_OFDEVICE) += dtb.o
pbl-y += start-pbl.o main_entry-pbl.o
diff --git a/arch/mips/boot/dtb.c b/arch/mips/boot/dtb.c
index 3f7f466413..b9ea8f41e6 100644
--- a/arch/mips/boot/dtb.c
+++ b/arch/mips/boot/dtb.c
@@ -23,6 +23,9 @@
#include <memory.h>
#include <asm/addrspace.h>
+void *glob_fdt;
+u32 glob_fdt_size;
+
void of_add_memory_bank(struct device_node *node, bool dump, int r,
u64 base, u64 size)
{
@@ -38,6 +41,10 @@ void of_add_memory_bank(struct device_node *node, bool dump, int r,
if (dump)
pr_info("%s: %s: 0x%llx@0x%llx\n", node->name, str, size, base);
+
+ if (glob_fdt && glob_fdt_size)
+ request_sdram_region("fdt", (resource_size_t)glob_fdt,
+ glob_fdt_size);
}
extern char __dtb_start[];
@@ -45,12 +52,13 @@ extern char __dtb_start[];
static int of_mips_init(void)
{
struct device_node *root;
+ void *fdt;
- root = of_get_root_node();
- if (root)
- return 0;
+ fdt = glob_fdt;
+ if (!fdt)
+ fdt = __dtb_start;
- root = of_unflatten_dtb(__dtb_start);
+ root = of_unflatten_dtb(fdt);
if (!IS_ERR(root)) {
pr_debug("using internal DTB\n");
of_set_root_node(root);
diff --git a/arch/mips/boot/main_entry-pbl.c b/arch/mips/boot/main_entry-pbl.c
index e408d29445..e608fcb355 100644
--- a/arch/mips/boot/main_entry-pbl.c
+++ b/arch/mips/boot/main_entry-pbl.c
@@ -31,7 +31,7 @@ extern void *input_data_end;
unsigned long free_mem_ptr;
unsigned long free_mem_end_ptr;
-void pbl_main_entry(void);
+void pbl_main_entry(void *fdt, void *fdt_end);
static unsigned long *ttb;
@@ -46,10 +46,11 @@ static void barebox_uncompress(void *compressed_start, unsigned int len)
pbl_barebox_uncompress((void*)TEXT_BASE, compressed_start, len);
}
-void __section(.text_entry) pbl_main_entry(void)
+void __section(.text_entry) pbl_main_entry(void *fdt, void *fdt_end)
{
- u32 pg_start, pg_end, pg_len;
- void (*barebox)(void);
+ u32 pg_start, pg_end, pg_len, fdt_len;
+ void *fdt_new;
+ void (*barebox)(void *fdt, u32 fdt_len);
puts_ll("pbl_main_entry()\n");
@@ -62,6 +63,10 @@ void __section(.text_entry) pbl_main_entry(void)
barebox_uncompress(&input_data, pg_len);
+ fdt_len = (u32)fdt_end - (u32)fdt;
+ fdt_new = (void *)PAGE_ALIGN_DOWN(STACK_BASE - fdt_len);
+ memcpy(fdt_new, fdt, fdt_len);
+
barebox = (void *)TEXT_BASE;
- barebox();
+ barebox(fdt_new, fdt_len);
}
diff --git a/arch/mips/boot/main_entry.c b/arch/mips/boot/main_entry.c
index 43a78c2956..e51e1b2f96 100644
--- a/arch/mips/boot/main_entry.c
+++ b/arch/mips/boot/main_entry.c
@@ -27,7 +27,7 @@
extern void handle_reserved(void);
-void main_entry(void);
+void main_entry(void *fdt, u32 fdt_size);
unsigned long exception_handlers[32];
@@ -71,12 +71,15 @@ static void trap_init(void)
write_c0_status(read_c0_status() & ~ST0_BEV);
}
+extern void *glob_fdt;
+extern u32 glob_fdt_size;
+
/**
* Called plainly from assembler code
*
* @note The C environment isn't initialized yet
*/
-void main_entry(void)
+void main_entry(void *fdt, u32 fdt_size)
{
/* clear the BSS first */
memset(__bss_start, 0x00, __bss_stop - __bss_start);
@@ -94,5 +97,8 @@ void main_entry(void)
mem_malloc_init((void *)MALLOC_BASE,
(void *)(MALLOC_BASE + MALLOC_SIZE - 1));
+ glob_fdt = fdt;
+ glob_fdt_size = fdt_size;
+
start_barebox();
}
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 07/10] MIPS: put main_entry to __bare_init section
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
` (5 preceding siblings ...)
2018-11-27 9:19 ` [PATCH v3 06/10] MIPS: mutliimage: pass devicetree from PBL to the main_entry Oleksij Rempel
@ 2018-11-27 9:19 ` Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 08/10] MIPS: port all mach* to multiimage Oleksij Rempel
` (3 subsequent siblings)
10 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
To make disassambly easier to read.
With this patch main_entry will be at the start of the text section
and not in the middle.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
arch/mips/boot/main_entry.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/mips/boot/main_entry.c b/arch/mips/boot/main_entry.c
index e51e1b2f96..e33ae64e72 100644
--- a/arch/mips/boot/main_entry.c
+++ b/arch/mips/boot/main_entry.c
@@ -16,6 +16,7 @@
*
*/
+#include <init.h>
#include <common.h>
#include <string.h>
#include <memory.h>
@@ -79,7 +80,7 @@ extern u32 glob_fdt_size;
*
* @note The C environment isn't initialized yet
*/
-void main_entry(void *fdt, u32 fdt_size)
+void __bare_init main_entry(void *fdt, u32 fdt_size)
{
/* clear the BSS first */
memset(__bss_start, 0x00, __bss_stop - __bss_start);
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 08/10] MIPS: port all mach* to multiimage
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
` (6 preceding siblings ...)
2018-11-27 9:19 ` [PATCH v3 07/10] MIPS: put main_entry to __bare_init section Oleksij Rempel
@ 2018-11-27 9:19 ` Oleksij Rempel
2018-12-05 8:50 ` Antony Pavlov
2018-11-27 9:19 ` [PATCH v3 09/10] MIPS: remove HAS_NO_BOARD_HL_CODE support Oleksij Rempel
` (2 subsequent siblings)
10 siblings, 1 reply; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
arch/mips/Kconfig | 4 +
arch/mips/Makefile | 28 +-----
arch/mips/boards/8devices-lima/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 26 ++----
arch/mips/boards/Makefile | 11 +++
arch/mips/boards/black-swift/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 16 ++--
.../boards/dptechnics-dpt-module/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 13 +--
arch/mips/boards/img-ci20/Makefile | 1 +
.../boards/img-ci20/include/board/debug_ll.h | 23 -----
.../board/board_pbl_start.h => lowlevel.S} | 13 +--
arch/mips/boards/loongson-ls1b/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 13 +--
arch/mips/boards/netgear-wg102/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 20 +++--
arch/mips/boards/qemu-malta/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 15 ++--
arch/mips/boards/ritmix-rzx50/Makefile | 1 +
.../ritmix-rzx50/include/board/debug_ll.h | 23 -----
.../board/board_pbl_start.h => lowlevel.S} | 13 +--
arch/mips/boards/tplink-mr3020/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 16 ++--
arch/mips/boards/tplink-wdr4300/Makefile | 1 +
.../board/board_pbl_start.h => lowlevel.S} | 26 ++----
arch/mips/boot/Makefile | 2 +-
arch/mips/boot/start-pbl.S | 44 ---------
arch/mips/configs/8devices-lima_defconfig | 83 -----------------
...plink-mr3020_defconfig => ath79_defconfig} | 9 +-
arch/mips/configs/black-swift_defconfig | 54 -----------
.../configs/dptechnics-dpt-module_defconfig | 89 -------------------
arch/mips/configs/img-ci20_defconfig | 45 ----------
arch/mips/configs/qemu-malta_defconfig | 12 +--
arch/mips/configs/tplink-wdr4300_defconfig | 82 -----------------
...itmix-rzx50_defconfig => xburst_defconfig} | 8 +-
arch/mips/dts/Makefile | 15 +++-
arch/mips/mach-ar231x/include/mach/debug_ll.h | 1 -
arch/mips/mach-ath79/Kconfig | 14 ++-
arch/mips/mach-ath79/include/mach/debug_ll.h | 12 ++-
.../mach-ath79/include/mach/debug_ll_ar9331.h | 2 +-
.../mach-ath79/include/mach/debug_ll_ar9344.h | 4 +-
.../mips/mach-ath79/include/mach/pbl_macros.h | 5 +-
.../mach-loongson/include/mach/debug_ll.h | 1 -
arch/mips/mach-malta/Kconfig | 9 +-
arch/mips/mach-malta/include/mach/debug_ll.h | 10 ++-
arch/mips/mach-xburst/Kconfig | 14 ++-
arch/mips/mach-xburst/include/mach/debug_ll.h | 14 ++-
images/Makefile | 7 +-
images/Makefile.ar231x | 3 +
images/Makefile.ath79 | 20 +++++
images/Makefile.loongson | 3 +
images/Makefile.malta | 3 +
images/Makefile.xburst | 7 ++
53 files changed, 231 insertions(+), 611 deletions(-)
create mode 100644 arch/mips/boards/8devices-lima/Makefile
rename arch/mips/boards/8devices-lima/{include/board/board_pbl_start.h => lowlevel.S} (78%)
create mode 100644 arch/mips/boards/Makefile
rename arch/mips/boards/black-swift/{include/board/board_pbl_start.h => lowlevel.S} (86%)
create mode 100644 arch/mips/boards/dptechnics-dpt-module/Makefile
rename arch/mips/boards/dptechnics-dpt-module/{include/board/board_pbl_start.h => lowlevel.S} (59%)
delete mode 100644 arch/mips/boards/img-ci20/include/board/debug_ll.h
rename arch/mips/boards/img-ci20/{include/board/board_pbl_start.h => lowlevel.S} (88%)
rename arch/mips/boards/loongson-ls1b/{include/board/board_pbl_start.h => lowlevel.S} (86%)
rename arch/mips/boards/netgear-wg102/{include/board/board_pbl_start.h => lowlevel.S} (87%)
rename arch/mips/boards/qemu-malta/{include/board/board_pbl_start.h => lowlevel.S} (94%)
delete mode 100644 arch/mips/boards/ritmix-rzx50/include/board/debug_ll.h
rename arch/mips/boards/ritmix-rzx50/{include/board/board_pbl_start.h => lowlevel.S} (88%)
rename arch/mips/boards/tplink-mr3020/{include/board/board_pbl_start.h => lowlevel.S} (86%)
rename arch/mips/boards/tplink-wdr4300/{include/board/board_pbl_start.h => lowlevel.S} (77%)
delete mode 100644 arch/mips/boot/start-pbl.S
delete mode 100644 arch/mips/configs/8devices-lima_defconfig
rename arch/mips/configs/{tplink-mr3020_defconfig => ath79_defconfig} (90%)
delete mode 100644 arch/mips/configs/black-swift_defconfig
delete mode 100644 arch/mips/configs/dptechnics-dpt-module_defconfig
delete mode 100644 arch/mips/configs/img-ci20_defconfig
delete mode 100644 arch/mips/configs/tplink-wdr4300_defconfig
rename arch/mips/configs/{ritmix-rzx50_defconfig => xburst_defconfig} (89%)
create mode 100644 images/Makefile.ar231x
create mode 100644 images/Makefile.ath79
create mode 100644 images/Makefile.loongson
create mode 100644 images/Makefile.malta
create mode 100644 images/Makefile.xburst
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 524375a81a..eeca76870a 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -9,6 +9,7 @@ config MIPS
select HAS_KALLSYMS
select HAVE_CONFIGURABLE_MEMORY_LAYOUT
select HAVE_CONFIGURABLE_TEXT_BASE
+ select HAVE_PBL_MULTI_IMAGES
select HAS_DMA
select ELF
default y
@@ -58,6 +59,8 @@ config MACH_MIPS_MALTA
select HAS_DEBUG_LL
select GPIOLIB
select HW_HAS_PCI
+ select HAVE_PBL_IMAGE
+ select HAVE_IMAGE_COMPRESSION
config MACH_MIPS_AR231X
bool "Atheros ar231x-based boards"
@@ -67,6 +70,7 @@ config MACH_MIPS_AR231X
select CSRC_R4K_LIB
select DRIVER_SERIAL_NS16550
select HAS_DEBUG_LL
+ select HAVE_IMAGE_COMPRESSION
config MACH_MIPS_ATH79
bool "Atheros AR71XX/AR724X/AR913X/AR933X based boards"
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 6338dc174d..422e844d9f 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -73,28 +73,11 @@ endif
LDFLAGS_barebox += -nostdlib
machine-$(CONFIG_MACH_MIPS_MALTA) := malta
-board-$(CONFIG_BOARD_QEMU_MALTA) := qemu-malta
-
machine-$(CONFIG_MACH_MIPS_AR231X) := ar231x
-board-$(CONFIG_BOARD_NETGEAR_WG102) := netgear-wg102
-
machine-$(CONFIG_MACH_MIPS_ATH79) := ath79
-board-$(CONFIG_BOARD_8DEVICES_LIMA) := 8devices-lima
-board-$(CONFIG_BOARD_DPTECHNICS_DPT_MODULE) := dptechnics-dpt-module
-board-$(CONFIG_BOARD_TPLINK_MR3020) := tplink-mr3020
-board-$(CONFIG_BOARD_TPLINK_WDR4300) := tplink-wdr4300
-board-$(CONFIG_BOARD_BLACK_SWIFT) := black-swift
-
machine-$(CONFIG_MACH_MIPS_BCM47XX) := bcm47xx
-board-$(CONFIG_BOARD_DLINK_DIR320) := dlink-dir-320
-
machine-$(CONFIG_MACH_MIPS_LOONGSON) := loongson
-board-$(CONFIG_BOARD_LOONGSON_TECH_LS1B) := loongson-ls1b
-
machine-$(CONFIG_MACH_MIPS_XBURST) := xburst
-board-$(CONFIG_BOARD_RZX50) := ritmix-rzx50
-board-$(CONFIG_BOARD_CI20) := img-ci20
-
machdirs := $(patsubst %,arch/mips/mach-%/,$(machine-y))
ifeq ($(KBUILD_SRC),)
@@ -108,12 +91,6 @@ incdir-y := $(machine-y)
endif
INCDIR := arch-$(incdir-y)
-ifneq ($(board-y),)
-BOARD := arch/mips/boards/$(board-y)/
-else
-BOARD :=
-endif
-
ifeq ($(KBUILD_SRC),)
CPPFLAGS += -I$(BOARD)/include
else
@@ -133,8 +110,7 @@ endif
common-y += $(MACH)
common-y += arch/mips/lib/
common-y += arch/mips/boot/
-
-common-$(CONFIG_BUILTIN_DTB) += arch/mips/dts/
+common-y += arch/mips/boards/
CPPFLAGS += $(cflags-y)
CFLAGS += $(cflags-y)
@@ -155,4 +131,6 @@ dts := arch/mips/dts
%.dtb: scripts
$(Q)$(MAKE) $(build)=$(dts) $(dts)/$@
+common-$(CONFIG_OFTREE) += arch/mips/dts/
+
KBUILD_IMAGE ?= $(KBUILD_BINARY)
diff --git a/arch/mips/boards/8devices-lima/Makefile b/arch/mips/boards/8devices-lima/Makefile
new file mode 100644
index 0000000000..b08c4a93ca
--- /dev/null
+++ b/arch/mips/boards/8devices-lima/Makefile
@@ -0,0 +1 @@
+lwl-y += lowlevel.o
diff --git a/arch/mips/boards/8devices-lima/include/board/board_pbl_start.h b/arch/mips/boards/8devices-lima/lowlevel.S
similarity index 78%
rename from arch/mips/boards/8devices-lima/include/board/board_pbl_start.h
rename to arch/mips/boards/8devices-lima/lowlevel.S
index e95aa49256..a619747f39 100644
--- a/arch/mips/boards/8devices-lima/include/board/board_pbl_start.h
+++ b/arch/mips/boards/8devices-lima/lowlevel.S
@@ -15,51 +15,39 @@
*
*/
-#include <mach/debug_ll_ar9344.h>
+#define BOARD_PBL_START start_8devices_lima
+
+#include <mach/debug_ll.h>
+#include <asm/asm.h>
#include <asm/pbl_macros.h>
#include <mach/pbl_macros.h>
#include <mach/pbl_ll_init_qca4531.h>
#include <asm/pbl_nmon.h>
- .macro board_pbl_start
- .set push
- .set noreorder
+ENTRY_FUNCTION(BOARD_PBL_START)
mips_barebox_10h
- debug_ll_ar9344_init
-
- debug_ll_outc '1'
+ debug_ll_ath79_init
hornet_mips24k_cp0_setup
- debug_ll_outc '2'
/* test if we are in the SRAM */
pbl_blt 0xbd000000 1f t8
- debug_ll_outc '3'
b skip_flash_test
nop
1:
/* test if we are in the flash */
pbl_blt 0xbf000000 skip_pll_ram_config t8
- debug_ll_outc '4'
skip_flash_test:
pbl_qca4531_ddr2_550_550_init
- debug_ll_outc '5'
/* Initialize caches... */
mips_cache_reset
/* ... and enable them */
dcache_enable
skip_pll_ram_config:
- debug_ll_outc '6'
- debug_ll_outnl
-
- mips_nmon
-
- copy_to_link_location pbl_start
- .set pop
- .endm
+ENTRY_FUNCTION_END(BOARD_PBL_START, qca4531_8devices_lima)
diff --git a/arch/mips/boards/Makefile b/arch/mips/boards/Makefile
new file mode 100644
index 0000000000..50652f9841
--- /dev/null
+++ b/arch/mips/boards/Makefile
@@ -0,0 +1,11 @@
+obj-$(CONFIG_BOARD_8DEVICES_LIMA) += 8devices-lima/
+obj-$(CONFIG_BOARD_BLACK_SWIFT) += black-swift/
+obj-$(CONFIG_BOARD_CI20) += img-ci20/
+obj-$(CONFIG_BOARD_DLINK_DIR320) += dlink-dir-320/
+obj-$(CONFIG_BOARD_DPTECHNICS_DPT_MODULE) += dptechnics-dpt-module/
+obj-$(CONFIG_BOARD_LOONGSON_TECH_LS1B) += loongson-ls1b/
+obj-$(CONFIG_BOARD_NETGEAR_WG102) += netgear-wg102/
+obj-$(CONFIG_BOARD_QEMU_MALTA) += qemu-malta/
+obj-$(CONFIG_BOARD_RZX50) += ritmix-rzx50/
+obj-$(CONFIG_BOARD_TPLINK_MR3020) += tplink-mr3020/
+obj-$(CONFIG_BOARD_TPLINK_WDR4300) += tplink-wdr4300/
diff --git a/arch/mips/boards/black-swift/Makefile b/arch/mips/boards/black-swift/Makefile
index dcfc2937d3..092c31d6b2 100644
--- a/arch/mips/boards/black-swift/Makefile
+++ b/arch/mips/boards/black-swift/Makefile
@@ -1 +1,2 @@
+lwl-y += lowlevel.o
obj-y += board.o
diff --git a/arch/mips/boards/black-swift/include/board/board_pbl_start.h b/arch/mips/boards/black-swift/lowlevel.S
similarity index 86%
rename from arch/mips/boards/black-swift/include/board/board_pbl_start.h
rename to arch/mips/boards/black-swift/lowlevel.S
index 4c2ab2ef0f..3a9e780db8 100644
--- a/arch/mips/boards/black-swift/include/board/board_pbl_start.h
+++ b/arch/mips/boards/black-swift/lowlevel.S
@@ -16,13 +16,15 @@
*
*/
+#define BOARD_PBL_START start_black_swift
+
+#include <mach/debug_ll.h>
#include <asm/pbl_macros.h>
+#include <asm/asm.h>
#include <mach/pbl_macros.h>
#include <asm/pbl_nmon.h>
- .macro board_pbl_start
- .set push
- .set noreorder
+ENTRY_FUNCTION(BOARD_PBL_START)
mips_barebox_10h
@@ -45,8 +47,7 @@
skip_pll_ram_config:
pbl_ar9331_uart_enable
- debug_ll_ar9331_init
- mips_nmon
+ debug_ll_ath79_init
/*
* It is amazing but we have to enable MDIO on GPIO
@@ -54,7 +55,4 @@ skip_pll_ram_config:
*/
pbl_ar9331_mdio_gpio_enable
- copy_to_link_location pbl_start
-
- .set pop
- .endm
+ENTRY_FUNCTION_END(BOARD_PBL_START, black_swift)
diff --git a/arch/mips/boards/dptechnics-dpt-module/Makefile b/arch/mips/boards/dptechnics-dpt-module/Makefile
new file mode 100644
index 0000000000..b08c4a93ca
--- /dev/null
+++ b/arch/mips/boards/dptechnics-dpt-module/Makefile
@@ -0,0 +1 @@
+lwl-y += lowlevel.o
diff --git a/arch/mips/boards/dptechnics-dpt-module/include/board/board_pbl_start.h b/arch/mips/boards/dptechnics-dpt-module/lowlevel.S
similarity index 59%
rename from arch/mips/boards/dptechnics-dpt-module/include/board/board_pbl_start.h
rename to arch/mips/boards/dptechnics-dpt-module/lowlevel.S
index 9d6b1b86bc..6601427ba4 100644
--- a/arch/mips/boards/dptechnics-dpt-module/include/board/board_pbl_start.h
+++ b/arch/mips/boards/dptechnics-dpt-module/lowlevel.S
@@ -6,15 +6,18 @@
* as published by the Free Software Foundation.
*/
+#define BOARD_PBL_START start_dptechnics_dpt_module
+
+#include <mach/debug_ll.h>
+#include <asm/regdef.h>
+#include <asm/mipsregs.h>
+#include <asm/asm.h>
#include <asm/pbl_macros.h>
#include <mach/pbl_macros.h>
#include <asm/pbl_nmon.h>
- .macro board_pbl_start
- .set push
- .set noreorder
+ENTRY_FUNCTION(BOARD_PBL_START)
ar9331_pbl_generic_start
- .set pop
- .endm
+ENTRY_FUNCTION_END(BOARD_PBL_START, ar9331_dptechnics_dpt_module)
diff --git a/arch/mips/boards/img-ci20/Makefile b/arch/mips/boards/img-ci20/Makefile
index dcfc2937d3..092c31d6b2 100644
--- a/arch/mips/boards/img-ci20/Makefile
+++ b/arch/mips/boards/img-ci20/Makefile
@@ -1 +1,2 @@
+lwl-y += lowlevel.o
obj-y += board.o
diff --git a/arch/mips/boards/img-ci20/include/board/debug_ll.h b/arch/mips/boards/img-ci20/include/board/debug_ll.h
deleted file mode 100644
index 72612cff2b..0000000000
--- a/arch/mips/boards/img-ci20/include/board/debug_ll.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2014 Antony Pavlov <antonynpavlov@gmail.com>
- *
- * This file is part of barebox.
- * See file CREDITS for list of people who contributed to this project.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#ifndef __INCLUDE_CI20_BOARD_DEBUG_LL_H__
-#define __INCLUDE_CI20_BOARD_DEBUG_LL_H__
-
-#include <mach/debug_ll_jz4780.h>
-
-#endif /* __INCLUDE_CI20_BOARD_DEBUG_LL_H__ */
diff --git a/arch/mips/boards/img-ci20/include/board/board_pbl_start.h b/arch/mips/boards/img-ci20/lowlevel.S
similarity index 88%
rename from arch/mips/boards/img-ci20/include/board/board_pbl_start.h
rename to arch/mips/boards/img-ci20/lowlevel.S
index 42d23c82a9..ad3c851e05 100644
--- a/arch/mips/boards/img-ci20/include/board/board_pbl_start.h
+++ b/arch/mips/boards/img-ci20/lowlevel.S
@@ -17,13 +17,13 @@
*
*/
+#define BOARD_PBL_START start_img_ci20
+
#include <asm/pbl_macros.h>
#include <mach/debug_ll.h>
#include <asm/pbl_nmon.h>
- .macro board_pbl_start
- .set push
- .set noreorder
+ENTRY_FUNCTION(BOARD_PBL_START)
mips_disable_interrupts
@@ -35,9 +35,4 @@
debug_ll_outc '.'
debug_ll_ns16550_outnl
- mips_nmon
-
- copy_to_link_location pbl_start
-
- .set pop
- .endm
+ENTRY_FUNCTION_END(BOARD_PBL_START, img_ci20)
diff --git a/arch/mips/boards/loongson-ls1b/Makefile b/arch/mips/boards/loongson-ls1b/Makefile
index 31c062987f..ded9867a8e 100644
--- a/arch/mips/boards/loongson-ls1b/Makefile
+++ b/arch/mips/boards/loongson-ls1b/Makefile
@@ -1 +1,2 @@
+lwl-y += lowlevel.o
obj-y += serial.o
diff --git a/arch/mips/boards/loongson-ls1b/include/board/board_pbl_start.h b/arch/mips/boards/loongson-ls1b/lowlevel.S
similarity index 86%
rename from arch/mips/boards/loongson-ls1b/include/board/board_pbl_start.h
rename to arch/mips/boards/loongson-ls1b/lowlevel.S
index a3c585ecba..d17a0f79d4 100644
--- a/arch/mips/boards/loongson-ls1b/include/board/board_pbl_start.h
+++ b/arch/mips/boards/loongson-ls1b/lowlevel.S
@@ -15,14 +15,14 @@
*
*/
+#define BOARD_PBL_START start_loongson_ls1b
+
#include <asm/pbl_macros.h>
#include <mach/loongson1.h>
#include <mach/debug_ll.h>
#include <asm/pbl_nmon.h>
- .macro board_pbl_start
- .set push
- .set noreorder
+ENTRY_FUNCTION(BOARD_PBL_START)
mips_barebox_10h
@@ -33,9 +33,4 @@
debug_ll_outc '.'
debug_ll_ns16550_outnl
- mips_nmon
-
- copy_to_link_location pbl_start
-
- .set pop
- .endm
+ENTRY_FUNCTION_END(BOARD_PBL_START, loongson_ls1b)
diff --git a/arch/mips/boards/netgear-wg102/Makefile b/arch/mips/boards/netgear-wg102/Makefile
index 0899b66c5f..344a6711b2 100644
--- a/arch/mips/boards/netgear-wg102/Makefile
+++ b/arch/mips/boards/netgear-wg102/Makefile
@@ -1 +1,2 @@
+lwl-y += lowlevel.o
obj-y += ram.o
diff --git a/arch/mips/boards/netgear-wg102/include/board/board_pbl_start.h b/arch/mips/boards/netgear-wg102/lowlevel.S
similarity index 87%
rename from arch/mips/boards/netgear-wg102/include/board/board_pbl_start.h
rename to arch/mips/boards/netgear-wg102/lowlevel.S
index 9fb220519f..f449d4e051 100644
--- a/arch/mips/boards/netgear-wg102/include/board/board_pbl_start.h
+++ b/arch/mips/boards/netgear-wg102/lowlevel.S
@@ -16,15 +16,15 @@
*
*/
+#define BOARD_PBL_START start_netgear_wg102
+
#include <asm/pbl_macros.h>
#include <mach/pbl_macros.h>
#include <mach/ar2312_regs.h>
#include <mach/debug_ll.h>
- .macro board_pbl_start
- .set push
- .set noreorder
+ENTRY_FUNCTION(BOARD_PBL_START)
mips_barebox_10h
@@ -71,7 +71,15 @@ sdram_configured:
debug_ll_outc 'b'
debug_ll_ns16550_outnl
- copy_to_link_location pbl_start
+ copy_to_link_location BOARD_PBL_START;
+ stack_setup;
+
+ lw a0, 0;
+ la v0, pbl_main_entry;
+ jal v0;
+ nop;
- .set pop
- .endm
+ /* No return */
+__error:
+ b __error;
+ nop;
diff --git a/arch/mips/boards/qemu-malta/Makefile b/arch/mips/boards/qemu-malta/Makefile
index eb072c0161..237a6a5079 100644
--- a/arch/mips/boards/qemu-malta/Makefile
+++ b/arch/mips/boards/qemu-malta/Makefile
@@ -1 +1,2 @@
+lwl-y += lowlevel.o
obj-y += init.o
diff --git a/arch/mips/boards/qemu-malta/include/board/board_pbl_start.h b/arch/mips/boards/qemu-malta/lowlevel.S
similarity index 94%
rename from arch/mips/boards/qemu-malta/include/board/board_pbl_start.h
rename to arch/mips/boards/qemu-malta/lowlevel.S
index 5c1537262e..e6d57bcffa 100644
--- a/arch/mips/boards/qemu-malta/include/board/board_pbl_start.h
+++ b/arch/mips/boards/qemu-malta/lowlevel.S
@@ -17,6 +17,9 @@
*
*/
+#define BOARD_PBL_START start_qemu_malta
+
+#include <asm/asm.h>
#include <asm/pbl_macros.h>
#include <asm/pbl_nmon.h>
@@ -39,10 +42,7 @@
#define GT_LD(x) (GT_CPU_TO_LE32(((x) >> 21) & 0x7fff))
#define GT_HD(x) (GT_CPU_TO_LE32(((x) >> 21) & 0x7f))
- .macro board_pbl_start
- .set push
- .set noreorder
-
+ENTRY_FUNCTION(BOARD_PBL_START)
b __start
nop
@@ -94,9 +94,4 @@ __start:
li t0, GT_LD(0x1bdfffff)
sw t0, GT_PCI0M1HD_OFS(t1)
- mips_nmon
-
- copy_to_link_location pbl_start
-
- .set pop
- .endm
+ENTRY_FUNCTION_END(BOARD_PBL_START, qemu_malta)
diff --git a/arch/mips/boards/ritmix-rzx50/Makefile b/arch/mips/boards/ritmix-rzx50/Makefile
index 31c062987f..ded9867a8e 100644
--- a/arch/mips/boards/ritmix-rzx50/Makefile
+++ b/arch/mips/boards/ritmix-rzx50/Makefile
@@ -1 +1,2 @@
+lwl-y += lowlevel.o
obj-y += serial.o
diff --git a/arch/mips/boards/ritmix-rzx50/include/board/debug_ll.h b/arch/mips/boards/ritmix-rzx50/include/board/debug_ll.h
deleted file mode 100644
index 7ae0e2a4fd..0000000000
--- a/arch/mips/boards/ritmix-rzx50/include/board/debug_ll.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2012 Antony Pavlov <antonynpavlov@gmail.com>
- *
- * This file is part of barebox.
- * See file CREDITS for list of people who contributed to this project.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#ifndef __INCLUDE_RZX50_BOARD_DEBUG_LL_H__
-#define __INCLUDE_RZX50_BOARD_DEBUG_LL_H__
-
-#include <mach/debug_ll_jz4750d.h>
-
-#endif /* __INCLUDE_RZX50_BOARD_DEBUG_LL_H__ */
diff --git a/arch/mips/boards/ritmix-rzx50/include/board/board_pbl_start.h b/arch/mips/boards/ritmix-rzx50/lowlevel.S
similarity index 88%
rename from arch/mips/boards/ritmix-rzx50/include/board/board_pbl_start.h
rename to arch/mips/boards/ritmix-rzx50/lowlevel.S
index 7c2fa0bedc..b669963ca6 100644
--- a/arch/mips/boards/ritmix-rzx50/include/board/board_pbl_start.h
+++ b/arch/mips/boards/ritmix-rzx50/lowlevel.S
@@ -17,13 +17,13 @@
*
*/
+#define BOARD_PBL_START start_ritmix_rzx50
+
#include <asm/pbl_macros.h>
#include <mach/debug_ll.h>
#include <asm/pbl_nmon.h>
- .macro board_pbl_start
- .set push
- .set noreorder
+ENTRY_FUNCTION(BOARD_PBL_START)
mips_disable_interrupts
@@ -35,9 +35,4 @@
debug_ll_outc '.'
debug_ll_ns16550_outnl
- mips_nmon
-
- copy_to_link_location pbl_start
-
- .set pop
- .endm
+ENTRY_FUNCTION_END(BOARD_PBL_START, rzx50)
diff --git a/arch/mips/boards/tplink-mr3020/Makefile b/arch/mips/boards/tplink-mr3020/Makefile
index dcfc2937d3..092c31d6b2 100644
--- a/arch/mips/boards/tplink-mr3020/Makefile
+++ b/arch/mips/boards/tplink-mr3020/Makefile
@@ -1 +1,2 @@
+lwl-y += lowlevel.o
obj-y += board.o
diff --git a/arch/mips/boards/tplink-mr3020/include/board/board_pbl_start.h b/arch/mips/boards/tplink-mr3020/lowlevel.S
similarity index 86%
rename from arch/mips/boards/tplink-mr3020/include/board/board_pbl_start.h
rename to arch/mips/boards/tplink-mr3020/lowlevel.S
index e70f55e873..1efcbaa69a 100644
--- a/arch/mips/boards/tplink-mr3020/include/board/board_pbl_start.h
+++ b/arch/mips/boards/tplink-mr3020/lowlevel.S
@@ -16,13 +16,15 @@
*
*/
+#define BOARD_PBL_START start_tplink_mr3020
+
+#include <mach/debug_ll.h>
#include <asm/pbl_macros.h>
+#include <asm/asm.h>
#include <mach/pbl_macros.h>
#include <asm/pbl_nmon.h>
- .macro board_pbl_start
- .set push
- .set noreorder
+ENTRY_FUNCTION(BOARD_PBL_START)
mips_barebox_10h
@@ -45,8 +47,7 @@
skip_pll_ram_config:
pbl_ar9331_uart_enable
- debug_ll_ar9331_init
- mips_nmon
+ debug_ll_ath79_init
/*
* It is amazing but we have to enable MDIO on GPIO
@@ -54,7 +55,4 @@ skip_pll_ram_config:
*/
pbl_ar9331_mdio_gpio_enable
- copy_to_link_location pbl_start
-
- .set pop
- .endm
+ENTRY_FUNCTION_END(BOARD_PBL_START, tplink_mr3020)
diff --git a/arch/mips/boards/tplink-wdr4300/Makefile b/arch/mips/boards/tplink-wdr4300/Makefile
index dcfc2937d3..092c31d6b2 100644
--- a/arch/mips/boards/tplink-wdr4300/Makefile
+++ b/arch/mips/boards/tplink-wdr4300/Makefile
@@ -1 +1,2 @@
+lwl-y += lowlevel.o
obj-y += board.o
diff --git a/arch/mips/boards/tplink-wdr4300/include/board/board_pbl_start.h b/arch/mips/boards/tplink-wdr4300/lowlevel.S
similarity index 77%
rename from arch/mips/boards/tplink-wdr4300/include/board/board_pbl_start.h
rename to arch/mips/boards/tplink-wdr4300/lowlevel.S
index 7d4ee4baba..9c4e6b7fad 100644
--- a/arch/mips/boards/tplink-wdr4300/include/board/board_pbl_start.h
+++ b/arch/mips/boards/tplink-wdr4300/lowlevel.S
@@ -15,48 +15,36 @@
*
*/
-#include <mach/debug_ll_ar9344.h>
+#define BOARD_PBL_START start_tplink_wdr4300
+
+#include <mach/debug_ll.h>
+#include <asm/asm.h>
#include <asm/pbl_macros.h>
#include <mach/pbl_macros.h>
#include <mach/pbl_ll_init_ar9344_1.1.h>
#include <asm/pbl_nmon.h>
- .macro board_pbl_start
- .set push
- .set noreorder
+ENTRY_FUNCTION(BOARD_PBL_START)
mips_barebox_10h
- debug_ll_ar9344_init
-
- debug_ll_outc '1'
+ debug_ll_ath79_init
hornet_mips24k_cp0_setup
- debug_ll_outc '2'
/* test if we are in the SRAM */
pbl_blt 0xbd000000 1f t8
- debug_ll_outc '3'
b skip_flash_test
nop
1:
/* test if we are in the flash */
pbl_blt 0xbf000000 skip_pll_ram_config t8
- debug_ll_outc '4'
skip_flash_test:
pbl_ar9344_v11_pll_config
- debug_ll_outc '5'
pbl_ar9344_v11_ddr2_config
skip_pll_ram_config:
- debug_ll_outc '6'
- debug_ll_outnl
-
- mips_nmon
-
- copy_to_link_location pbl_start
- .set pop
- .endm
+ENTRY_FUNCTION_END(BOARD_PBL_START, ar9344_tl_wdr4300_v1.7)
diff --git a/arch/mips/boot/Makefile b/arch/mips/boot/Makefile
index d59b247910..3d46e836f7 100644
--- a/arch/mips/boot/Makefile
+++ b/arch/mips/boot/Makefile
@@ -3,4 +3,4 @@ obj-y += main_entry.o
obj-$(CONFIG_OFDEVICE) += dtb.o
-pbl-y += start-pbl.o main_entry-pbl.o
+pbl-y += main_entry-pbl.o
diff --git a/arch/mips/boot/start-pbl.S b/arch/mips/boot/start-pbl.S
deleted file mode 100644
index d6e8231a73..0000000000
--- a/arch/mips/boot/start-pbl.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Startup Code for MIPS CPU
- *
- * Copyright (C) 2011, 2012 Antony Pavlov <antonynpavlov@gmail.com>
- *
- * This file is part of barebox.
- * See file CREDITS for list of people who contributed to this project.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#include <asm/regdef.h>
-#include <asm/mipsregs.h>
-#include <asm/asm.h>
-
-#include <asm/pbl_macros.h>
-#include <board/board_pbl_start.h>
-
- .set noreorder
- .section ".text_head_entry"
- .align 4
-
-EXPORT(pbl_start)
-
- board_pbl_start
-
- stack_setup
-
- la v0, pbl_main_entry
- jal v0
- nop
-
- /* No return */
-__error:
- b __error
- nop
diff --git a/arch/mips/configs/8devices-lima_defconfig b/arch/mips/configs/8devices-lima_defconfig
deleted file mode 100644
index 446369a544..0000000000
--- a/arch/mips/configs/8devices-lima_defconfig
+++ /dev/null
@@ -1,83 +0,0 @@
-CONFIG_BUILTIN_DTB=y
-CONFIG_BUILTIN_DTB_NAME="qca4531-8devices-lima"
-CONFIG_MACH_MIPS_ATH79=y
-CONFIG_PBL_IMAGE=y
-CONFIG_IMAGE_COMPRESSION_XZKERN=y
-CONFIG_MMU=y
-CONFIG_TEXT_BASE=0x81000000
-CONFIG_MALLOC_TLSF=y
-CONFIG_HUSH_FANCY_PROMPT=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_CONSOLE_RATP=y
-CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
-CONFIG_CMD_DMESG=y
-CONFIG_LONGHELP=y
-CONFIG_CMD_IOMEM=y
-CONFIG_CMD_IMD=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_GO=y
-CONFIG_CMD_LOADB=y
-CONFIG_CMD_LOADY=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_EXPORT=y
-CONFIG_CMD_DEFAULTENV=y
-CONFIG_CMD_LOADENV=y
-CONFIG_CMD_MAGICVAR=y
-CONFIG_CMD_MAGICVAR_HELP=y
-CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_SHA1SUM=y
-CONFIG_CMD_UNCOMPRESS=y
-CONFIG_CMD_LET=y
-CONFIG_CMD_MSLEEP=y
-CONFIG_CMD_READF=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_HOST=y
-CONFIG_CMD_MIITOOL=y
-CONFIG_CMD_PING=y
-CONFIG_CMD_ECHO_E=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-CONFIG_CMD_CRC=y
-CONFIG_CMD_MEMTEST=y
-CONFIG_CMD_MM=y
-CONFIG_CMD_CLK=y
-CONFIG_CMD_DETECT=y
-CONFIG_CMD_FLASH=y
-CONFIG_CMD_GPIO=y
-CONFIG_CMD_LED=y
-CONFIG_CMD_POWEROFF=y
-CONFIG_CMD_SPI=y
-CONFIG_CMD_LED_TRIGGER=y
-CONFIG_CMD_BAREBOX_UPDATE=y
-CONFIG_CMD_OF_NODE=y
-CONFIG_CMD_OF_PROPERTY=y
-CONFIG_CMD_OFTREE=y
-CONFIG_CMD_TIME=y
-CONFIG_NET=y
-CONFIG_NET_NFS=y
-CONFIG_NET_NETCONSOLE=y
-CONFIG_NET_SNTP=y
-CONFIG_OFDEVICE=y
-CONFIG_OF_BAREBOX_DRIVERS=y
-CONFIG_OF_BAREBOX_ENV_IN_FS=y
-CONFIG_DRIVER_SERIAL_NS16550=y
-CONFIG_DRIVER_NET_AG71XX=y
-CONFIG_AR8327N_PHY=y
-CONFIG_MDIO_BITBANG=y
-CONFIG_MDIO_GPIO=y
-CONFIG_DRIVER_SPI_ATH79=y
-CONFIG_MTD=y
-# CONFIG_MTD_OOB_DEVICE is not set
-CONFIG_MTD_M25P80=y
-CONFIG_LED=y
-CONFIG_LED_GPIO=y
-CONFIG_LED_GPIO_OF=y
-CONFIG_LED_TRIGGERS=y
-CONFIG_FS_TFTP=y
-CONFIG_FS_NFS=y
-CONFIG_FS_RATP=y
-CONFIG_DIGEST_SHA224_GENERIC=y
-CONFIG_DIGEST_SHA256_GENERIC=y
diff --git a/arch/mips/configs/tplink-mr3020_defconfig b/arch/mips/configs/ath79_defconfig
similarity index 90%
rename from arch/mips/configs/tplink-mr3020_defconfig
rename to arch/mips/configs/ath79_defconfig
index 4193bd628f..781786bc52 100644
--- a/arch/mips/configs/tplink-mr3020_defconfig
+++ b/arch/mips/configs/ath79_defconfig
@@ -1,7 +1,10 @@
-CONFIG_BUILTIN_DTB=y
-CONFIG_BUILTIN_DTB_NAME="tplink-mr3020"
CONFIG_MACH_MIPS_ATH79=y
-CONFIG_PBL_IMAGE=y
+CONFIG_MIPS_ATH79_MULTI_BOARDS=y
+CONFIG_BOARD_8DEVICES_LIMA=y
+CONFIG_BOARD_DPTECHNICS_DPT_MODULE=y
+CONFIG_BOARD_TPLINK_MR3020=y
+CONFIG_BOARD_TPLINK_WDR4300=y
+CONFIG_BOARD_BLACK_SWIFT=y
CONFIG_IMAGE_COMPRESSION_XZKERN=y
CONFIG_MMU=y
CONFIG_TEXT_BASE=0x81000000
diff --git a/arch/mips/configs/black-swift_defconfig b/arch/mips/configs/black-swift_defconfig
deleted file mode 100644
index 1a72cfbd77..0000000000
--- a/arch/mips/configs/black-swift_defconfig
+++ /dev/null
@@ -1,54 +0,0 @@
-CONFIG_BUILTIN_DTB=y
-CONFIG_BUILTIN_DTB_NAME="black-swift"
-CONFIG_MACH_MIPS_ATH79=y
-CONFIG_BOARD_BLACK_SWIFT=y
-CONFIG_NMON=y
-CONFIG_NMON_USER_START=y
-CONFIG_NMON_1S_DELAY=0x100000
-CONFIG_NMON_USER_START_DELAY=0x5
-CONFIG_NMON_HELP=y
-CONFIG_PBL_IMAGE=y
-CONFIG_IMAGE_COMPRESSION_XZKERN=y
-CONFIG_MMU=y
-CONFIG_TEXT_BASE=0x82000000
-CONFIG_MALLOC_TLSF=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_IMD=y
-CONFIG_PARTITION=y
-CONFIG_DEBUG_LL=y
-CONFIG_LONGHELP=y
-CONFIG_CMD_IOMEM=y
-CONFIG_CMD_MEMINFO=y
-# CONFIG_CMD_BOOTM is not set
-CONFIG_CMD_GO=y
-CONFIG_CMD_LOADB=y
-CONFIG_CMD_LOADY=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_PARTITION=y
-CONFIG_CMD_GLOBAL=y
-CONFIG_CMD_SHA1SUM=y
-CONFIG_CMD_LET=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_MM=y
-CONFIG_CMD_CLK=y
-CONFIG_CMD_FLASH=y
-CONFIG_CMD_GPIO=y
-CONFIG_CMD_LED=y
-CONFIG_CMD_SPI=y
-CONFIG_CMD_OF_NODE=y
-CONFIG_CMD_OF_PROPERTY=y
-CONFIG_CMD_OFTREE=y
-CONFIG_OFDEVICE=y
-CONFIG_DRIVER_SERIAL_AR933X=y
-CONFIG_DRIVER_SPI_ATH79=y
-CONFIG_MTD=y
-# CONFIG_MTD_OOB_DEVICE is not set
-CONFIG_MTD_M25P80=y
-CONFIG_LED=y
-CONFIG_LED_GPIO=y
-CONFIG_LED_GPIO_OF=y
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_DIGEST_SHA224_GENERIC=y
-CONFIG_DIGEST_SHA256_GENERIC=y
diff --git a/arch/mips/configs/dptechnics-dpt-module_defconfig b/arch/mips/configs/dptechnics-dpt-module_defconfig
deleted file mode 100644
index c01b22b987..0000000000
--- a/arch/mips/configs/dptechnics-dpt-module_defconfig
+++ /dev/null
@@ -1,89 +0,0 @@
-CONFIG_BUILTIN_DTB=y
-CONFIG_BUILTIN_DTB_NAME="ar9331-dptechnics-dpt-module"
-CONFIG_MACH_MIPS_ATH79=y
-CONFIG_BOARD_DPTECHNICS_DPT_MODULE=y
-CONFIG_PBL_IMAGE=y
-CONFIG_IMAGE_COMPRESSION_XZKERN=y
-CONFIG_MMU=y
-CONFIG_TEXT_BASE=0x82000000
-CONFIG_MALLOC_TLSF=y
-CONFIG_HUSH_FANCY_PROMPT=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_CONSOLE_RATP=y
-CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
-CONFIG_RESET_SOURCE=y
-CONFIG_CMD_DMESG=y
-CONFIG_LONGHELP=y
-CONFIG_CMD_IOMEM=y
-CONFIG_CMD_IMD=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_GO=y
-CONFIG_CMD_LOADB=y
-CONFIG_CMD_LOADY=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_EXPORT=y
-CONFIG_CMD_DEFAULTENV=y
-CONFIG_CMD_LOADENV=y
-CONFIG_CMD_MAGICVAR=y
-CONFIG_CMD_MAGICVAR_HELP=y
-CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_SHA1SUM=y
-CONFIG_CMD_UNCOMPRESS=y
-CONFIG_CMD_LET=y
-CONFIG_CMD_MSLEEP=y
-CONFIG_CMD_READF=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_HOST=y
-CONFIG_CMD_MIITOOL=y
-CONFIG_CMD_PING=y
-CONFIG_CMD_ECHO_E=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-CONFIG_CMD_CRC=y
-CONFIG_CMD_MEMTEST=y
-CONFIG_CMD_MM=y
-CONFIG_CMD_CLK=y
-CONFIG_CMD_DETECT=y
-CONFIG_CMD_FLASH=y
-CONFIG_CMD_GPIO=y
-CONFIG_CMD_LED=y
-CONFIG_CMD_POWEROFF=y
-CONFIG_CMD_SPI=y
-CONFIG_CMD_LED_TRIGGER=y
-CONFIG_CMD_WD=y
-CONFIG_CMD_BAREBOX_UPDATE=y
-CONFIG_CMD_OF_NODE=y
-CONFIG_CMD_OF_PROPERTY=y
-CONFIG_CMD_OFTREE=y
-CONFIG_CMD_TIME=y
-CONFIG_NET=y
-CONFIG_NET_NFS=y
-CONFIG_NET_NETCONSOLE=y
-CONFIG_NET_SNTP=y
-CONFIG_OFDEVICE=y
-CONFIG_OF_BAREBOX_DRIVERS=y
-CONFIG_OF_BAREBOX_ENV_IN_FS=y
-CONFIG_DRIVER_SERIAL_AR933X=y
-CONFIG_DRIVER_NET_AG71XX=y
-CONFIG_AR8327N_PHY=y
-CONFIG_AT803X_PHY=y
-CONFIG_MDIO_BITBANG=y
-CONFIG_MDIO_GPIO=y
-CONFIG_DRIVER_SPI_ATH79=y
-CONFIG_MTD=y
-# CONFIG_MTD_OOB_DEVICE is not set
-CONFIG_MTD_M25P80=y
-CONFIG_LED=y
-CONFIG_LED_GPIO=y
-CONFIG_LED_GPIO_OF=y
-CONFIG_LED_TRIGGERS=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_AR9344=y
-CONFIG_FS_TFTP=y
-CONFIG_FS_NFS=y
-CONFIG_FS_RATP=y
-CONFIG_DIGEST_SHA224_GENERIC=y
-CONFIG_DIGEST_SHA256_GENERIC=y
diff --git a/arch/mips/configs/img-ci20_defconfig b/arch/mips/configs/img-ci20_defconfig
deleted file mode 100644
index ada82c6431..0000000000
--- a/arch/mips/configs/img-ci20_defconfig
+++ /dev/null
@@ -1,45 +0,0 @@
-CONFIG_BUILTIN_DTB=y
-CONFIG_BUILTIN_DTB_NAME="img-ci20"
-CONFIG_MACH_MIPS_XBURST=y
-CONFIG_BOARD_CI20=y
-CONFIG_PBL_IMAGE=y
-CONFIG_GLOB=y
-CONFIG_HUSH_FANCY_PROMPT=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_BOOTM_SHOW_TYPE=y
-CONFIG_BOOTM_VERBOSE=y
-CONFIG_BOOTM_INITRD=y
-CONFIG_BOOTM_OFTREE=y
-CONFIG_BOOTM_OFTREE_UIMAGE=y
-# CONFIG_DEFAULT_ENVIRONMENT is not set
-CONFIG_POLLER=y
-CONFIG_DEBUG_LL=y
-CONFIG_LONGHELP=y
-CONFIG_CMD_IOMEM=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_GO=y
-CONFIG_CMD_LOADB=y
-CONFIG_CMD_LOADS=y
-CONFIG_CMD_LOADY=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_SAVES=y
-CONFIG_CMD_UIMAGE=y
-CONFIG_CMD_MD5SUM=y
-CONFIG_CMD_GETOPT=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_MIITOOL=y
-CONFIG_CMD_PING=y
-CONFIG_CMD_TFTP=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_GPIO=y
-CONFIG_CMD_OF_NODE=y
-CONFIG_CMD_OF_PROPERTY=y
-CONFIG_CMD_OFTREE=y
-CONFIG_NET=y
-CONFIG_OFDEVICE=y
-CONFIG_DRIVER_NET_DM9K=y
-# CONFIG_SPI is not set
-CONFIG_CLOCKSOURCE_DUMMY_RATE=3500
-CONFIG_FS_TFTP=y
diff --git a/arch/mips/configs/qemu-malta_defconfig b/arch/mips/configs/qemu-malta_defconfig
index 9671e93dc0..1314783e02 100644
--- a/arch/mips/configs/qemu-malta_defconfig
+++ b/arch/mips/configs/qemu-malta_defconfig
@@ -1,6 +1,6 @@
-CONFIG_BUILTIN_DTB=y
-CONFIG_BUILTIN_DTB_NAME="qemu-malta"
-CONFIG_PBL_IMAGE=y
+CONFIG_MIPS_MALTA_MULTI_BOARDS=y
+CONFIG_BOARD_QEMU_MALTA=y
+CONFIG_IMAGE_COMPRESSION_XZKERN=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x400000
CONFIG_STACK_SIZE=0x7000
CONFIG_EXPERIMENTAL=y
@@ -10,10 +10,12 @@ CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_MENU=y
CONFIG_BOOTM_SHOW_TYPE=y
+CONFIG_CONSOLE_ALLOW_COLOR=y
CONFIG_PARTITION=y
-# CONFIG_DEFAULT_ENVIRONMENT is not set
+CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
CONFIG_POLLER=y
CONFIG_DEBUG_INFO=y
+CONFIG_CMD_DMESG=y
CONFIG_LONGHELP=y
CONFIG_CMD_IOMEM=y
CONFIG_CMD_IMD=y
@@ -24,6 +26,7 @@ CONFIG_CMD_LOADY=y
CONFIG_CMD_RESET=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_EXPORT=y
+CONFIG_CMD_DEFAULTENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_SAVEENV=y
@@ -31,7 +34,6 @@ CONFIG_CMD_MD5SUM=y
CONFIG_CMD_SHA1SUM=y
CONFIG_CMD_SHA256SUM=y
CONFIG_CMD_UNCOMPRESS=y
-CONFIG_CMD_GETOPT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_DHCP=y
CONFIG_CMD_MIITOOL=y
diff --git a/arch/mips/configs/tplink-wdr4300_defconfig b/arch/mips/configs/tplink-wdr4300_defconfig
deleted file mode 100644
index 46093d243b..0000000000
--- a/arch/mips/configs/tplink-wdr4300_defconfig
+++ /dev/null
@@ -1,82 +0,0 @@
-CONFIG_BUILTIN_DTB=y
-CONFIG_BUILTIN_DTB_NAME="ar9344-tl-wdr4300-v1.7"
-CONFIG_MACH_MIPS_ATH79=y
-CONFIG_BOARD_TPLINK_WDR4300=y
-CONFIG_PBL_IMAGE=y
-CONFIG_IMAGE_COMPRESSION_XZKERN=y
-CONFIG_MMU=y
-CONFIG_TEXT_BASE=0x81000000
-CONFIG_MALLOC_TLSF=y
-CONFIG_HUSH_FANCY_PROMPT=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
-CONFIG_CMD_DMESG=y
-CONFIG_LONGHELP=y
-CONFIG_CMD_IOMEM=y
-CONFIG_CMD_IMD=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_GO=y
-CONFIG_CMD_LOADB=y
-CONFIG_CMD_LOADY=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_EXPORT=y
-CONFIG_CMD_DEFAULTENV=y
-CONFIG_CMD_LOADENV=y
-CONFIG_CMD_MAGICVAR=y
-CONFIG_CMD_MAGICVAR_HELP=y
-CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_SHA1SUM=y
-CONFIG_CMD_UNCOMPRESS=y
-CONFIG_CMD_LET=y
-CONFIG_CMD_MSLEEP=y
-CONFIG_CMD_READF=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_HOST=y
-CONFIG_CMD_MIITOOL=y
-CONFIG_CMD_PING=y
-CONFIG_CMD_ECHO_E=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-CONFIG_CMD_CRC=y
-CONFIG_CMD_MEMTEST=y
-CONFIG_CMD_MM=y
-CONFIG_CMD_CLK=y
-CONFIG_CMD_DETECT=y
-CONFIG_CMD_FLASH=y
-CONFIG_CMD_GPIO=y
-CONFIG_CMD_LED=y
-CONFIG_CMD_POWEROFF=y
-CONFIG_CMD_SPI=y
-CONFIG_CMD_LED_TRIGGER=y
-CONFIG_CMD_BAREBOX_UPDATE=y
-CONFIG_CMD_OF_NODE=y
-CONFIG_CMD_OF_PROPERTY=y
-CONFIG_CMD_OFTREE=y
-CONFIG_CMD_TIME=y
-CONFIG_NET=y
-CONFIG_NET_NFS=y
-CONFIG_NET_NETCONSOLE=y
-CONFIG_NET_SNTP=y
-CONFIG_OFDEVICE=y
-CONFIG_OF_BAREBOX_DRIVERS=y
-CONFIG_OF_BAREBOX_ENV_IN_FS=y
-CONFIG_DRIVER_SERIAL_NS16550=y
-CONFIG_DRIVER_NET_AG71XX=y
-CONFIG_AR8327N_PHY=y
-CONFIG_MDIO_BITBANG=y
-CONFIG_MDIO_GPIO=y
-CONFIG_DRIVER_SPI_ATH79=y
-CONFIG_MTD=y
-# CONFIG_MTD_OOB_DEVICE is not set
-CONFIG_MTD_M25P80=y
-CONFIG_LED=y
-CONFIG_LED_GPIO=y
-CONFIG_LED_GPIO_OF=y
-CONFIG_LED_TRIGGERS=y
-CONFIG_FS_TFTP=y
-CONFIG_FS_NFS=y
-CONFIG_DIGEST_SHA224_GENERIC=y
-CONFIG_DIGEST_SHA256_GENERIC=y
diff --git a/arch/mips/configs/ritmix-rzx50_defconfig b/arch/mips/configs/xburst_defconfig
similarity index 89%
rename from arch/mips/configs/ritmix-rzx50_defconfig
rename to arch/mips/configs/xburst_defconfig
index 3fb978a813..4305afc586 100644
--- a/arch/mips/configs/ritmix-rzx50_defconfig
+++ b/arch/mips/configs/xburst_defconfig
@@ -1,8 +1,7 @@
-CONFIG_BUILTIN_DTB=y
-CONFIG_BUILTIN_DTB_NAME="rzx50"
CONFIG_MACH_MIPS_XBURST=y
-CONFIG_JZ47XX_DEBUG_LL_UART1=y
-CONFIG_PBL_IMAGE=y
+CONFIG_BOARD_RZX50=y
+CONFIG_BOARD_CI20=y
+CONFIG_CPU_MIPS32_R1=y
CONFIG_BAUDRATE=57600
CONFIG_GLOB=y
CONFIG_HUSH_FANCY_PROMPT=y
@@ -14,7 +13,6 @@ CONFIG_BOOTM_INITRD=y
CONFIG_BOOTM_OFTREE=y
CONFIG_BOOTM_OFTREE_UIMAGE=y
# CONFIG_DEFAULT_ENVIRONMENT is not set
-CONFIG_DEBUG_LL=y
CONFIG_LONGHELP=y
CONFIG_CMD_IOMEM=y
CONFIG_CMD_IMD=y
diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile
index ddd9039985..83309ba73c 100644
--- a/arch/mips/dts/Makefile
+++ b/arch/mips/dts/Makefile
@@ -1,5 +1,16 @@
-
BUILTIN_DTB := $(patsubst "%",%,$(CONFIG_BUILTIN_DTB_NAME))
-obj-$(CONFIG_BUILTIN_DTB) += $(BUILTIN_DTB).dtb.o
+ifneq ($(BUILTIN_DTB),)
+obj-dtb-$(CONFIG_BUILTIN_DTB) += $(BUILTIN_DTB).dtb.o
+endif
+
+pbl-dtb-$(CONFIG_BOARD_8DEVICES_LIMA) += qca4531-8devices-lima.dtb.o
+pbl-dtb-$(CONFIG_BOARD_BLACK_SWIFT) += black-swift.dtb.o
+pbl-dtb-$(CONFIG_BOARD_CI20) += img-ci20.dtb.o
+pbl-dtb-$(CONFIG_BOARD_DPTECHNICS_DPT_MODULE) += ar9331-dptechnics-dpt-module.dtb.o
+pbl-dtb-$(CONFIG_BOARD_LOONGSON_TECH_LS1B) += loongson-ls1b.dtb.o
+pbl-dtb-$(CONFIG_BOARD_QEMU_MALTA) += qemu-malta.dtb.o
+pbl-dtb-$(CONFIG_BOARD_RZX50) += rzx50.dtb.o
+pbl-dtb-$(CONFIG_BOARD_TPLINK_MR3020) += tplink-mr3020.dtb.o
+pbl-dtb-$(CONFIG_BOARD_TPLINK_WDR4300) += ar9344-tl-wdr4300-v1.7.dtb.o
clean-files := *.dtb *.dtb.S .*.dtc .*.pre .*.dts *.dtb.lzo
diff --git a/arch/mips/mach-ar231x/include/mach/debug_ll.h b/arch/mips/mach-ar231x/include/mach/debug_ll.h
index 5ab7f9a26a..ecec159169 100644
--- a/arch/mips/mach-ar231x/include/mach/debug_ll.h
+++ b/arch/mips/mach-ar231x/include/mach/debug_ll.h
@@ -21,7 +21,6 @@
/** @file
* This File contains declaration for early output support
*/
-#include <board/debug_ll.h>
#include <asm/debug_ll_ns16550.h>
#endif /* __MACH_AR231X_DEBUG_LL__ */
diff --git a/arch/mips/mach-ath79/Kconfig b/arch/mips/mach-ath79/Kconfig
index e4e10a2f65..3ea78b074a 100644
--- a/arch/mips/mach-ath79/Kconfig
+++ b/arch/mips/mach-ath79/Kconfig
@@ -10,8 +10,18 @@ config SOC_QCA_AR9331
config SOC_QCA_AR9344
bool
+if DEBUG_LL
choice
- prompt "Board type"
+ prompt "DEBUG_LL driver"
+
+config DEBUG_AR9331_UART
+ bool "AR9331 Debug UART"
+
+config DEBUG_AR9344_UART
+ bool "AR9344 Debug UART"
+
+endchoice
+endif # DEBUG_LL
config BOARD_8DEVICES_LIMA
bool "8devices LIMA"
@@ -50,6 +60,4 @@ config BOARD_BLACK_SWIFT
select HAVE_IMAGE_COMPRESSION
select HAS_NMON
-endchoice
-
endif
diff --git a/arch/mips/mach-ath79/include/mach/debug_ll.h b/arch/mips/mach-ath79/include/mach/debug_ll.h
index 73d064a3a0..a49b6cf4ab 100644
--- a/arch/mips/mach-ath79/include/mach/debug_ll.h
+++ b/arch/mips/mach-ath79/include/mach/debug_ll.h
@@ -18,10 +18,18 @@
#ifndef __MACH_ATH79_DEBUG_LL__
#define __MACH_ATH79_DEBUG_LL__
-#if defined(CONFIG_SOC_QCA_AR9331)
+#ifdef CONFIG_DEBUG_LL
+
+#ifdef CONFIG_DEBUG_AR9331_UART
#include <mach/debug_ll_ar9331.h>
-#elif defined(CONFIG_SOC_QCA_AR9344)
+#elif defined CONFIG_DEBUG_AR9344_UART
#include <mach/debug_ll_ar9344.h>
+#else
+#error "unknown ath79 debug uart soc type"
#endif
+#else
+#define debug_ll_ath79_init
+#endif /* CONFIG_DEBUG_LL */
+
#endif /* __MACH_AR9344_DEBUG_LL_H__ */
diff --git a/arch/mips/mach-ath79/include/mach/debug_ll_ar9331.h b/arch/mips/mach-ath79/include/mach/debug_ll_ar9331.h
index 04bd3ea72b..11088490d1 100644
--- a/arch/mips/mach-ath79/include/mach/debug_ll_ar9331.h
+++ b/arch/mips/mach-ath79/include/mach/debug_ll_ar9331.h
@@ -81,7 +81,7 @@ static inline void PUTC_LL(int ch)
#define AR933X_UART_CLOCK_REG 0x08
#define CLOCK_REG ((KSEG1 | AR933X_UART_BASE) | AR933X_UART_CLOCK_REG)
-.macro debug_ll_ar9331_init
+.macro debug_ll_ath79_init
#ifdef CONFIG_DEBUG_LL
pbl_reg_writel ((AR933X_UART_CS_IF_MODE_DCE << AR933X_UART_CS_IF_MODE_S) \
diff --git a/arch/mips/mach-ath79/include/mach/debug_ll_ar9344.h b/arch/mips/mach-ath79/include/mach/debug_ll_ar9344.h
index d156ce9f39..359cf0d42b 100644
--- a/arch/mips/mach-ath79/include/mach/debug_ll_ar9344.h
+++ b/arch/mips/mach-ath79/include/mach/debug_ll_ar9344.h
@@ -19,8 +19,10 @@
#ifndef __AR9344_DEBUG_LL__
#define __AR9344_DEBUG_LL__
+#include <asm/asm.h>
#include <asm/addrspace.h>
#include <mach/ar71xx_regs.h>
+#include <asm/regdef.h>
#define DEBUG_LL_UART_ADDR KSEG1ADDR(AR934X_UART0_BASE)
#define DEBUG_LL_UART_SHIFT AR934X_UART0_SHIFT
@@ -66,7 +68,7 @@ static inline void PUTC_LL(char ch)
* Macros for use in assembly language code
*/
-.macro debug_ll_ar9344_init
+.macro debug_ll_ath79_init
#ifdef CONFIG_DEBUG_LL
/* find out the ref clock */
diff --git a/arch/mips/mach-ath79/include/mach/pbl_macros.h b/arch/mips/mach-ath79/include/mach/pbl_macros.h
index 906d73e8c7..70736b3680 100644
--- a/arch/mips/mach-ath79/include/mach/pbl_macros.h
+++ b/arch/mips/mach-ath79/include/mach/pbl_macros.h
@@ -393,13 +393,10 @@ skip_pll_ram_config:
dcache_enable
pbl_ar9331_uart_enable
- debug_ll_ar9331_init
- mips_nmon
+ debug_ll_ath79_init
pbl_ar9331_mdio_gpio_enable
- copy_to_link_location pbl_start
-
.set pop
.endm
diff --git a/arch/mips/mach-loongson/include/mach/debug_ll.h b/arch/mips/mach-loongson/include/mach/debug_ll.h
index b999f5e019..1904fb940a 100644
--- a/arch/mips/mach-loongson/include/mach/debug_ll.h
+++ b/arch/mips/mach-loongson/include/mach/debug_ll.h
@@ -21,7 +21,6 @@
/** @file
* This File contains declaration for early output support
*/
-#include <board/debug_ll.h>
#include <asm/debug_ll_ns16550.h>
#endif /* __MACH_LOONGSON_DEBUG_LL__ */
diff --git a/arch/mips/mach-malta/Kconfig b/arch/mips/mach-malta/Kconfig
index 1bf2b0e68a..ceea937e30 100644
--- a/arch/mips/mach-malta/Kconfig
+++ b/arch/mips/mach-malta/Kconfig
@@ -4,8 +4,11 @@ config ARCH_TEXT_BASE
hex
default 0xa0800000
-choice
- prompt "Board type"
+config MIPS_MALTA_MULTI_BOARDS
+ bool "Allow multiple boards to be selected"
+ select HAVE_PBL_MULTI_IMAGE
+
+if MIPS_MALTA_MULTI_BOARDS
config BOARD_QEMU_MALTA
bool "qemu malta"
@@ -13,6 +16,6 @@ config BOARD_QEMU_MALTA
select HAVE_IMAGE_COMPRESSION
select HAS_NMON
-endchoice
+endif # MIPS_MALTA_MULTI_BOARDS
endif
diff --git a/arch/mips/mach-malta/include/mach/debug_ll.h b/arch/mips/mach-malta/include/mach/debug_ll.h
index c9e89bcc9d..a9cf8b3c19 100644
--- a/arch/mips/mach-malta/include/mach/debug_ll.h
+++ b/arch/mips/mach-malta/include/mach/debug_ll.h
@@ -21,7 +21,15 @@
#ifndef __MACH_MALTA_DEBUG_LL_H__
#define __MACH_MALTA_DEBUG_LL_H__
-#include <board/debug_ll.h>
+#include <mach/hardware.h>
+
+#define DEBUG_LL_UART_ADDR MALTA_PIIX4_UART0
+#define DEBUG_LL_UART_SHIFT 0
+
+#define DEBUG_LL_UART_CLK 1843200
+#define DEBUG_LL_UART_BPS CONFIG_BAUDRATE
+#define DEBUG_LL_UART_DIVISOR (DEBUG_LL_UART_CLK / DEBUG_LL_UART_BPS)
+
#include <asm/debug_ll_ns16550.h>
#endif /* __MACH_MALTA_DEBUG_LL_H__ */
diff --git a/arch/mips/mach-xburst/Kconfig b/arch/mips/mach-xburst/Kconfig
index ee79ff6167..b3790210dd 100644
--- a/arch/mips/mach-xburst/Kconfig
+++ b/arch/mips/mach-xburst/Kconfig
@@ -16,9 +16,6 @@ config CPU_JZ4780
select WATCHDOG
select WATCHDOG_JZ4740
-choice
- prompt "Board type"
-
config BOARD_RZX50
bool "Ritmix RZX-50"
select CPU_JZ4755
@@ -28,9 +25,18 @@ config BOARD_CI20
select CPU_JZ4780
select HAS_DM9000
+if DEBUG_LL
+choice
+ prompt "DEBUG_LL driver"
+
+config DEBUG_JZ4750D_UART
+ bool "JZ4750D Debug UART"
+
+config DEBUG_JZ4780_UART
+ bool "JZ4780 Debug UART"
+
endchoice
-if DEBUG_LL
choice
prompt "DEBUG_LL port"
diff --git a/arch/mips/mach-xburst/include/mach/debug_ll.h b/arch/mips/mach-xburst/include/mach/debug_ll.h
index 6c3c9804b5..a1ce17efdf 100644
--- a/arch/mips/mach-xburst/include/mach/debug_ll.h
+++ b/arch/mips/mach-xburst/include/mach/debug_ll.h
@@ -21,7 +21,19 @@
/** @file
* This File contains declaration for early output support
*/
-#include <board/debug_ll.h>
+
+#ifdef CONFIG_DEBUG_LL
+
+#ifdef CONFIG_DEBUG_JZ4750D_UART
+#include <mach/debug_ll_jz4750d.h>
+#elif defined CONFIG_DEBUG_JZ4780_UART
+#include <mach/debug_ll_jz4780.h>
+#else
+#error "unknown xburst debug uart soc type"
+#endif
+
+#endif /* CONFIG_DEBUG_LL */
+
#include <asm/debug_ll_ns16550.h>
#endif /* __MACH_XBURST_DEBUG_LL__ */
diff --git a/images/Makefile b/images/Makefile
index 4c6d486f08..f72aac46ff 100644
--- a/images/Makefile
+++ b/images/Makefile
@@ -52,7 +52,7 @@ $(pbl-lds): $(obj)/../arch/$(ARCH)/lib/pbl.lds.S FORCE
$(call if_changed_dep,cpp_lds_S)
quiet_cmd_elf__ ?= LD $@
- cmd_elf__ ?= $(LD) $(LDFLAGS_barebox) --gc-sections -pie \
+ cmd_elf__ ?= $(LD) $(LDFLAGS_barebox) --gc-sections \
-e $(2) -Map $@.map $(LDFLAGS_$(@F)) -o $@ \
-T $(pbl-lds) \
--start-group $(barebox-pbl-common) $(obj)/piggy.o --end-group
@@ -94,8 +94,12 @@ board = $(srctree)/arch/$(ARCH)/boards
objboard = $(objtree)/arch/$(ARCH)/boards
include $(srctree)/images/Makefile.am33xx
+include $(srctree)/images/Makefile.ar231x
+include $(srctree)/images/Makefile.ath79
include $(srctree)/images/Makefile.bcm283x
include $(srctree)/images/Makefile.imx
+include $(srctree)/images/Makefile.loongson
+include $(srctree)/images/Makefile.malta
include $(srctree)/images/Makefile.mvebu
include $(srctree)/images/Makefile.mxs
include $(srctree)/images/Makefile.omap3
@@ -103,6 +107,7 @@ include $(srctree)/images/Makefile.rockchip
include $(srctree)/images/Makefile.socfpga
include $(srctree)/images/Makefile.tegra
include $(srctree)/images/Makefile.vexpress
+include $(srctree)/images/Makefile.xburst
include $(srctree)/images/Makefile.at91
targets += $(image-y) pbl.lds barebox.x barebox.z
diff --git a/images/Makefile.ar231x b/images/Makefile.ar231x
new file mode 100644
index 0000000000..31b9704866
--- /dev/null
+++ b/images/Makefile.ar231x
@@ -0,0 +1,3 @@
+pblb-$(CONFIG_BOARD_NETGEAR_WG102) += start_netgear_wg102
+FILE_barebox-netgear-wg102.img = start_netgear_wg102.pblb
+image-$(CONFIG_BOARD_NETGEAR_WG102) += barebox-netgear-wg102.img
diff --git a/images/Makefile.ath79 b/images/Makefile.ath79
new file mode 100644
index 0000000000..c7e97f0ac3
--- /dev/null
+++ b/images/Makefile.ath79
@@ -0,0 +1,20 @@
+pblb-$(CONFIG_BOARD_8DEVICES_LIMA) += start_8devices_lima
+FILE_barebox-8devices-lima.img = start_8devices_lima.pblb
+image-$(CONFIG_BOARD_8DEVICES_LIMA) += barebox-8devices-lima.img
+
+pblb-$(CONFIG_BLACK_SWIFT) += start_black_swift
+FILE_barebox-black-swift.img = start_black_swift.pblb
+image-$(CONFIG_BOARD_BLACK_SWIFT) += barebox-black-swift.img
+
+pblb-$(CONFIG_BOARD_DPTECHNICS_DPT_MODULE) += start_dptechnics_dpt_module
+FILE_barebox-dptechnics-dpt-module.img = start_dptechnics_dpt_module.pblb
+image-$(CONFIG_BOARD_DPTECHNICS_DPT_MODULE) += barebox-dptechnics-dpt-module.img
+
+pblb-$(CONFIG_BOARD_TPLINK_MR3020) += start_tplink_mr3020
+FILE_barebox-tplink-mr3020.img = start_tplink_mr3020.pblb
+image-$(CONFIG_BOARD_TPLINK_MR3020) += barebox-tplink-mr3020.img
+
+pblb-$(CONFIG_BOARD_TPLINK_WDR4300) += start_tplink_wdr4300
+FILE_barebox-tplink-wdr4300.img = start_tplink_wdr4300.pblb
+image-$(CONFIG_BOARD_TPLINK_WDR4300) += barebox-tplink-wdr4300.img
+
diff --git a/images/Makefile.loongson b/images/Makefile.loongson
new file mode 100644
index 0000000000..f5918b5407
--- /dev/null
+++ b/images/Makefile.loongson
@@ -0,0 +1,3 @@
+pblb-$(CONFIG_BOARD_LOONGSON_TECH_LS1B) += start_loongson_ls1b
+FILE_barebox-loongson-ls1b.img = start_loongson_ls1b.pblb
+image-$(CONFIG_BOARD_LOONGSON_TECH_LS1B) += barebox-loongson-ls1b.img
diff --git a/images/Makefile.malta b/images/Makefile.malta
new file mode 100644
index 0000000000..5739ec4640
--- /dev/null
+++ b/images/Makefile.malta
@@ -0,0 +1,3 @@
+pblb-$(CONFIG_BOARD_QEMU_MALTA) += start_qemu_malta
+FILE_barebox-qemu-malta.img = start_qemu_malta.pblb
+image-$(CONFIG_BOARD_QEMU_MALTA) += barebox-qemu-malta.img
diff --git a/images/Makefile.xburst b/images/Makefile.xburst
new file mode 100644
index 0000000000..6c63a5657b
--- /dev/null
+++ b/images/Makefile.xburst
@@ -0,0 +1,7 @@
+pblb-$(CONFIG_BOARD_CI20) += start_img_ci20
+FILE_barebox-img-ci20.img = start_img_ci20.pblb
+image-$(CONFIG_BOARD_CI20) += barebox-img-ci20.img
+
+pblb-$(CONFIG_BOARD_RZX50) += start_ritmix_rzx50
+FILE_barebox-ritmix-rzx50.img = start_ritmix_rzx50.pblb
+image-$(CONFIG_BOARD_RZX50) += barebox-ritmix-rzx50.img
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 09/10] MIPS: remove HAS_NO_BOARD_HL_CODE support
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
` (7 preceding siblings ...)
2018-11-27 9:19 ` [PATCH v3 08/10] MIPS: port all mach* to multiimage Oleksij Rempel
@ 2018-11-27 9:19 ` Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 10/10] MIPS: remove useless board files Oleksij Rempel
2018-11-30 7:46 ` [PATCH v3 00/10] MIPS: migrate to multiimage support Sascha Hauer
10 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
With multiimage support it makes no more sense,
every board should have Makefile and some lowlevel code.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
arch/mips/Kconfig | 3 ---
arch/mips/Makefile | 2 --
arch/mips/mach-ath79/Kconfig | 2 --
3 files changed, 7 deletions(-)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index eeca76870a..726dc6dfa4 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -27,9 +27,6 @@ config GENERIC_LINKER_SCRIPT
bool
default y
-config HAS_NO_BOARD_HL_CODE
- bool
-
config PHYS_ADDR_T_64BIT
bool
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 422e844d9f..c08e53ca3d 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -103,9 +103,7 @@ else
MACH :=
endif
-ifndef CONFIG_HAS_NO_BOARD_HL_CODE
common-y += $(BOARD)
-endif
common-y += $(MACH)
common-y += arch/mips/lib/
diff --git a/arch/mips/mach-ath79/Kconfig b/arch/mips/mach-ath79/Kconfig
index 3ea78b074a..4bc1d88b4e 100644
--- a/arch/mips/mach-ath79/Kconfig
+++ b/arch/mips/mach-ath79/Kconfig
@@ -29,7 +29,6 @@ config BOARD_8DEVICES_LIMA
select HAVE_PBL_IMAGE
select HAVE_IMAGE_COMPRESSION
select HAS_NMON
- select HAS_NO_BOARD_HL_CODE
config BOARD_DPTECHNICS_DPT_MODULE
bool "DPTechnics DPT-Module"
@@ -37,7 +36,6 @@ config BOARD_DPTECHNICS_DPT_MODULE
select HAVE_PBL_IMAGE
select HAVE_IMAGE_COMPRESSION
select HAS_NMON
- select HAS_NO_BOARD_HL_CODE
config BOARD_TPLINK_MR3020
bool "TP-LINK MR3020"
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 10/10] MIPS: remove useless board files
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
` (8 preceding siblings ...)
2018-11-27 9:19 ` [PATCH v3 09/10] MIPS: remove HAS_NO_BOARD_HL_CODE support Oleksij Rempel
@ 2018-11-27 9:19 ` Oleksij Rempel
2018-11-30 7:46 ` [PATCH v3 00/10] MIPS: migrate to multiimage support Sascha Hauer
10 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2018-11-27 9:19 UTC (permalink / raw)
To: barebox; +Cc: Oleksij Rempel
From: Oleksij Rempel <linux@rempel-privat.de>
In most cases we was executing only barebox_set_hostname().
Since we can extract host name from devicetree, we can drop all of this
board files.
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
---
arch/mips/boards/black-swift/Makefile | 1 -
arch/mips/boards/black-swift/board.c | 27 ----------------------
arch/mips/boards/img-ci20/Makefile | 1 -
arch/mips/boards/img-ci20/board.c | 27 ----------------------
arch/mips/boards/loongson-ls1b/Makefile | 1 -
arch/mips/boards/loongson-ls1b/serial.c | 10 --------
arch/mips/boards/qemu-malta/Makefile | 1 -
arch/mips/boards/qemu-malta/init.c | 29 ------------------------
arch/mips/boards/ritmix-rzx50/Makefile | 1 -
arch/mips/boards/ritmix-rzx50/serial.c | 27 ----------------------
arch/mips/boards/tplink-mr3020/Makefile | 1 -
arch/mips/boards/tplink-mr3020/board.c | 27 ----------------------
arch/mips/boards/tplink-wdr4300/Makefile | 1 -
arch/mips/boards/tplink-wdr4300/board.c | 28 -----------------------
14 files changed, 182 deletions(-)
delete mode 100644 arch/mips/boards/black-swift/board.c
delete mode 100644 arch/mips/boards/img-ci20/board.c
delete mode 100644 arch/mips/boards/loongson-ls1b/serial.c
delete mode 100644 arch/mips/boards/qemu-malta/init.c
delete mode 100644 arch/mips/boards/ritmix-rzx50/serial.c
delete mode 100644 arch/mips/boards/tplink-mr3020/board.c
delete mode 100644 arch/mips/boards/tplink-wdr4300/board.c
diff --git a/arch/mips/boards/black-swift/Makefile b/arch/mips/boards/black-swift/Makefile
index 092c31d6b2..b08c4a93ca 100644
--- a/arch/mips/boards/black-swift/Makefile
+++ b/arch/mips/boards/black-swift/Makefile
@@ -1,2 +1 @@
lwl-y += lowlevel.o
-obj-y += board.o
diff --git a/arch/mips/boards/black-swift/board.c b/arch/mips/boards/black-swift/board.c
deleted file mode 100644
index 2e2ed2075b..0000000000
--- a/arch/mips/boards/black-swift/board.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2015 Antony Pavlov <antonynpavlov@gmail.com>
- *
- * This file is part of barebox.
- * See file CREDITS for list of people who contributed to this project.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#include <common.h>
-#include <init.h>
-
-static int model_hostname_init(void)
-{
- barebox_set_hostname("black-swift");
-
- return 0;
-}
-postcore_initcall(model_hostname_init);
diff --git a/arch/mips/boards/img-ci20/Makefile b/arch/mips/boards/img-ci20/Makefile
index 092c31d6b2..b08c4a93ca 100644
--- a/arch/mips/boards/img-ci20/Makefile
+++ b/arch/mips/boards/img-ci20/Makefile
@@ -1,2 +1 @@
lwl-y += lowlevel.o
-obj-y += board.o
diff --git a/arch/mips/boards/img-ci20/board.c b/arch/mips/boards/img-ci20/board.c
deleted file mode 100644
index 515ebaece6..0000000000
--- a/arch/mips/boards/img-ci20/board.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2012 Antony Pavlov <antonynpavlov@gmail.com>
- *
- * This file is part of barebox.
- * See file CREDITS for list of people who contributed to this project.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#include <common.h>
-#include <init.h>
-
-static int ci20_hostname_init(void)
-{
- barebox_set_hostname("ci20");
-
- return 0;
-}
-console_initcall(ci20_hostname_init);
diff --git a/arch/mips/boards/loongson-ls1b/Makefile b/arch/mips/boards/loongson-ls1b/Makefile
index ded9867a8e..b08c4a93ca 100644
--- a/arch/mips/boards/loongson-ls1b/Makefile
+++ b/arch/mips/boards/loongson-ls1b/Makefile
@@ -1,2 +1 @@
lwl-y += lowlevel.o
-obj-y += serial.o
diff --git a/arch/mips/boards/loongson-ls1b/serial.c b/arch/mips/boards/loongson-ls1b/serial.c
deleted file mode 100644
index a9453ede28..0000000000
--- a/arch/mips/boards/loongson-ls1b/serial.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <common.h>
-#include <init.h>
-
-static int console_init(void)
-{
- barebox_set_hostname("ls1b");
-
- return 0;
-}
-console_initcall(console_init);
diff --git a/arch/mips/boards/qemu-malta/Makefile b/arch/mips/boards/qemu-malta/Makefile
index 237a6a5079..b08c4a93ca 100644
--- a/arch/mips/boards/qemu-malta/Makefile
+++ b/arch/mips/boards/qemu-malta/Makefile
@@ -1,2 +1 @@
lwl-y += lowlevel.o
-obj-y += init.o
diff --git a/arch/mips/boards/qemu-malta/init.c b/arch/mips/boards/qemu-malta/init.c
deleted file mode 100644
index 24bfdc03ee..0000000000
--- a/arch/mips/boards/qemu-malta/init.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2011 Antony Pavlov <antonynpavlov@gmail.com>
- * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
- *
- * This file is part of barebox.
- * See file CREDITS for list of people who contributed to this project.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#include <common.h>
-#include <init.h>
-#include <linux/sizes.h>
-
-static int malta_core_init(void)
-{
- barebox_set_hostname("malta");
-
- return 0;
-}
-core_initcall(malta_core_init);
diff --git a/arch/mips/boards/ritmix-rzx50/Makefile b/arch/mips/boards/ritmix-rzx50/Makefile
index ded9867a8e..b08c4a93ca 100644
--- a/arch/mips/boards/ritmix-rzx50/Makefile
+++ b/arch/mips/boards/ritmix-rzx50/Makefile
@@ -1,2 +1 @@
lwl-y += lowlevel.o
-obj-y += serial.o
diff --git a/arch/mips/boards/ritmix-rzx50/serial.c b/arch/mips/boards/ritmix-rzx50/serial.c
deleted file mode 100644
index f1e8da0072..0000000000
--- a/arch/mips/boards/ritmix-rzx50/serial.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2012 Antony Pavlov <antonynpavlov@gmail.com>
- *
- * This file is part of barebox.
- * See file CREDITS for list of people who contributed to this project.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#include <common.h>
-#include <init.h>
-
-static int rzx50_hostname_init(void)
-{
- barebox_set_hostname("rzx50");
-
- return 0;
-}
-console_initcall(rzx50_hostname_init);
diff --git a/arch/mips/boards/tplink-mr3020/Makefile b/arch/mips/boards/tplink-mr3020/Makefile
index 092c31d6b2..b08c4a93ca 100644
--- a/arch/mips/boards/tplink-mr3020/Makefile
+++ b/arch/mips/boards/tplink-mr3020/Makefile
@@ -1,2 +1 @@
lwl-y += lowlevel.o
-obj-y += board.o
diff --git a/arch/mips/boards/tplink-mr3020/board.c b/arch/mips/boards/tplink-mr3020/board.c
deleted file mode 100644
index 318998cc49..0000000000
--- a/arch/mips/boards/tplink-mr3020/board.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2014 Antony Pavlov <antonynpavlov@gmail.com>
- *
- * This file is part of barebox.
- * See file CREDITS for list of people who contributed to this project.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#include <common.h>
-#include <init.h>
-
-static int model_hostname_init(void)
-{
- barebox_set_hostname("mr3020");
-
- return 0;
-}
-postcore_initcall(model_hostname_init);
diff --git a/arch/mips/boards/tplink-wdr4300/Makefile b/arch/mips/boards/tplink-wdr4300/Makefile
index 092c31d6b2..b08c4a93ca 100644
--- a/arch/mips/boards/tplink-wdr4300/Makefile
+++ b/arch/mips/boards/tplink-wdr4300/Makefile
@@ -1,2 +1 @@
lwl-y += lowlevel.o
-obj-y += board.o
diff --git a/arch/mips/boards/tplink-wdr4300/board.c b/arch/mips/boards/tplink-wdr4300/board.c
deleted file mode 100644
index d6126fcb6d..0000000000
--- a/arch/mips/boards/tplink-wdr4300/board.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2017 Oleksij Rempel <o.rempel@pengutronix.de>
- * Copyright (C) 2014 Antony Pavlov <antonynpavlov@gmail.com>
- *
- * This file is part of barebox.
- * See file CREDITS for list of people who contributed to this project.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#include <common.h>
-#include <init.h>
-
-static int model_hostname_init(void)
-{
- barebox_set_hostname("wdr4300");
-
- return 0;
-}
-postcore_initcall(model_hostname_init);
--
2.19.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 02/10] MIPS: add arch/mips/lib/pbl.lds.S
2018-11-27 9:19 ` [PATCH v3 02/10] MIPS: add arch/mips/lib/pbl.lds.S Oleksij Rempel
@ 2018-11-30 7:41 ` Sascha Hauer
0 siblings, 0 replies; 20+ messages in thread
From: Sascha Hauer @ 2018-11-30 7:41 UTC (permalink / raw)
To: Oleksij Rempel; +Cc: barebox
On Tue, Nov 27, 2018 at 10:19:27AM +0100, Oleksij Rempel wrote:
> we need it for multiimage support.
>
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
> arch/mips/lib/pbl.lds.S | 53 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
> create mode 100644 arch/mips/lib/pbl.lds.S
>
> diff --git a/arch/mips/lib/pbl.lds.S b/arch/mips/lib/pbl.lds.S
> new file mode 100644
> index 0000000000..7ca9ae151f
> --- /dev/null
> +++ b/arch/mips/lib/pbl.lds.S
> @@ -0,0 +1,53 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * (C) Copyright 2018 Oleksij Rempel <o.rempel@pengutronix.de>, Pengutronix
> + * (C) Copyright 2012 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
> + */
> +
> +#include <asm-generic/barebox.lds.h>
> +#include <asm-generic/memory_layout.h>
> +
> +OUTPUT_ARCH("mips")
> +SECTIONS
> +{
> + . = HEAD_TEXT_BASE;
> +
> + PRE_IMAGE
> +
> + . = ALIGN(4);
> + .text :
> + {
> + _stext = .;
> + _text = .;
> + *(.text_head_entry*)
> + __bare_init_start = .;
> + *(.text_bare_init*)
> + __bare_init_end = .;
> + *(.text*)
> + }
> +
> + BAREBOX_BARE_INIT_SIZE
> +
> + . = ALIGN(4);
> + .rodata : { *(.rodata*) }
> +
> + .barebox_imd : { BAREBOX_IMD }
> +
> + _etext = .; /* End of text and rodata section */
> +
> + . = ALIGN(4);
> + .data : { *(.data*) }
> +
> + . = ALIGN(4);
> + __piggydata_start = .;
> + .piggydata : {
> + *(.piggydata)
> + }
> + __piggydata_end = .;
> +
> + . = ALIGN(4);
> + __bss_start = .;
> + .bss : { *(.bss*) }
> + __bss_stop = .;
> + _end = .;
Note that I have deliberately put the bss segment before piggydata on
ARM. The reason is that we have some boards on which the ROM only loads
the initial image portion from which we then load the rest. With the bss
behind the piggydata you may often end up with bss outside the available
SRAM. This is probably not a problem on MIPS currently, just wanted to
notice that.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 00/10] MIPS: migrate to multiimage support
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
` (9 preceding siblings ...)
2018-11-27 9:19 ` [PATCH v3 10/10] MIPS: remove useless board files Oleksij Rempel
@ 2018-11-30 7:46 ` Sascha Hauer
2018-11-30 9:41 ` Antony Pavlov
10 siblings, 1 reply; 20+ messages in thread
From: Sascha Hauer @ 2018-11-30 7:46 UTC (permalink / raw)
To: Oleksij Rempel; +Cc: barebox
Hi Oleksij, Antony,
I am fine with this series. Antony, is it ok for you adwell?
I would merge it to next after the coming release since it depends on
the pbl-piggydata series which currently sits in the i.MX branch where
it already doesn't belong to.
Sascha
On Tue, Nov 27, 2018 at 10:19:25AM +0100, Oleksij Rempel wrote:
> 20181127 v3:
> - remove ENTRY(pbl_start)
> - rework ENTRY_FUNCTION, ENTRY_FUNCTION_END
> - move HAVE_PBL_MULTI_IMAGES to the CONFIG_MIPS
> - remove arch/mips/boot/start-pbl.S
>
> 20181127 v2:
> - rebase against latest next
> - fix trailing spaces in arch/mips/dts/Makefile
>
> 20181126 v1:
> This patch series is a huge move to a multiimage support.
> As long as we do not have lots of boards, it is better to do it now.
> The most painful patch is "MIPS: port all mach* to multiimage", since
> it was too hard to split the work to multiple step, it is all-in-one
> patch. I hope my children will forgive me this... ;)
>
> Oleksij Rempel (10):
> images: piggy: use "a" instead of #alloc flag
> MIPS: add arch/mips/lib/pbl.lds.S
> pbl: enable MIPS for PBL_RELOCATABLE
> MIPS: start: preserve DTB pointer for later use
> MIPS: multiimage: add ENTRY_FUNCTION macros
> MIPS: mutliimage: pass devicetree from PBL to the main_entry
> MIPS: put main_entry to __bare_init section
> MIPS: port all mach* to multiimage
> MIPS: remove HAS_NO_BOARD_HL_CODE support
> MIPS: remove useless board files
>
> arch/mips/Kconfig | 7 +-
> arch/mips/Makefile | 30 +------
> arch/mips/boards/8devices-lima/Makefile | 1 +
> .../board/board_pbl_start.h => lowlevel.S} | 26 ++----
> arch/mips/boards/Makefile | 11 +++
> arch/mips/boards/black-swift/Makefile | 2 +-
> arch/mips/boards/black-swift/board.c | 27 ------
> .../board/board_pbl_start.h => lowlevel.S} | 16 ++--
> .../boards/dptechnics-dpt-module/Makefile | 1 +
> .../board/board_pbl_start.h => lowlevel.S} | 13 +--
> arch/mips/boards/img-ci20/Makefile | 2 +-
> arch/mips/boards/img-ci20/board.c | 27 ------
> .../boards/img-ci20/include/board/debug_ll.h | 23 -----
> .../board/board_pbl_start.h => lowlevel.S} | 13 +--
> arch/mips/boards/loongson-ls1b/Makefile | 2 +-
> .../board/board_pbl_start.h => lowlevel.S} | 13 +--
> arch/mips/boards/loongson-ls1b/serial.c | 10 ---
> arch/mips/boards/netgear-wg102/Makefile | 1 +
> .../board/board_pbl_start.h => lowlevel.S} | 20 +++--
> arch/mips/boards/qemu-malta/Makefile | 2 +-
> arch/mips/boards/qemu-malta/init.c | 29 ------
> .../board/board_pbl_start.h => lowlevel.S} | 15 ++--
> arch/mips/boards/ritmix-rzx50/Makefile | 2 +-
> .../ritmix-rzx50/include/board/debug_ll.h | 23 -----
> .../board/board_pbl_start.h => lowlevel.S} | 13 +--
> arch/mips/boards/ritmix-rzx50/serial.c | 27 ------
> arch/mips/boards/tplink-mr3020/Makefile | 2 +-
> arch/mips/boards/tplink-mr3020/board.c | 27 ------
> .../board/board_pbl_start.h => lowlevel.S} | 16 ++--
> arch/mips/boards/tplink-wdr4300/Makefile | 2 +-
> arch/mips/boards/tplink-wdr4300/board.c | 28 ------
> .../board/board_pbl_start.h => lowlevel.S} | 26 ++----
> arch/mips/boot/Makefile | 4 +-
> arch/mips/boot/dtb.c | 16 +++-
> arch/mips/boot/main_entry-pbl.c | 15 ++--
> arch/mips/boot/main_entry.c | 11 ++-
> arch/mips/boot/start-pbl.S | 44 ---------
> arch/mips/boot/start.S | 7 ++
> arch/mips/configs/8devices-lima_defconfig | 83 -----------------
> ...plink-mr3020_defconfig => ath79_defconfig} | 9 +-
> arch/mips/configs/black-swift_defconfig | 54 -----------
> .../configs/dptechnics-dpt-module_defconfig | 89 -------------------
> arch/mips/configs/img-ci20_defconfig | 45 ----------
> arch/mips/configs/qemu-malta_defconfig | 12 +--
> arch/mips/configs/tplink-wdr4300_defconfig | 82 -----------------
> ...itmix-rzx50_defconfig => xburst_defconfig} | 8 +-
> arch/mips/dts/Makefile | 15 +++-
> arch/mips/include/asm/asm.h | 29 ++++++
> arch/mips/lib/pbl.lds.S | 53 +++++++++++
> arch/mips/mach-ar231x/include/mach/debug_ll.h | 1 -
> arch/mips/mach-ath79/Kconfig | 16 ++--
> arch/mips/mach-ath79/include/mach/debug_ll.h | 12 ++-
> .../mach-ath79/include/mach/debug_ll_ar9331.h | 2 +-
> .../mach-ath79/include/mach/debug_ll_ar9344.h | 4 +-
> .../mips/mach-ath79/include/mach/pbl_macros.h | 5 +-
> .../mach-loongson/include/mach/debug_ll.h | 1 -
> arch/mips/mach-malta/Kconfig | 9 +-
> arch/mips/mach-malta/include/mach/debug_ll.h | 10 ++-
> arch/mips/mach-xburst/Kconfig | 14 ++-
> arch/mips/mach-xburst/include/mach/debug_ll.h | 14 ++-
> images/Makefile | 7 +-
> images/Makefile.ar231x | 3 +
> images/Makefile.ath79 | 20 +++++
> images/Makefile.loongson | 3 +
> images/Makefile.malta | 3 +
> images/Makefile.xburst | 7 ++
> images/piggy.S | 2 +-
> pbl/Kconfig | 2 +-
> 68 files changed, 354 insertions(+), 814 deletions(-)
> create mode 100644 arch/mips/boards/8devices-lima/Makefile
> rename arch/mips/boards/8devices-lima/{include/board/board_pbl_start.h => lowlevel.S} (78%)
> create mode 100644 arch/mips/boards/Makefile
> delete mode 100644 arch/mips/boards/black-swift/board.c
> rename arch/mips/boards/black-swift/{include/board/board_pbl_start.h => lowlevel.S} (86%)
> create mode 100644 arch/mips/boards/dptechnics-dpt-module/Makefile
> rename arch/mips/boards/dptechnics-dpt-module/{include/board/board_pbl_start.h => lowlevel.S} (59%)
> delete mode 100644 arch/mips/boards/img-ci20/board.c
> delete mode 100644 arch/mips/boards/img-ci20/include/board/debug_ll.h
> rename arch/mips/boards/img-ci20/{include/board/board_pbl_start.h => lowlevel.S} (88%)
> rename arch/mips/boards/loongson-ls1b/{include/board/board_pbl_start.h => lowlevel.S} (86%)
> delete mode 100644 arch/mips/boards/loongson-ls1b/serial.c
> rename arch/mips/boards/netgear-wg102/{include/board/board_pbl_start.h => lowlevel.S} (87%)
> delete mode 100644 arch/mips/boards/qemu-malta/init.c
> rename arch/mips/boards/qemu-malta/{include/board/board_pbl_start.h => lowlevel.S} (94%)
> delete mode 100644 arch/mips/boards/ritmix-rzx50/include/board/debug_ll.h
> rename arch/mips/boards/ritmix-rzx50/{include/board/board_pbl_start.h => lowlevel.S} (88%)
> delete mode 100644 arch/mips/boards/ritmix-rzx50/serial.c
> delete mode 100644 arch/mips/boards/tplink-mr3020/board.c
> rename arch/mips/boards/tplink-mr3020/{include/board/board_pbl_start.h => lowlevel.S} (86%)
> delete mode 100644 arch/mips/boards/tplink-wdr4300/board.c
> rename arch/mips/boards/tplink-wdr4300/{include/board/board_pbl_start.h => lowlevel.S} (77%)
> delete mode 100644 arch/mips/boot/start-pbl.S
> delete mode 100644 arch/mips/configs/8devices-lima_defconfig
> rename arch/mips/configs/{tplink-mr3020_defconfig => ath79_defconfig} (90%)
> delete mode 100644 arch/mips/configs/black-swift_defconfig
> delete mode 100644 arch/mips/configs/dptechnics-dpt-module_defconfig
> delete mode 100644 arch/mips/configs/img-ci20_defconfig
> delete mode 100644 arch/mips/configs/tplink-wdr4300_defconfig
> rename arch/mips/configs/{ritmix-rzx50_defconfig => xburst_defconfig} (89%)
> create mode 100644 arch/mips/lib/pbl.lds.S
> create mode 100644 images/Makefile.ar231x
> create mode 100644 images/Makefile.ath79
> create mode 100644 images/Makefile.loongson
> create mode 100644 images/Makefile.malta
> create mode 100644 images/Makefile.xburst
>
> --
> 2.19.1
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 00/10] MIPS: migrate to multiimage support
2018-11-30 7:46 ` [PATCH v3 00/10] MIPS: migrate to multiimage support Sascha Hauer
@ 2018-11-30 9:41 ` Antony Pavlov
0 siblings, 0 replies; 20+ messages in thread
From: Antony Pavlov @ 2018-11-30 9:41 UTC (permalink / raw)
To: Sascha Hauer; +Cc: Oleksij Rempel, barebox
On Fri, 30 Nov 2018 08:46:26 +0100
Sascha Hauer <s.hauer@pengutronix.de> wrote:
> Hi Oleksij, Antony,
>
> I am fine with this series. Antony, is it ok for you adwell?
I have not tested v3 patchseries yet.
I suppose to test v3 patchseries on several ar9331 boards this weekend.
> I would merge it to next after the coming release since it depends on
> the pbl-piggydata series which currently sits in the i.MX branch where
> it already doesn't belong to.
>
> Sascha
>
> On Tue, Nov 27, 2018 at 10:19:25AM +0100, Oleksij Rempel wrote:
> > 20181127 v3:
> > - remove ENTRY(pbl_start)
> > - rework ENTRY_FUNCTION, ENTRY_FUNCTION_END
> > - move HAVE_PBL_MULTI_IMAGES to the CONFIG_MIPS
> > - remove arch/mips/boot/start-pbl.S
> >
> > 20181127 v2:
> > - rebase against latest next
> > - fix trailing spaces in arch/mips/dts/Makefile
> >
> > 20181126 v1:
> > This patch series is a huge move to a multiimage support.
> > As long as we do not have lots of boards, it is better to do it now.
> > The most painful patch is "MIPS: port all mach* to multiimage", since
> > it was too hard to split the work to multiple step, it is all-in-one
> > patch. I hope my children will forgive me this... ;)
> >
> > Oleksij Rempel (10):
> > images: piggy: use "a" instead of #alloc flag
> > MIPS: add arch/mips/lib/pbl.lds.S
> > pbl: enable MIPS for PBL_RELOCATABLE
> > MIPS: start: preserve DTB pointer for later use
> > MIPS: multiimage: add ENTRY_FUNCTION macros
> > MIPS: mutliimage: pass devicetree from PBL to the main_entry
> > MIPS: put main_entry to __bare_init section
> > MIPS: port all mach* to multiimage
> > MIPS: remove HAS_NO_BOARD_HL_CODE support
> > MIPS: remove useless board files
> >
> > arch/mips/Kconfig | 7 +-
> > arch/mips/Makefile | 30 +------
> > arch/mips/boards/8devices-lima/Makefile | 1 +
> > .../board/board_pbl_start.h => lowlevel.S} | 26 ++----
> > arch/mips/boards/Makefile | 11 +++
> > arch/mips/boards/black-swift/Makefile | 2 +-
> > arch/mips/boards/black-swift/board.c | 27 ------
> > .../board/board_pbl_start.h => lowlevel.S} | 16 ++--
> > .../boards/dptechnics-dpt-module/Makefile | 1 +
> > .../board/board_pbl_start.h => lowlevel.S} | 13 +--
> > arch/mips/boards/img-ci20/Makefile | 2 +-
> > arch/mips/boards/img-ci20/board.c | 27 ------
> > .../boards/img-ci20/include/board/debug_ll.h | 23 -----
> > .../board/board_pbl_start.h => lowlevel.S} | 13 +--
> > arch/mips/boards/loongson-ls1b/Makefile | 2 +-
> > .../board/board_pbl_start.h => lowlevel.S} | 13 +--
> > arch/mips/boards/loongson-ls1b/serial.c | 10 ---
> > arch/mips/boards/netgear-wg102/Makefile | 1 +
> > .../board/board_pbl_start.h => lowlevel.S} | 20 +++--
> > arch/mips/boards/qemu-malta/Makefile | 2 +-
> > arch/mips/boards/qemu-malta/init.c | 29 ------
> > .../board/board_pbl_start.h => lowlevel.S} | 15 ++--
> > arch/mips/boards/ritmix-rzx50/Makefile | 2 +-
> > .../ritmix-rzx50/include/board/debug_ll.h | 23 -----
> > .../board/board_pbl_start.h => lowlevel.S} | 13 +--
> > arch/mips/boards/ritmix-rzx50/serial.c | 27 ------
> > arch/mips/boards/tplink-mr3020/Makefile | 2 +-
> > arch/mips/boards/tplink-mr3020/board.c | 27 ------
> > .../board/board_pbl_start.h => lowlevel.S} | 16 ++--
> > arch/mips/boards/tplink-wdr4300/Makefile | 2 +-
> > arch/mips/boards/tplink-wdr4300/board.c | 28 ------
> > .../board/board_pbl_start.h => lowlevel.S} | 26 ++----
> > arch/mips/boot/Makefile | 4 +-
> > arch/mips/boot/dtb.c | 16 +++-
> > arch/mips/boot/main_entry-pbl.c | 15 ++--
> > arch/mips/boot/main_entry.c | 11 ++-
> > arch/mips/boot/start-pbl.S | 44 ---------
> > arch/mips/boot/start.S | 7 ++
> > arch/mips/configs/8devices-lima_defconfig | 83 -----------------
> > ...plink-mr3020_defconfig => ath79_defconfig} | 9 +-
> > arch/mips/configs/black-swift_defconfig | 54 -----------
> > .../configs/dptechnics-dpt-module_defconfig | 89 -------------------
> > arch/mips/configs/img-ci20_defconfig | 45 ----------
> > arch/mips/configs/qemu-malta_defconfig | 12 +--
> > arch/mips/configs/tplink-wdr4300_defconfig | 82 -----------------
> > ...itmix-rzx50_defconfig => xburst_defconfig} | 8 +-
> > arch/mips/dts/Makefile | 15 +++-
> > arch/mips/include/asm/asm.h | 29 ++++++
> > arch/mips/lib/pbl.lds.S | 53 +++++++++++
> > arch/mips/mach-ar231x/include/mach/debug_ll.h | 1 -
> > arch/mips/mach-ath79/Kconfig | 16 ++--
> > arch/mips/mach-ath79/include/mach/debug_ll.h | 12 ++-
> > .../mach-ath79/include/mach/debug_ll_ar9331.h | 2 +-
> > .../mach-ath79/include/mach/debug_ll_ar9344.h | 4 +-
> > .../mips/mach-ath79/include/mach/pbl_macros.h | 5 +-
> > .../mach-loongson/include/mach/debug_ll.h | 1 -
> > arch/mips/mach-malta/Kconfig | 9 +-
> > arch/mips/mach-malta/include/mach/debug_ll.h | 10 ++-
> > arch/mips/mach-xburst/Kconfig | 14 ++-
> > arch/mips/mach-xburst/include/mach/debug_ll.h | 14 ++-
> > images/Makefile | 7 +-
> > images/Makefile.ar231x | 3 +
> > images/Makefile.ath79 | 20 +++++
> > images/Makefile.loongson | 3 +
> > images/Makefile.malta | 3 +
> > images/Makefile.xburst | 7 ++
> > images/piggy.S | 2 +-
> > pbl/Kconfig | 2 +-
> > 68 files changed, 354 insertions(+), 814 deletions(-)
> > create mode 100644 arch/mips/boards/8devices-lima/Makefile
> > rename arch/mips/boards/8devices-lima/{include/board/board_pbl_start.h => lowlevel.S} (78%)
> > create mode 100644 arch/mips/boards/Makefile
> > delete mode 100644 arch/mips/boards/black-swift/board.c
> > rename arch/mips/boards/black-swift/{include/board/board_pbl_start.h => lowlevel.S} (86%)
> > create mode 100644 arch/mips/boards/dptechnics-dpt-module/Makefile
> > rename arch/mips/boards/dptechnics-dpt-module/{include/board/board_pbl_start.h => lowlevel.S} (59%)
> > delete mode 100644 arch/mips/boards/img-ci20/board.c
> > delete mode 100644 arch/mips/boards/img-ci20/include/board/debug_ll.h
> > rename arch/mips/boards/img-ci20/{include/board/board_pbl_start.h => lowlevel.S} (88%)
> > rename arch/mips/boards/loongson-ls1b/{include/board/board_pbl_start.h => lowlevel.S} (86%)
> > delete mode 100644 arch/mips/boards/loongson-ls1b/serial.c
> > rename arch/mips/boards/netgear-wg102/{include/board/board_pbl_start.h => lowlevel.S} (87%)
> > delete mode 100644 arch/mips/boards/qemu-malta/init.c
> > rename arch/mips/boards/qemu-malta/{include/board/board_pbl_start.h => lowlevel.S} (94%)
> > delete mode 100644 arch/mips/boards/ritmix-rzx50/include/board/debug_ll.h
> > rename arch/mips/boards/ritmix-rzx50/{include/board/board_pbl_start.h => lowlevel.S} (88%)
> > delete mode 100644 arch/mips/boards/ritmix-rzx50/serial.c
> > delete mode 100644 arch/mips/boards/tplink-mr3020/board.c
> > rename arch/mips/boards/tplink-mr3020/{include/board/board_pbl_start.h => lowlevel.S} (86%)
> > delete mode 100644 arch/mips/boards/tplink-wdr4300/board.c
> > rename arch/mips/boards/tplink-wdr4300/{include/board/board_pbl_start.h => lowlevel.S} (77%)
> > delete mode 100644 arch/mips/boot/start-pbl.S
> > delete mode 100644 arch/mips/configs/8devices-lima_defconfig
> > rename arch/mips/configs/{tplink-mr3020_defconfig => ath79_defconfig} (90%)
> > delete mode 100644 arch/mips/configs/black-swift_defconfig
> > delete mode 100644 arch/mips/configs/dptechnics-dpt-module_defconfig
> > delete mode 100644 arch/mips/configs/img-ci20_defconfig
> > delete mode 100644 arch/mips/configs/tplink-wdr4300_defconfig
> > rename arch/mips/configs/{ritmix-rzx50_defconfig => xburst_defconfig} (89%)
> > create mode 100644 arch/mips/lib/pbl.lds.S
> > create mode 100644 images/Makefile.ar231x
> > create mode 100644 images/Makefile.ath79
> > create mode 100644 images/Makefile.loongson
> > create mode 100644 images/Makefile.malta
> > create mode 100644 images/Makefile.xburst
> >
> > --
> > 2.19.1
> >
> >
> > _______________________________________________
> > barebox mailing list
> > barebox@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/barebox
> >
>
> --
> Pengutronix e.K. | |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
Best regards,
Antony Pavlov
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 08/10] MIPS: port all mach* to multiimage
2018-11-27 9:19 ` [PATCH v3 08/10] MIPS: port all mach* to multiimage Oleksij Rempel
@ 2018-12-05 8:50 ` Antony Pavlov
2018-12-05 13:58 ` Oleksij Rempel
2018-12-07 7:09 ` Oleksij Rempel
0 siblings, 2 replies; 20+ messages in thread
From: Antony Pavlov @ 2018-12-05 8:50 UTC (permalink / raw)
To: Oleksij Rempel; +Cc: barebox
On Tue, 27 Nov 2018 10:19:33 +0100
Oleksij Rempel <o.rempel@pengutronix.de> wrote:
...
> diff --git a/arch/mips/boards/8devices-lima/include/board/board_pbl_start.h b/arch/mips/boards/8devices-lima/lowlevel.S
> similarity index 78%
> rename from arch/mips/boards/8devices-lima/include/board/board_pbl_start.h
> rename to arch/mips/boards/8devices-lima/lowlevel.S
> index e95aa49256..a619747f39 100644
> --- a/arch/mips/boards/8devices-lima/include/board/board_pbl_start.h
> +++ b/arch/mips/boards/8devices-lima/lowlevel.S
> @@ -15,51 +15,39 @@
> *
> */
>
> -#include <mach/debug_ll_ar9344.h>
> +#define BOARD_PBL_START start_8devices_lima
> +
> +#include <mach/debug_ll.h>
> +#include <asm/asm.h>
> #include <asm/pbl_macros.h>
> #include <mach/pbl_macros.h>
> #include <mach/pbl_ll_init_qca4531.h>
> #include <asm/pbl_nmon.h>
>
> - .macro board_pbl_start
> - .set push
> - .set noreorder
> +ENTRY_FUNCTION(BOARD_PBL_START)
>
> mips_barebox_10h
>
> - debug_ll_ar9344_init
> -
> - debug_ll_outc '1'
> + debug_ll_ath79_init
>
I suppose there is a problem with simultaneous debug_ll support for AR9344 and AR9331 in one binary.
the Kconfig DEBUG_AR9331_UART and DEBUG_AR9344_UART options are mutually exclusive.
Your approach makes it possible to build barebox binary image for AR9331 board with debug_ll code for AR9344
and vice versa.
> hornet_mips24k_cp0_setup
> - debug_ll_outc '2'
>
> /* test if we are in the SRAM */
> pbl_blt 0xbd000000 1f t8
"if $pc < 0xbd000000 then jump to 1f"
> - debug_ll_outc '3'
> b skip_flash_test
> nop
> 1:
> /* test if we are in the flash */
> pbl_blt 0xbf000000 skip_pll_ram_config t8
"if $pc < 0xbf000000 then jump to skip_pll_ram_config"
The code checks that $pc is less than 0xbd000000 if true then the code checks
that $pc is less than 0xbf000000. The second check is redundant!
> - debug_ll_outc '4'
> skip_flash_test:
>
> pbl_qca4531_ddr2_550_550_init
>
> - debug_ll_outc '5'
> /* Initialize caches... */
> mips_cache_reset
>
> /* ... and enable them */
> dcache_enable
> skip_pll_ram_config:
> - debug_ll_outc '6'
> - debug_ll_outnl
> -
> - mips_nmon
> -
> - copy_to_link_location pbl_start
>
> - .set pop
> - .endm
> +ENTRY_FUNCTION_END(BOARD_PBL_START, qca4531_8devices_lima)
--
Best regards,
Antony Pavlov
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 08/10] MIPS: port all mach* to multiimage
2018-12-05 8:50 ` Antony Pavlov
@ 2018-12-05 13:58 ` Oleksij Rempel
2018-12-06 9:15 ` Sascha Hauer
2018-12-07 7:09 ` Oleksij Rempel
1 sibling, 1 reply; 20+ messages in thread
From: Oleksij Rempel @ 2018-12-05 13:58 UTC (permalink / raw)
To: Antony Pavlov, Oleksij Rempel; +Cc: barebox
[-- Attachment #1.1.1: Type: text/plain, Size: 3027 bytes --]
Am 05.12.18 um 09:50 schrieb Antony Pavlov:
> On Tue, 27 Nov 2018 10:19:33 +0100
> Oleksij Rempel <o.rempel@pengutronix.de> wrote:
>
>
> ...
>
>> diff --git a/arch/mips/boards/8devices-lima/include/board/board_pbl_start.h b/arch/mips/boards/8devices-lima/lowlevel.S
>> similarity index 78%
>> rename from arch/mips/boards/8devices-lima/include/board/board_pbl_start.h
>> rename to arch/mips/boards/8devices-lima/lowlevel.S
>> index e95aa49256..a619747f39 100644
>> --- a/arch/mips/boards/8devices-lima/include/board/board_pbl_start.h
>> +++ b/arch/mips/boards/8devices-lima/lowlevel.S
>> @@ -15,51 +15,39 @@
>> *
>> */
>>
>> -#include <mach/debug_ll_ar9344.h>
>> +#define BOARD_PBL_START start_8devices_lima
>> +
>> +#include <mach/debug_ll.h>
>> +#include <asm/asm.h>
>> #include <asm/pbl_macros.h>
>> #include <mach/pbl_macros.h>
>> #include <mach/pbl_ll_init_qca4531.h>
>> #include <asm/pbl_nmon.h>
>>
>> - .macro board_pbl_start
>> - .set push
>> - .set noreorder
>> +ENTRY_FUNCTION(BOARD_PBL_START)
>>
>> mips_barebox_10h
>>
>> - debug_ll_ar9344_init
>> -
>> - debug_ll_outc '1'
>> + debug_ll_ath79_init
>>
>
> I suppose there is a problem with simultaneous debug_ll support for AR9344 and AR9331 in one binary.
> the Kconfig DEBUG_AR9331_UART and DEBUG_AR9344_UART options are mutually exclusive.
>
> Your approach makes it possible to build barebox binary image for AR9331 board with debug_ll code for AR9344
> and vice versa.
yes, same issues as with most of DEBUG_LL related configurations in
common/Kconfig. It is possible to misconfigure the DEBUG_LL for board or
SoC. Currently I don't have a solution except of remove DEBUG_LL support
completely from Kconfig for MIPS, or introduce some dynamic
configuration, which is not related to this patch set.
@Sascha?
>> hornet_mips24k_cp0_setup
>> - debug_ll_outc '2'
>>
>> /* test if we are in the SRAM */
>> pbl_blt 0xbd000000 1f t8
>
> "if $pc < 0xbd000000 then jump to 1f"
>
>> - debug_ll_outc '3'
>> b skip_flash_test
>> nop
>> 1:
>> /* test if we are in the flash */
>> pbl_blt 0xbf000000 skip_pll_ram_config t8
>
> "if $pc < 0xbf000000 then jump to skip_pll_ram_config"
>
>
> The code checks that $pc is less than 0xbd000000 if true then the code checks
> that $pc is less than 0xbf000000. The second check is redundant!
It is not a regression introduced by this patch, so it should be fixed
separately.
>
>> - debug_ll_outc '4'
>> skip_flash_test:
>>
>> pbl_qca4531_ddr2_550_550_init
>>
>> - debug_ll_outc '5'
>> /* Initialize caches... */
>> mips_cache_reset
>>
>> /* ... and enable them */
>> dcache_enable
>> skip_pll_ram_config:
>> - debug_ll_outc '6'
>> - debug_ll_outnl
>> -
>> - mips_nmon
>> -
>> - copy_to_link_location pbl_start
>>
>> - .set pop
>> - .endm
>> +ENTRY_FUNCTION_END(BOARD_PBL_START, qca4531_8devices_lima)
Did you tested this patches?
--
Regards,
Oleksij
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 149 bytes --]
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 08/10] MIPS: port all mach* to multiimage
2018-12-05 13:58 ` Oleksij Rempel
@ 2018-12-06 9:15 ` Sascha Hauer
0 siblings, 0 replies; 20+ messages in thread
From: Sascha Hauer @ 2018-12-06 9:15 UTC (permalink / raw)
To: Oleksij Rempel; +Cc: Oleksij Rempel, barebox
On Wed, Dec 05, 2018 at 02:58:12PM +0100, Oleksij Rempel wrote:
> Am 05.12.18 um 09:50 schrieb Antony Pavlov:
> > I suppose there is a problem with simultaneous debug_ll support for AR9344 and AR9331 in one binary.
> > the Kconfig DEBUG_AR9331_UART and DEBUG_AR9344_UART options are mutually exclusive.
> >
> > Your approach makes it possible to build barebox binary image for AR9331 board with debug_ll code for AR9344
> > and vice versa.
>
> yes, same issues as with most of DEBUG_LL related configurations in
> common/Kconfig. It is possible to misconfigure the DEBUG_LL for board or
> SoC. Currently I don't have a solution except of remove DEBUG_LL support
> completely from Kconfig for MIPS, or introduce some dynamic
> configuration, which is not related to this patch set.
At least on ARM with multi image support you have to make sure to chose
the correct DEBUG_LL UART that fits the board. Or to put the other way
round: Enabling DEBUG_LL limits the build to a single board only, thus it
should only be enabled during debugging.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 08/10] MIPS: port all mach* to multiimage
2018-12-05 8:50 ` Antony Pavlov
2018-12-05 13:58 ` Oleksij Rempel
@ 2018-12-07 7:09 ` Oleksij Rempel
2018-12-11 11:31 ` Antony Pavlov
1 sibling, 1 reply; 20+ messages in thread
From: Oleksij Rempel @ 2018-12-07 7:09 UTC (permalink / raw)
To: Antony Pavlov, Oleksij Rempel; +Cc: barebox
[-- Attachment #1.1.1: Type: text/plain, Size: 2743 bytes --]
Hi Anthony,
i would be happy if you can say:
- this set is no go, because...
or:
- right now, I can't test it and if it caused some regression they will
be fixed in separate patches...
Am 05.12.18 um 09:50 schrieb Antony Pavlov:
> On Tue, 27 Nov 2018 10:19:33 +0100
> Oleksij Rempel <o.rempel@pengutronix.de> wrote:
>
>
> ...
>
>> diff --git a/arch/mips/boards/8devices-lima/include/board/board_pbl_start.h b/arch/mips/boards/8devices-lima/lowlevel.S
>> similarity index 78%
>> rename from arch/mips/boards/8devices-lima/include/board/board_pbl_start.h
>> rename to arch/mips/boards/8devices-lima/lowlevel.S
>> index e95aa49256..a619747f39 100644
>> --- a/arch/mips/boards/8devices-lima/include/board/board_pbl_start.h
>> +++ b/arch/mips/boards/8devices-lima/lowlevel.S
>> @@ -15,51 +15,39 @@
>> *
>> */
>>
>> -#include <mach/debug_ll_ar9344.h>
>> +#define BOARD_PBL_START start_8devices_lima
>> +
>> +#include <mach/debug_ll.h>
>> +#include <asm/asm.h>
>> #include <asm/pbl_macros.h>
>> #include <mach/pbl_macros.h>
>> #include <mach/pbl_ll_init_qca4531.h>
>> #include <asm/pbl_nmon.h>
>>
>> - .macro board_pbl_start
>> - .set push
>> - .set noreorder
>> +ENTRY_FUNCTION(BOARD_PBL_START)
>>
>> mips_barebox_10h
>>
>> - debug_ll_ar9344_init
>> -
>> - debug_ll_outc '1'
>> + debug_ll_ath79_init
>>
>
> I suppose there is a problem with simultaneous debug_ll support for AR9344 and AR9331 in one binary.
> the Kconfig DEBUG_AR9331_UART and DEBUG_AR9344_UART options are mutually exclusive.
>
> Your approach makes it possible to build barebox binary image for AR9331 board with debug_ll code for AR9344
> and vice versa.
>
>> hornet_mips24k_cp0_setup
>> - debug_ll_outc '2'
>>
>> /* test if we are in the SRAM */
>> pbl_blt 0xbd000000 1f t8
>
> "if $pc < 0xbd000000 then jump to 1f"
>
>> - debug_ll_outc '3'
>> b skip_flash_test
>> nop
>> 1:
>> /* test if we are in the flash */
>> pbl_blt 0xbf000000 skip_pll_ram_config t8
>
> "if $pc < 0xbf000000 then jump to skip_pll_ram_config"
>
>
> The code checks that $pc is less than 0xbd000000 if true then the code checks
> that $pc is less than 0xbf000000. The second check is redundant!
>
>
>
>> - debug_ll_outc '4'
>> skip_flash_test:
>>
>> pbl_qca4531_ddr2_550_550_init
>>
>> - debug_ll_outc '5'
>> /* Initialize caches... */
>> mips_cache_reset
>>
>> /* ... and enable them */
>> dcache_enable
>> skip_pll_ram_config:
>> - debug_ll_outc '6'
>> - debug_ll_outnl
>> -
>> - mips_nmon
>> -
>> - copy_to_link_location pbl_start
>>
>> - .set pop
>> - .endm
>> +ENTRY_FUNCTION_END(BOARD_PBL_START, qca4531_8devices_lima)
>
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 149 bytes --]
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 08/10] MIPS: port all mach* to multiimage
2018-12-07 7:09 ` Oleksij Rempel
@ 2018-12-11 11:31 ` Antony Pavlov
2018-12-13 7:10 ` Sascha Hauer
0 siblings, 1 reply; 20+ messages in thread
From: Antony Pavlov @ 2018-12-11 11:31 UTC (permalink / raw)
To: Oleksij Rempel; +Cc: Oleksij Rempel, barebox
On Fri, 7 Dec 2018 08:09:50 +0100
Oleksij Rempel <fishor@gmx.net> wrote:
> Hi Anthony,
>
> i would be happy if you can say:
> - this set is no go, because...
> or:
> - right now, I can't test it and if it caused some regression they will
> be fixed in separate patches...
>
Hi Oleksij!
Sorry for delay.
I have tested mltiimage barebox on top on next branch,
the latest next branch commit is a141773b21bdc3e57486594b687cd307637bd
Merge: 787c9fb55f 34d598023e
Author: Sascha Hauer <s.hauer@pengutronix.de>
Date: Fri Nov 30 22:23:12 2018 +0100
Merge branch 'for-next/ubimkvol_add_volume_id_parameter' into next
barebox succesfully works on DPTechnics module and on Black Swift board.
@Sascha!
Please merge Oleksij's mips multiimage branch.
> Am 05.12.18 um 09:50 schrieb Antony Pavlov:
> > On Tue, 27 Nov 2018 10:19:33 +0100
> > Oleksij Rempel <o.rempel@pengutronix.de> wrote:
> >
> >
> > ...
> >
> >> diff --git a/arch/mips/boards/8devices-lima/include/board/board_pbl_start.h b/arch/mips/boards/8devices-lima/lowlevel.S
> >> similarity index 78%
> >> rename from arch/mips/boards/8devices-lima/include/board/board_pbl_start.h
> >> rename to arch/mips/boards/8devices-lima/lowlevel.S
> >> index e95aa49256..a619747f39 100644
> >> --- a/arch/mips/boards/8devices-lima/include/board/board_pbl_start.h
> >> +++ b/arch/mips/boards/8devices-lima/lowlevel.S
> >> @@ -15,51 +15,39 @@
> >> *
> >> */
> >>
> >> -#include <mach/debug_ll_ar9344.h>
> >> +#define BOARD_PBL_START start_8devices_lima
> >> +
> >> +#include <mach/debug_ll.h>
> >> +#include <asm/asm.h>
> >> #include <asm/pbl_macros.h>
> >> #include <mach/pbl_macros.h>
> >> #include <mach/pbl_ll_init_qca4531.h>
> >> #include <asm/pbl_nmon.h>
> >>
> >> - .macro board_pbl_start
> >> - .set push
> >> - .set noreorder
> >> +ENTRY_FUNCTION(BOARD_PBL_START)
> >>
> >> mips_barebox_10h
> >>
> >> - debug_ll_ar9344_init
> >> -
> >> - debug_ll_outc '1'
> >> + debug_ll_ath79_init
> >>
> >
> > I suppose there is a problem with simultaneous debug_ll support for AR9344 and AR9331 in one binary.
> > the Kconfig DEBUG_AR9331_UART and DEBUG_AR9344_UART options are mutually exclusive.
> >
> > Your approach makes it possible to build barebox binary image for AR9331 board with debug_ll code for AR9344
> > and vice versa.
> >
> >> hornet_mips24k_cp0_setup
> >> - debug_ll_outc '2'
> >>
> >> /* test if we are in the SRAM */
> >> pbl_blt 0xbd000000 1f t8
> >
> > "if $pc < 0xbd000000 then jump to 1f"
> >
> >> - debug_ll_outc '3'
> >> b skip_flash_test
> >> nop
> >> 1:
> >> /* test if we are in the flash */
> >> pbl_blt 0xbf000000 skip_pll_ram_config t8
> >
> > "if $pc < 0xbf000000 then jump to skip_pll_ram_config"
> >
> >
> > The code checks that $pc is less than 0xbd000000 if true then the code checks
> > that $pc is less than 0xbf000000. The second check is redundant!
> >
> >
> >
> >> - debug_ll_outc '4'
> >> skip_flash_test:
> >>
> >> pbl_qca4531_ddr2_550_550_init
> >>
> >> - debug_ll_outc '5'
> >> /* Initialize caches... */
> >> mips_cache_reset
> >>
> >> /* ... and enable them */
> >> dcache_enable
> >> skip_pll_ram_config:
> >> - debug_ll_outc '6'
> >> - debug_ll_outnl
> >> -
> >> - mips_nmon
> >> -
> >> - copy_to_link_location pbl_start
> >>
> >> - .set pop
> >> - .endm
> >> +ENTRY_FUNCTION_END(BOARD_PBL_START, qca4531_8devices_lima)
> >
>
>
--
Best regards,
Antony Pavlov
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 08/10] MIPS: port all mach* to multiimage
2018-12-11 11:31 ` Antony Pavlov
@ 2018-12-13 7:10 ` Sascha Hauer
0 siblings, 0 replies; 20+ messages in thread
From: Sascha Hauer @ 2018-12-13 7:10 UTC (permalink / raw)
To: Antony Pavlov; +Cc: Oleksij Rempel, Oleksij Rempel, barebox
On Tue, Dec 11, 2018 at 02:31:30PM +0300, Antony Pavlov wrote:
> On Fri, 7 Dec 2018 08:09:50 +0100
> Oleksij Rempel <fishor@gmx.net> wrote:
>
> > Hi Anthony,
> >
> > i would be happy if you can say:
> > - this set is no go, because...
> > or:
> > - right now, I can't test it and if it caused some regression they will
> > be fixed in separate patches...
> >
>
> Hi Oleksij!
>
> Sorry for delay.
>
> I have tested mltiimage barebox on top on next branch,
> the latest next branch commit is a141773b21bdc3e57486594b687cd307637bd
> Merge: 787c9fb55f 34d598023e
> Author: Sascha Hauer <s.hauer@pengutronix.de>
> Date: Fri Nov 30 22:23:12 2018 +0100
>
> Merge branch 'for-next/ubimkvol_add_volume_id_parameter' into next
>
> barebox succesfully works on DPTechnics module and on Black Swift board.
>
> @Sascha!
> Please merge Oleksij's mips multiimage branch.
Ok, thanks for testing. I just applied it.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2018-12-13 7:10 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-27 9:19 [PATCH v3 00/10] MIPS: migrate to multiimage support Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 01/10] images: piggy: use "a" instead of #alloc flag Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 02/10] MIPS: add arch/mips/lib/pbl.lds.S Oleksij Rempel
2018-11-30 7:41 ` Sascha Hauer
2018-11-27 9:19 ` [PATCH v3 03/10] pbl: enable MIPS for PBL_RELOCATABLE Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 04/10] MIPS: start: preserve DTB pointer for later use Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 05/10] MIPS: multiimage: add ENTRY_FUNCTION macros Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 06/10] MIPS: mutliimage: pass devicetree from PBL to the main_entry Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 07/10] MIPS: put main_entry to __bare_init section Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 08/10] MIPS: port all mach* to multiimage Oleksij Rempel
2018-12-05 8:50 ` Antony Pavlov
2018-12-05 13:58 ` Oleksij Rempel
2018-12-06 9:15 ` Sascha Hauer
2018-12-07 7:09 ` Oleksij Rempel
2018-12-11 11:31 ` Antony Pavlov
2018-12-13 7:10 ` Sascha Hauer
2018-11-27 9:19 ` [PATCH v3 09/10] MIPS: remove HAS_NO_BOARD_HL_CODE support Oleksij Rempel
2018-11-27 9:19 ` [PATCH v3 10/10] MIPS: remove useless board files Oleksij Rempel
2018-11-30 7:46 ` [PATCH v3 00/10] MIPS: migrate to multiimage support Sascha Hauer
2018-11-30 9:41 ` Antony Pavlov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox