On Tue, 5 Jul 2011 15:20:39 +0200
Simon Schwarz <simonschwarz...@googlemail.com> wrote:

> +#ifdef CONFIG_SAVE_BOOT_ARGS
> +/* This function writes given bootparams to NAND flash
> + *  adr: Start adress of Kernel parameter image (ATAGS, FDT)
> + *  length: length of the image in byte
> + *
> + * borrowd heavily from common/cmd_nand.c
> + */
> +void boot_params_to_nand(u_char *adr, size_t length) {

Brace on its own line for functions

> +     /* write */
> +     if(nand_write_skip_bad(nand, off, &length, adr, 0))
> +             printf("FAILED!\n");

Space after "if"

> +#ifdef CONFIG_SAVE_BOOT_ARGS
> +     struct tag *t;
> +     size_t size=0;
> +#endif

Spaces around =

>       if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
>               return 1;
>  
> @@ -150,6 +198,17 @@ int do_bootm_linux(int flag, int argc, char *argv[], 
> bootm_headers_t *images)
>       setup_end_tag(bd);
>  #endif
>  
> +#ifdef CONFIG_SAVE_BOOT_ARGS
> +     printf("write ATAGS to NAND...\n");
> +
> +     /* get size of atags */
> +     for_each_tag(t, (struct tag *)(bd->bi_boot_params))
> +             size += t->hdr.size;
> +     size += 2; /* ATAG_NONE has size 0 */
> +     size *= 4;  /*  words -> byte! */
> +     boot_params_to_nand((u_char *)bd->bi_boot_params, size);
> +#endif
> +
>       announce_and_cleanup();
>  
>       kernel_entry(0, machid, bd->bi_boot_params);
> @@ -208,6 +267,11 @@ static int bootm_linux_fdt(int machid, bootm_headers_t 
> *images)
>  
>       fdt_initrd(*of_flat_tree, *initrd_start, *initrd_end, 1);
>  
> +#ifdef CONFIG_SAVE_BOOT_ARGS
> +     printf("write FDT to NAND...\n");
> +     boot_params_to_nand((u_char *)(*of_flat_tree),of_size);
> +#endif

Why are you writing to NAND as part of bootm?

If you just want access to the results of the FDT/ATAG preparation that
bootm does, consider using the bootm subcommands to prepare them, then
normal U-Boot commands to write to NAND.

-Scott

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to