diff options
Diffstat (limited to 'recipes-bsp/u-boot/u-boot-toradex/0002-board-apalis-colibri-imx6-imx6ull-imx7-Add-fastboot-.patch')
-rw-r--r-- | recipes-bsp/u-boot/u-boot-toradex/0002-board-apalis-colibri-imx6-imx6ull-imx7-Add-fastboot-.patch | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/u-boot-toradex/0002-board-apalis-colibri-imx6-imx6ull-imx7-Add-fastboot-.patch b/recipes-bsp/u-boot/u-boot-toradex/0002-board-apalis-colibri-imx6-imx6ull-imx7-Add-fastboot-.patch new file mode 100644 index 0000000..d46cbfc --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-toradex/0002-board-apalis-colibri-imx6-imx6ull-imx7-Add-fastboot-.patch @@ -0,0 +1,133 @@ +From c0ee1a5b26f9cddc55c86740fae7b7e658281640 Mon Sep 17 00:00:00 2001 +From: Hiago De Franco <hiago.franco@toradex.com> +Date: Tue, 7 Nov 2023 09:43:34 -0300 +Subject: [PATCH 2/2] board: apalis/colibri imx6/imx6ull/imx7: Add fastboot + bootcmd support + +This commit adds support for Fastboot boot commands by checking both +CONFIG_CMD_USB_SDP and CONFIG_USB_FUNCTION_FASTBOOT. If either of these +configurations is set, it indicates that the board is in recovery mode +and can use either SDP or Fastboot. + +The default option remains the SDP command, but if +CONFIG_CMD_FASTBOOT is set, it changes to 'fastboot usb 0' as +the boot command. + +Upstream-Status: Submitted [https://lore.kernel.org/u-boot/20231109162401.38941-1-hiago.franco@toradex.com/T/#t] + +Signed-off-by: Hiago De Franco <hiago.franco@toradex.com> +--- + board/toradex/apalis_imx6/apalis_imx6.c | 13 ++++++++----- + board/toradex/colibri-imx6ull/colibri-imx6ull.c | 13 ++++++++----- + board/toradex/colibri_imx6/colibri_imx6.c | 13 ++++++++----- + board/toradex/colibri_imx7/colibri_imx7.c | 14 +++++++++----- + 4 files changed, 33 insertions(+), 20 deletions(-) + +diff --git a/board/toradex/apalis_imx6/apalis_imx6.c b/board/toradex/apalis_imx6/apalis_imx6.c +index 8d2642f25d..da6b20607d 100644 +--- a/board/toradex/apalis_imx6/apalis_imx6.c ++++ b/board/toradex/apalis_imx6/apalis_imx6.c +@@ -700,13 +700,16 @@ int board_late_init(void) + env_set("board_rev", env_str); + #endif /* CONFIG_BOARD_LATE_INIT */ + +-#ifdef CONFIG_CMD_USB_SDP +- if (is_boot_from_usb()) { +- printf("Serial Downloader recovery mode, using sdp command\n"); ++ if (IS_ENABLED(CONFIG_USB) && is_boot_from_usb()) { + env_set("bootdelay", "0"); +- env_set("bootcmd", "sdp 0"); ++ if (IS_ENABLED(CONFIG_CMD_USB_SDP)) { ++ printf("Serial Downloader recovery mode, using sdp command\n"); ++ env_set("bootcmd", "sdp 0"); ++ } else if (IS_ENABLED(CONFIG_CMD_FASTBOOT)) { ++ printf("Fastboot recovery mode, using fastboot command\n"); ++ env_set("bootcmd", "fastboot usb 0"); ++ } + } +-#endif /* CONFIG_CMD_USB_SDP */ + + return 0; + } +diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c +index ba4e0df2c2..982618e248 100644 +--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c ++++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c +@@ -187,13 +187,16 @@ int board_late_init(void) + add_board_boot_modes(board_boot_modes); + #endif + +-#ifdef CONFIG_CMD_USB_SDP +- if (is_boot_from_usb()) { +- printf("Serial Downloader recovery mode, using sdp command\n"); ++ if (IS_ENABLED(CONFIG_USB) && is_boot_from_usb()) { + env_set("bootdelay", "0"); +- env_set("bootcmd", "sdp 0"); ++ if (IS_ENABLED(CONFIG_CMD_USB_SDP)) { ++ printf("Serial Downloader recovery mode, using sdp command\n"); ++ env_set("bootcmd", "sdp 0"); ++ } else if (IS_ENABLED(CONFIG_CMD_FASTBOOT)) { ++ printf("Fastboot recovery mode, using fastboot command\n"); ++ env_set("bootcmd", "fastboot usb 0"); ++ } + } +-#endif /* CONFIG_CMD_USB_SDP */ + + #if defined(CONFIG_DM_VIDEO) + setup_lcd(); +diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c +index ab2ab587ff..923999a120 100644 +--- a/board/toradex/colibri_imx6/colibri_imx6.c ++++ b/board/toradex/colibri_imx6/colibri_imx6.c +@@ -620,13 +620,16 @@ int board_late_init(void) + env_set("board_rev", env_str); + #endif + +-#ifdef CONFIG_CMD_USB_SDP +- if (is_boot_from_usb()) { +- printf("Serial Downloader recovery mode, using sdp command\n"); ++ if (IS_ENABLED(CONFIG_USB) && is_boot_from_usb()) { + env_set("bootdelay", "0"); +- env_set("bootcmd", "sdp 0"); ++ if (IS_ENABLED(CONFIG_CMD_USB_SDP)) { ++ printf("Serial Downloader recovery mode, using sdp command\n"); ++ env_set("bootcmd", "sdp 0"); ++ } else if (IS_ENABLED(CONFIG_CMD_FASTBOOT)) { ++ printf("Fastboot recovery mode, using fastboot command\n"); ++ env_set("bootcmd", "fastboot usb 0"); ++ } + } +-#endif /* CONFIG_CMD_USB_SDP */ + + return 0; + } +diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c +index 53c0b44152..df03cf7cf3 100644 +--- a/board/toradex/colibri_imx7/colibri_imx7.c ++++ b/board/toradex/colibri_imx7/colibri_imx7.c +@@ -357,13 +357,17 @@ int board_late_init(void) + setup_lcd(); + #endif + +-#if defined(CONFIG_CMD_USB_SDP) +- if (is_boot_from_usb()) { +- printf("Serial Downloader recovery mode, using sdp command\n"); ++ if (IS_ENABLED(CONFIG_USB) && is_boot_from_usb()) { + env_set("bootdelay", "0"); +- env_set("bootcmd", "sdp 0"); ++ if (IS_ENABLED(CONFIG_CMD_USB_SDP)) { ++ printf("Serial Downloader recovery mode, using sdp command\n"); ++ env_set("bootcmd", "sdp 0"); ++ } else if (IS_ENABLED(CONFIG_CMD_FASTBOOT)) { ++ printf("Fastboot recovery mode, using fastboot command\n"); ++ env_set("bootcmd", "fastboot usb 0"); ++ } + } +-#endif ++ + if (is_emmc) + env_set("variant", "-emmc"); + else +-- +2.42.0 + |