Re: [U-Boot] [PATCH 33/52] ARM: remove broken "scb9328" board
Hello, a patch for this board is in u-boot-imx already, a patch that changes the maintainer is in u-boot-arm. Thanks, Torsten ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v4] scb9328: Add ARM relocation support
From: Torsten Koschorrek This patch fixes compiler errors due to missing definitions of CONFIG_SYS_SDRAM_BASE and CONFIG_SYS_INIT_SP_ADDR. It also does some cleanup: CONFIG_SYS_TEXT_BASE was moved to scb9328.h, obsolete config.mk was removed. The scb9328 board has 1 DRAM bank, so don't ask for more banks. CONFIG_NR_DRAM_BANKS will ever be 1. Signed-off-by: Torsten Koschorrek --- Changes in v2: - config.mk removed - cleanups in dram_init_banksize() Changes in v3: - checkpatch errors fixed Changes in v4: - patch send with git send-email board/scb9328/config.mk | 10 -- board/scb9328/scb9328.c | 24 +--- include/configs/scb9328.h |5 + 3 files changed, 14 insertions(+), 25 deletions(-) delete mode 100644 board/scb9328/config.mk diff --git a/board/scb9328/config.mk b/board/scb9328/config.mk deleted file mode 100644 index 7c5e067..000 --- a/board/scb9328/config.mk +++ /dev/null @@ -1,10 +0,0 @@ -# -# This config file is used for compilation of scb93328 sources -# -# You might change location of U-Boot in memory by setting right CONFIG_SYS_TEXT_BASE. -# This allows for example having one copy located at the end of ram and stored -# in flash device and later on while developing use other location to test -# the code in RAM device only. -# - -CONFIG_SYS_TEXT_BASE = 0x08f0 diff --git a/board/scb9328/scb9328.c b/board/scb9328/scb9328.c index 428e8c9..2e31e8c 100644 --- a/board/scb9328/scb9328.c +++ b/board/scb9328/scb9328.c @@ -39,23 +39,17 @@ int board_init (void) int dram_init (void) { -#if ( CONFIG_NR_DRAM_BANKS > 0 ) + /* dram_init must store complete ramsize in gd->ram_size */ + gd->ram_size = get_ram_size((volatile void *)SCB9328_SDRAM_1, + SCB9328_SDRAM_1_SIZE); + + return 0; +} + +void dram_init_banksize(void) +{ gd->bd->bi_dram[0].start = SCB9328_SDRAM_1; gd->bd->bi_dram[0].size = SCB9328_SDRAM_1_SIZE; -#endif -#if ( CONFIG_NR_DRAM_BANKS > 1 ) - gd->bd->bi_dram[1].start = SCB9328_SDRAM_2; - gd->bd->bi_dram[1].size = SCB9328_SDRAM_2_SIZE; -#endif -#if ( CONFIG_NR_DRAM_BANKS > 2 ) - gd->bd->bi_dram[2].start = SCB9328_SDRAM_3; - gd->bd->bi_dram[2].size = SCB9328_SDRAM_3_SIZE; -#endif -#if ( CONFIG_NR_DRAM_BANKS > 3 ) - gd->bd->bi_dram[3].start = SCB9328_SDRAM_4; - gd->bd->bi_dram[3].size = SCB9328_SDRAM_4_SIZE; -#endif - return 0; } /** diff --git a/include/configs/scb9328.h b/include/configs/scb9328.h index 6a92ec3..1b5d931 100644 --- a/include/configs/scb9328.h +++ b/include/configs/scb9328.h @@ -126,6 +126,11 @@ #define SCB9328_SDRAM_10x0800 /* SDRAM bank #1 */ #define SCB9328_SDRAM_1_SIZE 0x0100 /* 16 MB */ +#define CONFIG_SYS_TEXT_BASE 0x1000 + +#define CONFIG_SYS_SDRAM_BASE SCB9328_SDRAM_1 +#define CONFIG_SYS_INIT_SP_ADDR(SCB9328_SDRAM_1 + 0xf0) + /* * Configuration for FLASH memory for the Synertronixx board */ -- 1.7.5.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2] scb9328: Add ARM relocation support
Stefano Babic wrote: > On 07/04/2011 01:06 PM, Torsten Koschorrek wrote: >> This patch fixes compiler errors due to missing definitions of >> CONFIG_SYS_SDRAM_BASE and CONFIG_SYS_INIT_SP_ADDR. >> It also does some cleanup: CONFIG_SYS_TEXT_BASE was moved to scb9328.h, >> obsolete config.mk was removed. The scb9328 board has 1 DRAM bank, so don't >> ask for more banks. CONFIG_NR_DRAM_BANKS will ever be 1. >> >> Signed-off-by: Torsten Koschorrek >> --- > > Torsten, > > checkpatch reports a couple of errors and your patch seems corrupted. > Have you used "git send-email" to post your patch ? I used git format-patch plus mozilla/iceape. Hmm, maybe I choose another mailer for sending patches the next time... > > WARNING: space prohibited between function name and open parenthesis '(' > #60: FILE: board/scb9328/scb9328.c:48: > +void dram_init_banksize (void) > fixed in v3 > ERROR: patch seems to be corrupt (line wrapped?) > #80: FILE: board/scb9328/scb9328.c:53: > diff --git a/include/configs/scb9328.h b/include/configs/scb9328.h > hopefully ok in v3, this most probably came from mozilla > ERROR: Macros with complex values should be enclosed in parenthesis > #90: FILE: board/scb9328/scb9328.c:131: > +#define CONFIG_SYS_INIT_SP_ADDR SCB9328_SDRAM_1 + 0xf0 > fixed in v3 > Best regards, > Stefano Babic > Torsten ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3] scb9328: Add ARM relocation support
This patch fixes compiler errors due to missing definitions of CONFIG_SYS_SDRAM_BASE and CONFIG_SYS_INIT_SP_ADDR. It also does some cleanup: CONFIG_SYS_TEXT_BASE was moved to scb9328.h, obsolete config.mk was removed. The scb9328 board has 1 DRAM bank, so don't ask for more banks. CONFIG_NR_DRAM_BANKS will ever be 1. Signed-off-by: Torsten Koschorrek --- Changes for v2: - config.mk removed - cleanups in dram_init_banksize() Changes for v3: - checkpatch errors fixed board/scb9328/config.mk | 10 -- board/scb9328/scb9328.c | 24 +--- include/configs/scb9328.h |5 + 3 files changed, 14 insertions(+), 25 deletions(-) delete mode 100644 board/scb9328/config.mk diff --git a/board/scb9328/config.mk b/board/scb9328/config.mk deleted file mode 100644 index 7c5e067..000 --- a/board/scb9328/config.mk +++ /dev/null @@ -1,10 +0,0 @@ -# -# This config file is used for compilation of scb93328 sources -# -# You might change location of U-Boot in memory by setting right CONFIG_SYS_TEXT_BASE. -# This allows for example having one copy located at the end of ram and stored -# in flash device and later on while developing use other location to test -# the code in RAM device only. -# - -CONFIG_SYS_TEXT_BASE = 0x08f0 diff --git a/board/scb9328/scb9328.c b/board/scb9328/scb9328.c index 428e8c9..2e31e8c 100644 --- a/board/scb9328/scb9328.c +++ b/board/scb9328/scb9328.c @@ -39,23 +39,17 @@ int board_init (void) int dram_init (void) { -#if ( CONFIG_NR_DRAM_BANKS > 0 ) + /* dram_init must store complete ramsize in gd->ram_size */ + gd->ram_size = get_ram_size((volatile void *)SCB9328_SDRAM_1, + SCB9328_SDRAM_1_SIZE); + + return 0; +} + +void dram_init_banksize(void) +{ gd->bd->bi_dram[0].start = SCB9328_SDRAM_1; gd->bd->bi_dram[0].size = SCB9328_SDRAM_1_SIZE; -#endif -#if ( CONFIG_NR_DRAM_BANKS > 1 ) - gd->bd->bi_dram[1].start = SCB9328_SDRAM_2; - gd->bd->bi_dram[1].size = SCB9328_SDRAM_2_SIZE; -#endif -#if ( CONFIG_NR_DRAM_BANKS > 2 ) - gd->bd->bi_dram[2].start = SCB9328_SDRAM_3; - gd->bd->bi_dram[2].size = SCB9328_SDRAM_3_SIZE; -#endif -#if ( CONFIG_NR_DRAM_BANKS > 3 ) - gd->bd->bi_dram[3].start = SCB9328_SDRAM_4; - gd->bd->bi_dram[3].size = SCB9328_SDRAM_4_SIZE; -#endif - return 0; } /** diff --git a/include/configs/scb9328.h b/include/configs/scb9328.h index 6a92ec3..1b5d931 100644 --- a/include/configs/scb9328.h +++ b/include/configs/scb9328.h @@ -126,6 +126,11 @@ #define SCB9328_SDRAM_1 0x0800 /* SDRAM bank #1 */ #define SCB9328_SDRAM_1_SIZE 0x0100 /* 16 MB */ +#define CONFIG_SYS_TEXT_BASE 0x1000 + +#define CONFIG_SYS_SDRAM_BASE SCB9328_SDRAM_1 +#define CONFIG_SYS_INIT_SP_ADDR(SCB9328_SDRAM_1 + 0xf0) + /* * Configuration for FLASH memory for the Synertronixx board */ -- 1.7.5.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] ARM: Update maintainer of board scb9328
Stefano Babic wrote: > On 07/04/2011 11:34 AM, Torsten Koschorrek wrote: >> Torsten Koschorrek wrote: >>> Signed-off-by: Torsten Koschorrek >>> --- >>> MAINTAINERS |2 +- >>> 1 files changed, 1 insertions(+), 1 deletions(-) >>> >>> diff --git a/MAINTAINERS b/MAINTAINERS >>> index c462ae2..fe578ef 100644 >>> --- a/MAINTAINERS >>> +++ b/MAINTAINERS >>> @@ -684,7 +684,7 @@ Matthias Kaehlcke >>> edb9315 ARM920T (EP9315) >>> edb9315aARM920T (EP9315) >>> -Konstantin Kletschke >>> +Torsten Koschorrek >>> scb9328 ARM920T >>> Nishant Kamat >> >> What about this patch? I don't see it in master yet... > > Hi Torsten, > > sorry for delay. Please send your patches in CC also to the maintainer > for part you want to change. > understood. I CCed you for the MAINTAINERS patch. I hope this was correct. > You must maintain the order of the list. If you check, except some > errors, the list is sorted by the alphabetical name of the developers. > Please fix it. > done, see v2 of the patch. > Best regards, > Stefano Babic > Thanks, and sorry for the noise regarding some basic rules for sending patches! Torsten ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2] ARM: Update maintainer of board scb9328
Signed-off-by: Torsten Koschorrek --- Changes for v2: - order of list - cpu description i.MXL added MAINTAINERS |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 2bba7b4..990d508 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -688,9 +688,6 @@ Matthias Kaehlcke edb9315 ARM920T (EP9315) edb9315aARM920T (EP9315) -Konstantin Kletschke - scb9328 ARM920T - Nishant Kamat omap1610h2 ARM926EJS @@ -705,6 +702,9 @@ Chander Kashyap SMDKV310ARM ARMV7 (S5PC210 SoC) +Torsten Koschorrek + scb9328 ARM920T (i.MXL) + Frederik Kriewitz devkit8000 ARM ARMV7 (OMAP3530 SoC) -- 1.7.5.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2] scb9328: Add ARM relocation support
This patch fixes compiler errors due to missing definitions of CONFIG_SYS_SDRAM_BASE and CONFIG_SYS_INIT_SP_ADDR. It also does some cleanup: CONFIG_SYS_TEXT_BASE was moved to scb9328.h, obsolete config.mk was removed. The scb9328 board has 1 DRAM bank, so don't ask for more banks. CONFIG_NR_DRAM_BANKS will ever be 1. Signed-off-by: Torsten Koschorrek --- board/scb9328/config.mk | 10 -- board/scb9328/scb9328.c | 24 +--- include/configs/scb9328.h |5 + 3 files changed, 14 insertions(+), 25 deletions(-) delete mode 100644 board/scb9328/config.mk diff --git a/board/scb9328/config.mk b/board/scb9328/config.mk deleted file mode 100644 index 7c5e067..000 --- a/board/scb9328/config.mk +++ /dev/null @@ -1,10 +0,0 @@ -# -# This config file is used for compilation of scb93328 sources -# -# You might change location of U-Boot in memory by setting right CONFIG_SYS_TEXT_BASE. -# This allows for example having one copy located at the end of ram and stored -# in flash device and later on while developing use other location to test -# the code in RAM device only. -# - -CONFIG_SYS_TEXT_BASE = 0x08f0 diff --git a/board/scb9328/scb9328.c b/board/scb9328/scb9328.c index 428e8c9..e959b99 100644 --- a/board/scb9328/scb9328.c +++ b/board/scb9328/scb9328.c @@ -39,23 +39,17 @@ int board_init (void) int dram_init (void) { -#if ( CONFIG_NR_DRAM_BANKS > 0 ) + /* dram_init must store complete ramsize in gd->ram_size */ + gd->ram_size = get_ram_size((volatile void *)SCB9328_SDRAM_1, + SCB9328_SDRAM_1_SIZE); + + return 0; +} + +void dram_init_banksize (void) +{ gd->bd->bi_dram[0].start = SCB9328_SDRAM_1; gd->bd->bi_dram[0].size = SCB9328_SDRAM_1_SIZE; -#endif -#if ( CONFIG_NR_DRAM_BANKS > 1 ) - gd->bd->bi_dram[1].start = SCB9328_SDRAM_2; - gd->bd->bi_dram[1].size = SCB9328_SDRAM_2_SIZE; -#endif -#if ( CONFIG_NR_DRAM_BANKS > 2 ) - gd->bd->bi_dram[2].start = SCB9328_SDRAM_3; - gd->bd->bi_dram[2].size = SCB9328_SDRAM_3_SIZE; -#endif -#if ( CONFIG_NR_DRAM_BANKS > 3 ) - gd->bd->bi_dram[3].start = SCB9328_SDRAM_4; - gd->bd->bi_dram[3].size = SCB9328_SDRAM_4_SIZE; -#endif - return 0; } /** diff --git a/include/configs/scb9328.h b/include/configs/scb9328.h index 6a92ec3..839d0e3 100644 --- a/include/configs/scb9328.h +++ b/include/configs/scb9328.h @@ -126,6 +126,11 @@ #define SCB9328_SDRAM_1 0x0800 /* SDRAM bank #1 */ #define SCB9328_SDRAM_1_SIZE 0x0100 /* 16 MB */ +#define CONFIG_SYS_TEXT_BASE 0x1000 + +#define CONFIG_SYS_SDRAM_BASE SCB9328_SDRAM_1 +#define CONFIG_SYS_INIT_SP_ADDRSCB9328_SDRAM_1 + 0xf0 + /* * Configuration for FLASH memory for the Synertronixx board */ -- 1.7.5.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] scb9328: Add ARM relocation support
Torsten Koschorrek wrote: > Hello, > > Stefano Babic wrote: >> On 06/10/2011 07:44 AM, Torsten Koschorrek wrote: >> Hi Torsten, >> >> send your answer to the ML, too. Someone else can help you ;-) >> > > Oh, yes, right. This little 'Reply All' Button, sorry :-) > >>>> size1 = get_ram_size((volatile void *)SCB9328_SDRAM_1, >>>> SCB9328_SDRAM_1_SIZE); >>>> #if ( CONFIG_NR_DRAM_BANKS>1 ) >>>> size2 = get_ram_size((volatile void *)SCB9328_SDRAM_2, >>>> SCB9328_SDRAM_2_SIZE); >>>> . >>>> >>>> and then: >>>> gd->ram_size = size1 + size2 + size3 + size4; >>>> >>> >>> Yes, I thought about it. The thing is, we only have one bank on the >>> system. So, dram_init_banksize() needs a cleanup, but that's a problem >>> for another cleanup-patch, which will be committed in a next step. >>> >>> (If it's needed I could do a minor cleanup first...) >> >> You decide. However, the code in the patch is wrong. If you have only >> one bank, you could directly simplify your code, I think. >> > > Good point. > >>> >>> Unfortunately I have to work on another project today and next week and >>> I think I'm not able to solve the hanging problem. >> >> Understood, I tried only to give you some hints where to check ;-) >> > > ... and I appreciate that very much :-) Above all, your answers showed > me, that I was looking in the right direction so far. > >>> Minor fixes (such as >>> config.mk) for the above patch should be possible, though. >> >> Ok, agree. Fix first the problem to make MAKEALL happy and build the >> board again. >> > > OK, I just tested it again, MAKEALL is happy. > > 'include/configs/scb9328.h' is the only file that has to be patched with > the patch already send to the ml. 'board/scb9328/config.mk' and > 'board/scb9328/scb9328.c' definately need a cleanup, but compilation is > ok. The cleanup of those two files 'll be done next week. And hopefully > I find some time next week to work on the hangup problem, too. > What's the status of this patch? Do I need to resend a modified version without config.mk and scb9328.c? Or I could do a small cleanup as discussed in this thread. But as I said, MAKEALL is happy with the modified scb9328.h thanks Torsten ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] ARM: Update maintainer of board scb9328
Torsten Koschorrek wrote: > Signed-off-by: Torsten Koschorrek > --- >MAINTAINERS |2 +- >1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index c462ae2..fe578ef 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -684,7 +684,7 @@ Matthias Kaehlcke > edb9315 ARM920T (EP9315) > edb9315aARM920T (EP9315) >-Konstantin Kletschke > +Torsten Koschorrek > scb9328 ARM920T > Nishant Kamat What about this patch? I don't see it in master yet... Torsten ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] scb9328: Add ARM relocation support
Hello, Stefano Babic wrote: > On 06/10/2011 07:44 AM, Torsten Koschorrek wrote: > Hi Torsten, > > send your answer to the ML, too. Someone else can help you ;-) > Oh, yes, right. This little 'Reply All' Button, sorry :-) >>> size1 = get_ram_size((volatile void *)SCB9328_SDRAM_1, >>> SCB9328_SDRAM_1_SIZE); >>> #if ( CONFIG_NR_DRAM_BANKS> 1 ) >>> size2 = get_ram_size((volatile void *)SCB9328_SDRAM_2, >>> SCB9328_SDRAM_2_SIZE); >>> . >>> >>> and then: >>> gd->ram_size = size1 + size2 + size3 + size4; >>> >> >> Yes, I thought about it. The thing is, we only have one bank on the >> system. So, dram_init_banksize() needs a cleanup, but that's a problem >> for another cleanup-patch, which will be committed in a next step. >> >> (If it's needed I could do a minor cleanup first...) > > You decide. However, the code in the patch is wrong. If you have only > one bank, you could directly simplify your code, I think. > Good point. >> >> Unfortunately I have to work on another project today and next week and >> I think I'm not able to solve the hanging problem. > > Understood, I tried only to give you some hints where to check ;-) > ... and I appreciate that very much :-) Above all, your answers showed me, that I was looking in the right direction so far. >> Minor fixes (such as >> config.mk) for the above patch should be possible, though. > > Ok, agree. Fix first the problem to make MAKEALL happy and build the > board again. > OK, I just tested it again, MAKEALL is happy. 'include/configs/scb9328.h' is the only file that has to be patched with the patch already send to the ml. 'board/scb9328/config.mk' and 'board/scb9328/scb9328.c' definately need a cleanup, but compilation is ok. The cleanup of those two files 'll be done next week. And hopefully I find some time next week to work on the hangup problem, too. > Best regards, > Stefano Babic > Thanks Torsten ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] scb9328: Add ARM relocation support
This patch fixed compiler errors due to missing definitions of CONFIG_SYS_SDRAM_BASE and CONFIG_SYS_INIT_SP_ADDR. The board doesn't start, though. A v2 of this patch or a seperate patch will fix the error when it was found. Signed-off-by: Torsten Koschorrek --- board/scb9328/config.mk |2 +- board/scb9328/scb9328.c | 10 +- include/configs/scb9328.h |3 +++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/board/scb9328/config.mk b/board/scb9328/config.mk index 7c5e067..6e411de 100644 --- a/board/scb9328/config.mk +++ b/board/scb9328/config.mk @@ -7,4 +7,4 @@ # the code in RAM device only. # -CONFIG_SYS_TEXT_BASE = 0x08f0 +CONFIG_SYS_TEXT_BASE = 0x1000 diff --git a/board/scb9328/scb9328.c b/board/scb9328/scb9328.c index 428e8c9..631f4e3 100644 --- a/board/scb9328/scb9328.c +++ b/board/scb9328/scb9328.c @@ -39,6 +39,15 @@ int board_init (void) int dram_init (void) { + /* dram_init must store complete ramsize in gd->ram_size */ + gd->ram_size = get_ram_size((volatile void *)SCB9328_SDRAM_1, + SCB9328_SDRAM_1_SIZE); + + return 0; +} + +void dram_init_banksize (void) +{ #if ( CONFIG_NR_DRAM_BANKS > 0 ) gd->bd->bi_dram[0].start = SCB9328_SDRAM_1; gd->bd->bi_dram[0].size = SCB9328_SDRAM_1_SIZE; @@ -55,7 +64,6 @@ int dram_init (void) gd->bd->bi_dram[3].start = SCB9328_SDRAM_4; gd->bd->bi_dram[3].size = SCB9328_SDRAM_4_SIZE; #endif - return 0; } /** diff --git a/include/configs/scb9328.h b/include/configs/scb9328.h index 3da214e..c610ed1 100644 --- a/include/configs/scb9328.h +++ b/include/configs/scb9328.h @@ -127,6 +127,9 @@ #define SCB9328_SDRAM_1 0x0800 /* SDRAM bank #1 */ #define SCB9328_SDRAM_1_SIZE 0x0100 /* 16 MB */ +#define CONFIG_SYS_SDRAM_BASESCB9328_SDRAM_1 +#define CONFIG_SYS_INIT_SP_ADDRSCB9328_SDRAM_1 + 0xf0 + /* * Configuration for FLASH memory for the Synertronixx board */ -- 1.7.2.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] ARM: Update maintainer of board scb9328
Signed-off-by: Torsten Koschorrek --- MAINTAINERS |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index c462ae2..fe578ef 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -684,7 +684,7 @@ Matthias Kaehlcke edb9315 ARM920T (EP9315) edb9315aARM920T (EP9315) -Konstantin Kletschke +Torsten Koschorrek scb9328 ARM920T Nishant Kamat -- 1.7.2.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot