From: Michal Simek <monstr@monstr.eu>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] microblaze: Add FDT support
Date: Fri, 16 Apr 2010 12:06:38 +0200 [thread overview]
Message-ID: <4BC836AE.9040507@monstr.eu> (raw)
In-Reply-To: <1271327237-2828-1-git-send-email-arun@bhanu.net>
Arun Bhanu wrote:
> This patch adds FDT (flattened device tree) support to microblaze arch.
>
> Tested with Linux arch/microblaze kernels with and without compiled in
> FDT on Xilinx ML506 board.
>
> Signed-off-by: Arun Bhanu <arun@bhanu.net>
Applied.
Thanks,
Michal
> ---
> arch/microblaze/lib/bootm.c | 39 ++++++++++++++++++++++++++++++++++-----
> 1 files changed, 34 insertions(+), 5 deletions(-)
>
> diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
> index bce4774..0c2c5e8 100644
> --- a/arch/microblaze/lib/bootm.c
> +++ b/arch/microblaze/lib/bootm.c
> @@ -35,22 +35,51 @@ DECLARE_GLOBAL_DATA_PTR;
> int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
> {
> /* First parameter is mapped to $r5 for kernel boot args */
> - void (*theKernel) (char *);
> + void (*theKernel) (char *, ulong, ulong);
> char *commandline = getenv ("bootargs");
> + ulong rd_data_start, rd_data_end;
>
> if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
> return 1;
>
> - theKernel = (void (*)(char *))images->ep;
> + int ret;
> +
> + char *of_flat_tree = NULL;
> +#if defined(CONFIG_OF_LIBFDT)
> + ulong of_size = 0;
> +
> + /* find flattened device tree */
> + ret = boot_get_fdt (flag, argc, argv, images, &of_flat_tree, &of_size);
> + if (ret)
> + return 1;
> +#endif
> +
> + theKernel = (void (*)(char *, ulong, ulong))images->ep;
> +
> + /* find ramdisk */
> + ret = boot_get_ramdisk (argc, argv, images, IH_ARCH_MICROBLAZE,
> + &rd_data_start, &rd_data_end);
> + if (ret)
> + return 1;
>
> show_boot_progress (15);
>
> + if (!(ulong) of_flat_tree)
> + of_flat_tree = simple_strtoul (argv[3], NULL, 16);
> +
> #ifdef DEBUG
> - printf ("## Transferring control to Linux (at address %08lx) ...\n",
> - (ulong) theKernel);
> + printf ("## Transferring control to Linux (at address 0x%08lx) " \
> + "ramdisk 0x%08lx, FDT 0x%08lx...\n",
> + (ulong) theKernel, rd_data_start, (ulong) of_flat_tree);
> #endif
>
> - theKernel (commandline);
> + /*
> + * Linux Kernel Parameters (passing device tree):
> + * r5: pointer to command line
> + * r6: pointer to ramdisk
> + * r7: pointer to the fdt, followed by the board info data
> + */
> + theKernel (commandline, rd_data_start, (ulong) of_flat_tree);
> /* does not return */
>
> return 1;
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
prev parent reply other threads:[~2010-04-16 10:06 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-15 10:27 [U-Boot] [PATCH] microblaze: Add FDT support Arun Bhanu
2010-04-16 10:06 ` Michal Simek [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BC836AE.9040507@monstr.eu \
--to=monstr@monstr.eu \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.