All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: "Marek Behún" <marek.behun@nic.cz>,
	u-boot@lists.denx.de, "Chris Packham" <judge.packham@gmail.com>,
	"Baruch Siach" <baruch@tkos.co.il>,
	"Dirk Eibach" <dirk.eibach@gdsys.cc>,
	"Chris Packham" <chris.packham@alliedtelesis.co.nz>
Cc: "Dennis Gilmore" <dgilmore@redhat.com>,
	"Mario Six" <mario.six@gdsys.cc>,
	"Jon Nettleton" <jon@solid-run.com>,
	"Pali Rohár" <pali@kernel.org>
Subject: Re: [PATCH u-boot-mvebu 21/31] arm: mvebu: Use U-Boot's SPL BootROM framework for booting from NAND/UART
Date: Thu, 15 Jul 2021 10:48:44 +0200	[thread overview]
Message-ID: <548bff96-9fd1-3f0d-6d47-3832af8f3699@denx.de> (raw)
In-Reply-To: <20210708173032.27999-22-marek.behun@nic.cz>

On 08.07.21 19:30, Marek Behún wrote:
> From: Pali Rohár <pali@kernel.org>
> 
> Current code uses hack in board_init_f() which calls return_to_bootrom()
> to skip U-Boot SPL code and return back to BootROM to load U-Boot via
> UART or from NAND.
> 
> This change migrates that hack from the board_init_f() function and
> changes it to return BOOT_DEVICE_BOOTROM instead of returning to BootROM
> directly, so that U-Boot's SPL framework is used for returning to
> BootROM.
> 
> Signed-off-by: Pali Rohár <pali@kernel.org>
> Reviewed-by: Marek Behún <marek.behun@nic.cz>
> ---
>   arch/arm/mach-mvebu/spl.c | 48 ++++++++++++++++++++-------------------
>   1 file changed, 25 insertions(+), 23 deletions(-)
> 
> diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c
> index 836eb18889..3551c9de42 100644
> --- a/arch/arm/mach-mvebu/spl.c
> +++ b/arch/arm/mach-mvebu/spl.c
> @@ -76,7 +76,31 @@ static u32 get_boot_device(void)
>   
>   u32 spl_boot_device(void)
>   {
> -	return get_boot_device();
> +	u32 boot_device = get_boot_device();
> +
> +	/*
> +	 * Return to the BootROM to continue the Marvell xmodem
> +	 * UART boot protocol. As initiated by the kwboot tool.
> +	 *
> +	 * This can only be done by the BootROM and not by the
> +	 * U-Boot SPL infrastructure, since the beginning of the
> +	 * image is already read and interpreted by the BootROM.
> +	 * SPL has no chance to receive this information. So we
> +	 * need to return to the BootROM to enable this xmodem
> +	 * UART download.

The comment needs some updates as the SPL infrastructure is now used.
Could you please update it accordingly in v2?

Other than this:

Reviewed-by: Stefan Roese <sr@denx.de>

Thanks,
Stefan


> +	 *
> +	 * If booting from NAND lets let the BootROM load the
> +	 * rest of the bootloader.
> +	 */
> +	switch (boot_device) {
> +		case BOOT_DEVICE_UART:
> +#if defined(CONFIG_ARMADA_38X)
> +		case BOOT_DEVICE_NAND:
> +#endif
> +			return BOOT_DEVICE_BOOTROM;
> +		default:
> +			return boot_device;
> +	}
>   }
>   
>   int board_return_to_bootrom(struct spl_image_info *spl_image,
> @@ -147,26 +171,4 @@ void board_init_f(ulong dummy)
>   
>   	/* Update read timing control for PCIe */
>   	mv_rtc_config();
> -
> -	/*
> -	 * Return to the BootROM to continue the Marvell xmodem
> -	 * UART boot protocol. As initiated by the kwboot tool.
> -	 *
> -	 * This can only be done by the BootROM and not by the
> -	 * U-Boot SPL infrastructure, since the beginning of the
> -	 * image is already read and interpreted by the BootROM.
> -	 * SPL has no chance to receive this information. So we
> -	 * need to return to the BootROM to enable this xmodem
> -	 * UART download.
> -	 *
> -	 * If booting from NAND lets let the BootROM load the
> -	 * rest of the bootloader.
> -	 */
> -	switch (get_boot_device()) {
> -		case BOOT_DEVICE_UART:
> -#if defined(CONFIG_ARMADA_38X)
> -		case BOOT_DEVICE_NAND:
> -#endif
> -			return_to_bootrom();
> -	}
>   }
> 


Viele Grüße,
Stefan

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de

  reply	other threads:[~2021-07-15  8:49 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-08 17:30 [PATCH u-boot-mvebu 00/31] kwboot / kwbimage improvements Marek Behún
2021-07-08 17:30 ` [PATCH u-boot-mvebu 01/31] tools: kwbimage: Fix compilation without CONFIG_SYS_U_BOOT_OFFS Marek Behún
2021-07-15  8:32   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 02/31] tools: kwbimage: Simplify aligning and calculating checksum Marek Behún
2021-07-15  8:33   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 03/31] tools: kwbimage: Align SPI and NAND images to 256 bytes Marek Behún
2021-07-15  8:34   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 04/31] tools: kwbimage: Add constant for SDIO bootfrom Marek Behún
2021-07-15  8:34   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 05/31] tools: kwbimage: Fix generation of SATA, SDIO and PCIe images Marek Behún
2021-07-15  8:35   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 06/31] tools: kwbimage: Don't crash when binary file name does not contain '/' Marek Behún
2021-07-15  8:35   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 07/31] tools: kwbimage: Fix check for v0 extended header checksum Marek Behún
2021-07-15  8:36   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 08/31] tools: kwbimage: Validate extended headers of v1 images Marek Behún
2021-07-15  8:36   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 09/31] tools: kwbimage: Validate data checksum " Marek Behún
2021-07-15  8:37   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 10/31] tools: kwbimage: Print size of binary header in kwbimage_print_header() Marek Behún
2021-07-15  8:37   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 11/31] tools: kwboot: Fix wrong parameter passed to read() Marek Behún
2021-07-15  8:38   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 12/31] tools: kwboot: Fix restoring terminal Marek Behún
2021-07-15  8:38   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 13/31] tools: kwboot: Print trailing newline after terminal is terminated Marek Behún
2021-07-15  8:39   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 14/31] tools: kwboot: Cosmetic fix - add missing curly brackets Marek Behún
2021-07-15  8:39   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 15/31] tools: kwboot: Check for v1 header size Marek Behún
2021-07-15  8:39   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 16/31] tools: kwbimage: Cosmetic fix - remove redundant space character Marek Behún
2021-07-15  8:40   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 17/31] tools: kwbimage: Use -a parameter (load address) for v1 images Marek Behún
2021-07-15  8:41   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 18/31] arm: mvebu: Fix return_to_bootrom() Marek Behún
2021-07-15  8:42   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 19/31] arm: mvebu: Mark return_to_bootrom() as a noreturn function Marek Behún
2021-07-15  8:43   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 20/31] arm: mvebu: Implement return_to_bootrom() via U-Boot's SPL framework Marek Behún
2021-07-15  8:46   ` Stefan Roese
2021-07-08 17:30 ` [PATCH u-boot-mvebu 21/31] arm: mvebu: Use U-Boot's SPL BootROM framework for booting from NAND/UART Marek Behún
2021-07-15  8:48   ` Stefan Roese [this message]
2021-07-08 17:30 ` [PATCH u-boot-mvebu 22/31] arm: mvebu: Always use BootROM for loading the rest of U-Boot's binary Marek Behún
2021-07-09  5:02   ` Baruch Siach
2021-07-08 17:30 ` [PATCH u-boot-mvebu 23/31] arm: mvebu: gdsys: Remove custom spl_board_init() Marek Behún
2021-07-08 17:30 ` [PATCH u-boot-mvebu 24/31] arm: mvebu: Remove legacy U-Boot header from kwbimage v1 files Marek Behún
2021-07-08 17:30 ` [PATCH u-boot-mvebu 25/31] tools: kwbimage: Remove v1 kwbimage SPL padding to CONFIG_SYS_U_BOOT_OFFS bytes Marek Behún
2021-07-09  0:37   ` Chris Packham
2021-07-08 17:30 ` [PATCH u-boot-mvebu 26/31] arm: mvebu: Remove unused macro CONFIG_SYS_U_BOOT_OFFS Marek Behún
2021-07-08 17:30 ` [PATCH u-boot-mvebu 27/31] tools: kwbimage: Add support for more BINARY headers Marek Behún
2021-07-08 17:30 ` [PATCH u-boot-mvebu 28/31] tools: kwbimage: Don't parse PAYLOAD keyword Marek Behún
2021-07-08 17:30 ` [PATCH u-boot-mvebu 29/31] tools: kwbimage: Add support for DATA command also for v1 images Marek Behún
2021-07-08 17:30 ` [PATCH u-boot-mvebu 30/31] tools: kwbimage: Add support for a new DATA_DELAY command Marek Behún
2021-07-08 17:30 ` [PATCH u-boot-mvebu 31/31] tools: kwbimage: Do not hide usage of secure header under CONFIG_ARMADA_38X Marek Behún
2021-07-09  6:05 ` [PATCH u-boot-mvebu 00/31] kwboot / kwbimage improvements Stefan Roese
2021-07-09 11:22   ` Marek Behún
2021-07-09 12:35     ` Stefan Roese
2021-07-09 14:08       ` Marek Behún
2021-07-10  0:31         ` Stefan Roese
2021-07-10  0:43           ` Pali Rohár
2021-07-10  0:59             ` Pali Rohár
2021-07-11  7:11               ` Stefan Roese
2021-07-11  7:11             ` Stefan Roese
2021-07-09 14:54 ` Baruch Siach
2021-07-09 14:57   ` Marek Behún
2021-07-11 21:56 ` Chris Packham

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=548bff96-9fd1-3f0d-6d47-3832af8f3699@denx.de \
    --to=sr@denx.de \
    --cc=baruch@tkos.co.il \
    --cc=chris.packham@alliedtelesis.co.nz \
    --cc=dgilmore@redhat.com \
    --cc=dirk.eibach@gdsys.cc \
    --cc=jon@solid-run.com \
    --cc=judge.packham@gmail.com \
    --cc=marek.behun@nic.cz \
    --cc=mario.six@gdsys.cc \
    --cc=pali@kernel.org \
    --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.