[PATCH] omap: use 512k barebox partition
Sascha Hauer
s.hauer at pengutronix.de
Fri Jul 27 11:19:36 EDT 2012
On Fri, Jul 27, 2012 at 01:09:07PM +0200, Jan Weitzel wrote:
> Use 512k NAND Partion for barebox. Problem is we don't know the size of the
> barebox inside xload. Set it also to 512k
> Fix enviroment for boards with size in config
The barebox binary has the size encoded into it at offset 0x2c. We could
use this to transfer the correct size.
Sascha
>
> Signed-off-by: Jan Weitzel <j.weitzel at phytec.de>
> ---
> arch/arm/boards/pcm049/board.c | 7 +++++--
> arch/arm/boards/pcm049/env/config | 2 +-
> arch/arm/boards/phycard-a-l1/env/config | 2 +-
> arch/arm/boards/phycard-a-l1/pca-a-l1.c | 9 ++++++---
> arch/arm/boards/phycard-a-xl2/env/config | 2 +-
> arch/arm/boards/phycard-a-xl2/pca-a-xl2.c | 4 ++--
> arch/arm/mach-omap/xload.c | 2 +-
> 7 files changed, 17 insertions(+), 11 deletions(-)
>
> diff --git a/arch/arm/boards/pcm049/board.c b/arch/arm/boards/pcm049/board.c
> index 5b7854a..d7b79c1 100644
> --- a/arch/arm/boards/pcm049/board.c
> +++ b/arch/arm/boards/pcm049/board.c
> @@ -113,9 +113,12 @@ static int pcm049_devices_init(void)
> #ifdef CONFIG_PARTITION
> devfs_add_partition("nand0", 0x00000, SZ_128K, DEVFS_PARTITION_FIXED, "xload_raw");
> dev_add_bb_dev("xload_raw", "xload");
> - devfs_add_partition("nand0", SZ_128K, SZ_256K, DEVFS_PARTITION_FIXED, "self_raw");
> + devfs_add_partition("nand0", SZ_128K, SZ_512K,
> + DEVFS_PARTITION_FIXED, "self_raw");
> dev_add_bb_dev("self_raw", "self0");
> - devfs_add_partition("nand0", SZ_128K + SZ_256K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw");
> + devfs_add_partition("nand0", SZ_128K + SZ_512K, SZ_128K,
> + DEVFS_PARTITION_FIXED, "env_raw");
> +
> dev_add_bb_dev("env_raw", "env0");
> #endif
>
> diff --git a/arch/arm/boards/pcm049/env/config b/arch/arm/boards/pcm049/env/config
> index efbe9ea..70e374f 100644
> --- a/arch/arm/boards/pcm049/env/config
> +++ b/arch/arm/boards/pcm049/env/config
> @@ -40,7 +40,7 @@ autoboot_timeout=3
>
> bootargs="console=ttyO2,115200"
>
> -nand_parts="128k(xload)ro,256k(barebox),128k(bareboxenv),2M(kernel),-(root)"
> +nand_parts="128k(xload)ro,512k(barebox),128k(bareboxenv),4M(kernel),-(root)"
> rootfs_mtdblock_nand=4
>
> # set a fancy prompt (if support is compiled in)
> diff --git a/arch/arm/boards/phycard-a-l1/env/config b/arch/arm/boards/phycard-a-l1/env/config
> index e0f4dcc..5bc48d7 100644
> --- a/arch/arm/boards/phycard-a-l1/env/config
> +++ b/arch/arm/boards/phycard-a-l1/env/config
> @@ -70,7 +70,7 @@ bootargs="$bootargs omapdss.def_disp=pd050vl1"
> #bootargs="$bootargs omapdss.def_disp=pd104slf"
> #bootargs="$bootargs omapdss.def_disp=pm070wl4"
>
> -nand_parts="512k(x-loader)ro,1920k(barebox),128k(bareboxenv),4M(kernel),-(root)"
> +nand_parts="128k(x-loader)ro,512k(barebox),128k(bareboxenv),4M(kernel),-(root)"
> nand_device=omap2-nand.0
> rootfs_mtdblock_nand=4
>
> diff --git a/arch/arm/boards/phycard-a-l1/pca-a-l1.c b/arch/arm/boards/phycard-a-l1/pca-a-l1.c
> index 1cc2815..3d3596a 100644
> --- a/arch/arm/boards/phycard-a-l1/pca-a-l1.c
> +++ b/arch/arm/boards/phycard-a-l1/pca-a-l1.c
> @@ -336,13 +336,16 @@ static int pcaal1_late_init(void)
>
> nand = get_device_by_name("nand0");
>
> - devfs_add_partition("nand0", 0x00000, 0x80000, DEVFS_PARTITION_FIXED, "x-loader");
> + devfs_add_partition("nand0", 0x00000, SZ_128K,
> + DEVFS_PARTITION_FIXED, "x-loader");
> dev_add_bb_dev("self_raw", "x_loader0");
>
> - devfs_add_partition("nand0", 0x80000, 0x1e0000, DEVFS_PARTITION_FIXED, "self_raw");
> + devfs_add_partition("nand0", SZ_128K, SZ_512K,
> + DEVFS_PARTITION_FIXED, "self_raw");
> dev_add_bb_dev("self_raw", "self0");
>
> - devfs_add_partition("nand0", 0x260000, 0x20000, DEVFS_PARTITION_FIXED, "env_raw");
> + devfs_add_partition("nand0", SZ_128K + SZ_512K, SZ_128K,
> + DEVFS_PARTITION_FIXED, "env_raw");
> dev_add_bb_dev("env_raw", "env0");
>
> return 0;
> diff --git a/arch/arm/boards/phycard-a-xl2/env/config b/arch/arm/boards/phycard-a-xl2/env/config
> index 59e8eb3..44a4181 100644
> --- a/arch/arm/boards/phycard-a-xl2/env/config
> +++ b/arch/arm/boards/phycard-a-xl2/env/config
> @@ -39,7 +39,7 @@ autoboot_timeout=3
>
> bootargs="console=ttyO2,115200"
>
> -nand_parts="128k(xload)ro,256k(barebox),128k(bareboxenv),4M(kernel),-(root)"
> +nand_parts="128k(xload)ro,512k(barebox),128k(bareboxenv),4M(kernel),-(root)"
> rootfs_mtdblock_nand=4
>
> # set a fancy prompt (if support is compiled in)
> diff --git a/arch/arm/boards/phycard-a-xl2/pca-a-xl2.c b/arch/arm/boards/phycard-a-xl2/pca-a-xl2.c
> index 128cb8f..54b4ada 100644
> --- a/arch/arm/boards/phycard-a-xl2/pca-a-xl2.c
> +++ b/arch/arm/boards/phycard-a-xl2/pca-a-xl2.c
> @@ -131,10 +131,10 @@ static int pcaaxl2_devices_init(void)
> devfs_add_partition("nand0", 0x00000, SZ_128K,
> DEVFS_PARTITION_FIXED, "xload_raw");
> dev_add_bb_dev("xload_raw", "xload");
> - devfs_add_partition("nand0", SZ_128K, SZ_256K,
> + devfs_add_partition("nand0", SZ_128K, SZ_512K,
> DEVFS_PARTITION_FIXED, "self_raw");
> dev_add_bb_dev("self_raw", "self0");
> - devfs_add_partition("nand0", SZ_128K + SZ_256K, SZ_128K,
> + devfs_add_partition("nand0", SZ_128K + SZ_512K, SZ_128K,
> DEVFS_PARTITION_FIXED, "env_raw");
> dev_add_bb_dev("env_raw", "env0");
> #endif
> diff --git a/arch/arm/mach-omap/xload.c b/arch/arm/mach-omap/xload.c
> index 13024ab..a58d0a3 100644
> --- a/arch/arm/mach-omap/xload.c
> +++ b/arch/arm/mach-omap/xload.c
> @@ -80,7 +80,7 @@ int run_shell(void)
> printf("unknown boot source. Fall back to nand\n");
> case OMAP_BOOTSRC_NAND:
> printf("booting from NAND\n");
> - func = omap_xload_boot_nand(SZ_128K, SZ_256K);
> + func = omap_xload_boot_nand(SZ_128K, SZ_512K);
> break;
> }
>
> --
> 1.7.0.4
>
>
> _______________________________________________
> barebox mailing list
> barebox at 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 |
More information about the barebox
mailing list