summaryrefslogtreecommitdiff
path: root/recipes-bsp/u-boot/u-boot-toradex/0002-board-apalis-colibri-imx6-imx6ull-imx7-Add-fastboot-.patch
diff options
context:
space:
mode:
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-.patch133
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
+