[U-Boot] [PATCH v3 6/8] fdt: cmd_fdt: Call fdt_chosen() from "fdt boardsetup"

By calling fdt_chosen(), the chosen node will be updated / created by the "fdt boardsetup" command. This is useful for setting of the kernel commandline via the "bootargs" env variable.
With this change, the "fdt boardsetup" can be used to prepare the DT blob for SPL booting. The patched DT blob can be saved to flash and can be used by the SPL U-Boot version directly for Linux booting.
Signed-off-by: Stefan Roese sr@denx.de ---
common/cmd_fdt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c index e2225c4..d688334 100644 --- a/common/cmd_fdt.c +++ b/common/cmd_fdt.c @@ -425,8 +425,10 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) } #ifdef CONFIG_OF_BOARD_SETUP /* Call the board-specific fixup routine */ - else if (strncmp(argv[1], "boa", 3) == 0) + else if (strncmp(argv[1], "boa", 3) == 0) { ft_board_setup(working_fdt, gd->bd); + fdt_chosen(working_fdt, 1); + } #endif /* Create a chosen node */ else if (argv[1][0] == 'c') {

On Sep 26, 2012, at 4:11 AM, Stefan Roese wrote:
By calling fdt_chosen(), the chosen node will be updated / created by the "fdt boardsetup" command. This is useful for setting of the kernel commandline via the "bootargs" env variable.
With this change, the "fdt boardsetup" can be used to prepare the DT blob for SPL booting. The patched DT blob can be saved to flash and can be used by the SPL U-Boot version directly for Linux booting.
Signed-off-by: Stefan Roese sr@denx.de
common/cmd_fdt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
There are possibly some workflows this breaks. I can't remember if for AMP boot we need to do something between ft_board_setup() and fdt_chosen()
- k
diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c index e2225c4..d688334 100644 --- a/common/cmd_fdt.c +++ b/common/cmd_fdt.c @@ -425,8 +425,10 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) } #ifdef CONFIG_OF_BOARD_SETUP /* Call the board-specific fixup routine */
- else if (strncmp(argv[1], "boa", 3) == 0)
- else if (strncmp(argv[1], "boa", 3) == 0) { ft_board_setup(working_fdt, gd->bd);
fdt_chosen(working_fdt, 1);
- }
#endif /* Create a chosen node */ else if (argv[1][0] == 'c') { -- 1.7.12.1
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Hi Kumar,
On 09/26/2012 03:36 PM, Kumar Gala wrote:
By calling fdt_chosen(), the chosen node will be updated / created by the "fdt boardsetup" command. This is useful for setting of the kernel commandline via the "bootargs" env variable.
With this change, the "fdt boardsetup" can be used to prepare the DT blob for SPL booting. The patched DT blob can be saved to flash and can be used by the SPL U-Boot version directly for Linux booting.
Signed-off-by: Stefan Roese sr@denx.de
common/cmd_fdt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
There are possibly some workflows this breaks. I can't remember if for AMP boot we need to do something between ft_board_setup() and fdt_chosen()
Could you please elaborate what exactly you fear here? Is this a NACK for this patch?
Thanks, Stefan

On Sep 26, 2012, at 9:20 AM, Stefan Roese wrote:
Hi Kumar,
On 09/26/2012 03:36 PM, Kumar Gala wrote:
By calling fdt_chosen(), the chosen node will be updated / created by the "fdt boardsetup" command. This is useful for setting of the kernel commandline via the "bootargs" env variable.
With this change, the "fdt boardsetup" can be used to prepare the DT blob for SPL booting. The patched DT blob can be saved to flash and can be used by the SPL U-Boot version directly for Linux booting.
Signed-off-by: Stefan Roese sr@denx.de
common/cmd_fdt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
There are possibly some workflows this breaks. I can't remember if for AMP boot we need to do something between ft_board_setup() and fdt_chosen()
Could you please elaborate what exactly you fear here? Is this a NACK for this patch?
Possibly. I've got to find our docs on how we do 2-core AMP booting sequence w/regards to device tree.
- k

On Thu, Sep 27, 2012 at 3:28 PM, Kumar Gala galak@kernel.crashing.org wrote:
On Sep 26, 2012, at 9:20 AM, Stefan Roese wrote:
Hi Kumar,
On 09/26/2012 03:36 PM, Kumar Gala wrote:
By calling fdt_chosen(), the chosen node will be updated / created by the "fdt boardsetup" command. This is useful for setting of the kernel commandline via the "bootargs" env variable.
With this change, the "fdt boardsetup" can be used to prepare the DT blob for SPL booting. The patched DT blob can be saved to flash and can be used by the SPL U-Boot version directly for Linux booting.
Signed-off-by: Stefan Roese sr@denx.de
common/cmd_fdt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
There are possibly some workflows this breaks. I can't remember if for AMP boot we need to do something between ft_board_setup() and fdt_chosen()
Could you please elaborate what exactly you fear here? Is this a NACK for this patch?
Possibly. I've got to find our docs on how we do 2-core AMP booting sequence w/regards to device tree.
See if this works:
http://www.freescale.com/infocenter/index.jsp?topic=%2FQORIQSDK%2F2151493.ht...
-M

On 09/27/2012 10:43 PM, McClintock Matthew-B29882 wrote:
By calling fdt_chosen(), the chosen node will be updated / created by the "fdt boardsetup" command. This is useful for setting of the kernel commandline via the "bootargs" env variable.
With this change, the "fdt boardsetup" can be used to prepare the DT blob for SPL booting. The patched DT blob can be saved to flash and can be used by the SPL U-Boot version directly for Linux booting.
Signed-off-by: Stefan Roese sr@denx.de
common/cmd_fdt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
There are possibly some workflows this breaks. I can't remember if for AMP boot we need to do something between ft_board_setup() and fdt_chosen()
Could you please elaborate what exactly you fear here? Is this a NACK for this patch?
Possibly. I've got to find our docs on how we do 2-core AMP booting sequence w/regards to device tree.
See if this works:
http://www.freescale.com/infocenter/index.jsp?topic=%2FQORIQSDK%2F2151493.ht...
Kumar, did you find the time to check/test this? I would really like to know if this patch is okay with you.
Thanks, Stefan

On Tue, Oct 2, 2012 at 5:26 AM, Stefan Roese sr@denx.de wrote:
On 09/27/2012 10:43 PM, McClintock Matthew-B29882 wrote:
By calling fdt_chosen(), the chosen node will be updated / created by the "fdt boardsetup" command. This is useful for setting of the kernel commandline via the "bootargs" env variable.
With this change, the "fdt boardsetup" can be used to prepare the DT blob for SPL booting. The patched DT blob can be saved to flash and can be used by the SPL U-Boot version directly for Linux booting.
Signed-off-by: Stefan Roese sr@denx.de
common/cmd_fdt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
There are possibly some workflows this breaks. I can't remember if for AMP boot we need to do something between ft_board_setup() and fdt_chosen()
Could you please elaborate what exactly you fear here? Is this a NACK for this patch?
Possibly. I've got to find our docs on how we do 2-core AMP booting sequence w/regards to device tree.
See if this works:
http://www.freescale.com/infocenter/index.jsp?topic=%2FQORIQSDK%2F2151493.ht...
Kumar, did you find the time to check/test this? I would really like to know if this patch is okay with you.
This should be fine. You are calling fdt_chosen(), but we can still run 'fdt chosen $initrd_start $initrd_end' after 'fdt boardsetup'. A quick glance at fdt_chosen() suggest it can be run multiple times without error.
You might add a comment in the U_BOOT_CMD that mentions boardsetup calls chosen.
-M

Hi Matthew,
On 10/03/2012 02:57 AM, McClintock Matthew-B29882 wrote:
On Tue, Oct 2, 2012 at 5:26 AM, Stefan Roese sr@denx.de wrote:
On 09/27/2012 10:43 PM, McClintock Matthew-B29882 wrote:
> By calling fdt_chosen(), the chosen node will be updated / > created by the "fdt boardsetup" command. This is useful for > setting of the kernel commandline via the "bootargs" > env variable. > > With this change, the "fdt boardsetup" can be used to prepare > the DT blob for SPL booting. The patched DT blob can be saved > to flash and can be used by the SPL U-Boot version directly > for Linux booting. > > Signed-off-by: Stefan Roese sr@denx.de > --- > > common/cmd_fdt.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-)
There are possibly some workflows this breaks. I can't remember if for AMP boot we need to do something between ft_board_setup() and fdt_chosen()
Could you please elaborate what exactly you fear here? Is this a NACK for this patch?
Possibly. I've got to find our docs on how we do 2-core AMP booting sequence w/regards to device tree.
See if this works:
http://www.freescale.com/infocenter/index.jsp?topic=%2FQORIQSDK%2F2151493.ht...
Kumar, did you find the time to check/test this? I would really like to know if this patch is okay with you.
This should be fine. You are calling fdt_chosen(), but we can still run 'fdt chosen $initrd_start $initrd_end' after 'fdt boardsetup'. A quick glance at fdt_chosen() suggest it can be run multiple times without error.
You might add a comment in the U_BOOT_CMD that mentions boardsetup calls chosen.
Now I see that I don't need this patch at all. I can call "fdt chosen" after calling "fdt boardsetup" and everything is fine.
So lets drop this patch completely. Sorry for the noise.
Thanks, Stefan
participants (3)
-
Kumar Gala
-
McClintock Matthew-B29882
-
Stefan Roese