All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT
@ 2021-01-27 13:46 Patrick Delaunay
  2021-01-27 13:46 ` [PATCH v2 1/4] " Patrick Delaunay
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Patrick Delaunay @ 2021-01-27 13:46 UTC (permalink / raw)
  To: u-boot


Hi,

It is a rebased V2 version of the serie [1].

This serie adds a lot of new #if and doesn't respect the last
U-Boot coding rules with 14 warnings detected by checkpatch:

  warning: Use 'if (IS_ENABLED(CONFIG...))'
           instead of '#if or #ifdef' where possible

But I chose to copy the existing code of the fastboot files
fb_command.c to a have an easier review.

So I prefer sent a patch (if it is required) to remove all the
#ifdef in this file when the serie will be accepted.

I check compilation of the added features on stm32mp1 platform
with the serie [2].

The compilation for modified boards (with already activated config
CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT) is verified with buildman:

tools/buildman/buildman mt8512_bm1_emmc mt8518_ap1_emmc pumpkin
Building current source for 3 boards (3 threads, 4 jobs per thread)
   aarch64:  w+   pumpkin
+===================== WARNING ======================
+This board does not use CONFIG_DM_ETH (Driver Model
+for Ethernet drivers). Please update the board to use
+CONFIG_DM_ETH before the v2020.07 release. Failure to
+update by the deadline may result in board removal.
+See doc/driver-model/migration.rst for more info.
+====================================================
   aarch64:  w+   mt8518_ap1_emmc
+===================== WARNING ======================
+This board does not use CONFIG_DM_ETH (Driver Model
+for Ethernet drivers). Please update the board to use
+CONFIG_DM_ETH before the v2020.07 release. Failure to
+update by the deadline may result in board removal.
+See doc/driver-model/migration.rst for more info.
+====================================================
   aarch64:  w+   mt8512_bm1_emmc
+===================== WARNING ======================
+This board does not use CONFIG_DM_ETH (Driver Model
+for Ethernet drivers). Please update the board to use
+CONFIG_DM_ETH before the v2020.07 release. Failure to
+update by the deadline may result in board removal.
+See doc/driver-model/migration.rst for more info.
+====================================================
    0    3    0 /3              0:00:07  : mt8512_bm1_emmc
Completed: 3 total built, duration 0:00:23, rate 0.13

[1] "fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT"
    http://patchwork.ozlabs.org/project/uboot/list/?series=200509&state=*

[2] "configs: stm32mp1: enable fastboot support of eMMC boot partition"
    http://patchwork.ozlabs.org/project/uboot/list/?series=200510

Regards

Patrick


Changes in v2:
- rebase on master branch
- new impact on pumpkin_defconfig and mt8512_bm1_emmc_defconfig
- new impact on pumpkin_defconfig and mt8512_bm1_emmc_defconfig

Patrick Delaunay (4):
  fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT
  fastboot: mmc: extend flash/erase for both emmc hwpart 1 and 2
  fastboot: add command to select the default emmc hwpart for boot
  fastboot: add command to select the eMMC boot configuration

 configs/mt8512_bm1_emmc_defconfig |  3 +-
 configs/mt8518_ap1_emmc_defconfig |  3 +-
 configs/pumpkin_defconfig         |  3 +-
 doc/android/fastboot.rst          |  3 ++
 drivers/fastboot/Kconfig          | 62 ++++++++++++++++++++------
 drivers/fastboot/fb_command.c     | 72 +++++++++++++++++++++++++++++++
 drivers/fastboot/fb_mmc.c         | 52 ++++++++++++++--------
 include/fastboot.h                |  6 +++
 8 files changed, 171 insertions(+), 33 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT
  2021-01-27 13:46 [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT Patrick Delaunay
@ 2021-01-27 13:46 ` Patrick Delaunay
  2021-01-27 13:46 ` [PATCH v2 2/4] fastboot: mmc: extend flash/erase for both emmc hwpart 1 and 2 Patrick Delaunay
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Patrick Delaunay @ 2021-01-27 13:46 UTC (permalink / raw)
  To: u-boot

Split userdata and boot partition support for eMMC update
and correct the description (update is supported).

The new configuration CONFIG_FASTBOOT_MMC_USER_SUPPORT
allows to activate support of userdata partition update,
based on target name=CONFIG_FASTBOOT_MMC_USER_NAME

This patch also removes the unnecessary dependency with
ARCH_MEDIATEK and EFI_PARTITION.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
---

Changes in v2:
- rebase on master branch
- new impact on pumpkin_defconfig and mt8512_bm1_emmc_defconfig

 configs/mt8512_bm1_emmc_defconfig |  1 +
 configs/mt8518_ap1_emmc_defconfig |  1 +
 configs/pumpkin_defconfig         |  1 +
 drivers/fastboot/Kconfig          | 22 +++++++++++++++++-----
 drivers/fastboot/fb_mmc.c         |  9 ++++++---
 5 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/configs/mt8512_bm1_emmc_defconfig b/configs/mt8512_bm1_emmc_defconfig
index c6b3ee484b..1bda45c5d2 100644
--- a/configs/mt8512_bm1_emmc_defconfig
+++ b/configs/mt8512_bm1_emmc_defconfig
@@ -29,6 +29,7 @@ CONFIG_FASTBOOT_BUF_SIZE=0x1e00000
 CONFIG_FASTBOOT_FLASH=y
 CONFIG_FASTBOOT_FLASH_MMC_DEV=0
 CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT=y
+CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_MMC_MTK=y
diff --git a/configs/mt8518_ap1_emmc_defconfig b/configs/mt8518_ap1_emmc_defconfig
index b95d2c683a..d5fb0ccd48 100644
--- a/configs/mt8518_ap1_emmc_defconfig
+++ b/configs/mt8518_ap1_emmc_defconfig
@@ -25,6 +25,7 @@ CONFIG_FASTBOOT_BUF_SIZE=0x1E00000
 CONFIG_FASTBOOT_FLASH=y
 CONFIG_FASTBOOT_FLASH_MMC_DEV=0
 CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT=y
+CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_MMC_MTK=y
diff --git a/configs/pumpkin_defconfig b/configs/pumpkin_defconfig
index cd77889eea..a9655f5abb 100644
--- a/configs/pumpkin_defconfig
+++ b/configs/pumpkin_defconfig
@@ -53,6 +53,7 @@ CONFIG_FASTBOOT_BUF_SIZE=0x4000000
 CONFIG_FASTBOOT_FLASH=y
 CONFIG_FASTBOOT_FLASH_MMC_DEV=0
 CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT=y
+CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
 # CONFIG_INPUT is not set
 CONFIG_DM_MMC=y
 # CONFIG_MMC_QUIRKS is not set
diff --git a/drivers/fastboot/Kconfig b/drivers/fastboot/Kconfig
index 4352ba67a7..cb8425685f 100644
--- a/drivers/fastboot/Kconfig
+++ b/drivers/fastboot/Kconfig
@@ -124,14 +124,26 @@ config FASTBOOT_MMC_BOOT1_NAME
 	  defined here.
 	  The default target name for updating EMMC_BOOT1 is "mmc0boot0".
 
+config FASTBOOT_MMC_USER_SUPPORT
+	bool "Enable eMMC userdata partition flash/erase"
+	depends on FASTBOOT_FLASH_MMC
+	help
+	  Define this to enable the support "flash" and "erase" command on
+	  eMMC userdata. The "flash" command only update the MBR and GPT
+	  header when CONFIG_EFI_PARTITION is supported.
+	  The "erase" command erase all the userdata.
+	  This occurs when the specified "partition name" on the
+	  fastboot command line matches the value CONFIG_FASTBOOT_MMC_USER_NAME.
+
 config FASTBOOT_MMC_USER_NAME
-	string "Target name for erasing EMMC_USER"
-	depends on FASTBOOT_FLASH_MMC && EFI_PARTITION && ARCH_MEDIATEK
+	string "Target name for updating EMMC_USER"
+	depends on FASTBOOT_MMC_USER_SUPPORT
 	default "mmc0"
 	help
-	  The fastboot "erase" command supports erasing EMMC_USER. This occurs
-	  when the specified "EMMC_USER name" on the "fastboot erase" commands
-	  match the value defined here.
+	  The fastboot "flash" and "erase" command supports EMMC_USER.
+	  This occurs when the specified "EMMC_USER name" on the
+	  "fastboot flash" and the "fastboot erase" commands match the value
+	  defined here.
 	  The default target name for erasing EMMC_USER is "mmc0".
 
 config FASTBOOT_GPT_NAME
diff --git a/drivers/fastboot/fb_mmc.c b/drivers/fastboot/fb_mmc.c
index 4e26cef941..b5d4c90bfc 100644
--- a/drivers/fastboot/fb_mmc.c
+++ b/drivers/fastboot/fb_mmc.c
@@ -174,7 +174,8 @@ static void write_raw_image(struct blk_desc *dev_desc,
 	fastboot_okay(NULL, response);
 }
 
-#ifdef CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT
+#if defined(CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT) || \
+	defined(CONFIG_FASTBOOT_MMC_USER_SUPPORT)
 static int fb_mmc_erase_mmc_hwpart(struct blk_desc *dev_desc)
 {
 	lbaint_t blks;
@@ -193,7 +194,9 @@ static int fb_mmc_erase_mmc_hwpart(struct blk_desc *dev_desc)
 
 	return 0;
 }
+#endif
 
+#ifdef CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT
 static void fb_mmc_boot1_ops(struct blk_desc *dev_desc, void *buffer,
 			     u32 buff_sz, char *response)
 {
@@ -473,7 +476,7 @@ void fastboot_mmc_flash_write(const char *cmd, void *download_buffer,
 #endif
 
 #if CONFIG_IS_ENABLED(EFI_PARTITION)
-#ifndef CONFIG_FASTBOOT_MMC_USER_NAME
+#ifndef CONFIG_FASTBOOT_MMC_USER_SUPPORT
 	if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
 #else
 	if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0 ||
@@ -603,7 +606,7 @@ void fastboot_mmc_erase(const char *cmd, char *response)
 	}
 #endif
 
-#ifdef CONFIG_FASTBOOT_MMC_USER_NAME
+#ifdef CONFIG_FASTBOOT_MMC_USER_SUPPORT
 	if (strcmp(cmd, CONFIG_FASTBOOT_MMC_USER_NAME) == 0) {
 		/* erase EMMC userdata */
 		if (fb_mmc_erase_mmc_hwpart(dev_desc))
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/4] fastboot: mmc: extend flash/erase for both emmc hwpart 1 and 2
  2021-01-27 13:46 [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT Patrick Delaunay
  2021-01-27 13:46 ` [PATCH v2 1/4] " Patrick Delaunay
@ 2021-01-27 13:46 ` Patrick Delaunay
  2021-01-27 13:46 ` [PATCH v2 3/4] fastboot: add command to select the default emmc hwpart for boot Patrick Delaunay
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Patrick Delaunay @ 2021-01-27 13:46 UTC (permalink / raw)
  To: u-boot

Update the code and the configs for eMMC boot and userdata
partitions acces
- FASTBOOT_MMC_BOOT_SUPPORT: boot partition 1 and 2 (erase/write)
- FASTBOOT_MMC_BOOT1_NAME: boot partition 1, default name="mmc0boot0"
- FASTBOOT_MMC_BOOT2_NAME: boot partition 2, default name="mmc0boot1"

This patch also removes the unnecessary dependency with
ARCH_MEDIATEK and EFI_PARTITION.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
---

Changes in v2:
- new impact on pumpkin_defconfig and mt8512_bm1_emmc_defconfig

 configs/mt8512_bm1_emmc_defconfig |  2 +-
 configs/mt8518_ap1_emmc_defconfig |  2 +-
 configs/pumpkin_defconfig         |  2 +-
 drivers/fastboot/Kconfig          | 26 ++++++++++++-----
 drivers/fastboot/fb_mmc.c         | 47 ++++++++++++++++++++-----------
 5 files changed, 52 insertions(+), 27 deletions(-)

diff --git a/configs/mt8512_bm1_emmc_defconfig b/configs/mt8512_bm1_emmc_defconfig
index 1bda45c5d2..d8e0e86c10 100644
--- a/configs/mt8512_bm1_emmc_defconfig
+++ b/configs/mt8512_bm1_emmc_defconfig
@@ -28,7 +28,7 @@ CONFIG_FASTBOOT_BUF_ADDR=0x56000000
 CONFIG_FASTBOOT_BUF_SIZE=0x1e00000
 CONFIG_FASTBOOT_FLASH=y
 CONFIG_FASTBOOT_FLASH_MMC_DEV=0
-CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT=y
+CONFIG_FASTBOOT_MMC_BOOT_SUPPORT=y
 CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_HS200_SUPPORT=y
diff --git a/configs/mt8518_ap1_emmc_defconfig b/configs/mt8518_ap1_emmc_defconfig
index d5fb0ccd48..2c760c1591 100644
--- a/configs/mt8518_ap1_emmc_defconfig
+++ b/configs/mt8518_ap1_emmc_defconfig
@@ -24,7 +24,7 @@ CONFIG_FASTBOOT_BUF_ADDR=0x56000000
 CONFIG_FASTBOOT_BUF_SIZE=0x1E00000
 CONFIG_FASTBOOT_FLASH=y
 CONFIG_FASTBOOT_FLASH_MMC_DEV=0
-CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT=y
+CONFIG_FASTBOOT_MMC_BOOT_SUPPORT=y
 CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_HS200_SUPPORT=y
diff --git a/configs/pumpkin_defconfig b/configs/pumpkin_defconfig
index a9655f5abb..5270ec28cb 100644
--- a/configs/pumpkin_defconfig
+++ b/configs/pumpkin_defconfig
@@ -52,7 +52,7 @@ CONFIG_FASTBOOT_BUF_ADDR=0x4d000000
 CONFIG_FASTBOOT_BUF_SIZE=0x4000000
 CONFIG_FASTBOOT_FLASH=y
 CONFIG_FASTBOOT_FLASH_MMC_DEV=0
-CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT=y
+CONFIG_FASTBOOT_MMC_BOOT_SUPPORT=y
 CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
 # CONFIG_INPUT is not set
 CONFIG_DM_MMC=y
diff --git a/drivers/fastboot/Kconfig b/drivers/fastboot/Kconfig
index cb8425685f..ef57290876 100644
--- a/drivers/fastboot/Kconfig
+++ b/drivers/fastboot/Kconfig
@@ -104,18 +104,19 @@ config FASTBOOT_FLASH_NAND_TRIMFFS
 	  When flashing NAND enable the DROP_FFS flag to drop trailing all-0xff
 	  pages.
 
-config FASTBOOT_MMC_BOOT1_SUPPORT
-	bool "Enable EMMC_BOOT1 flash/erase"
-	depends on FASTBOOT_FLASH_MMC && EFI_PARTITION && ARCH_MEDIATEK
+config FASTBOOT_MMC_BOOT_SUPPORT
+	bool "Enable EMMC_BOOT flash/erase"
+	depends on FASTBOOT_FLASH_MMC
 	help
 	  The fastboot "flash" and "erase" commands normally does operations
-	  on EMMC userdata. Define this to enable the special commands to
-	  flash/erase EMMC_BOOT1.
-	  The default target name for updating EMMC_BOOT1 is "mmc0boot0".
+	  on eMMC userdata. Define this to enable the special commands to
+	  flash/erase eMMC boot partition.
+	  The default target name for updating eMMC boot partition 1/2 is
+	  CONFIG_FASTBOOT_MMC_BOOT1_NAME/CONFIG_FASTBOOT_MMC_BOOT2_NAME.
 
 config FASTBOOT_MMC_BOOT1_NAME
 	string "Target name for updating EMMC_BOOT1"
-	depends on FASTBOOT_MMC_BOOT1_SUPPORT
+	depends on FASTBOOT_MMC_BOOT_SUPPORT
 	default "mmc0boot0"
 	help
 	  The fastboot "flash" and "erase" commands support operations on
@@ -124,6 +125,17 @@ config FASTBOOT_MMC_BOOT1_NAME
 	  defined here.
 	  The default target name for updating EMMC_BOOT1 is "mmc0boot0".
 
+config FASTBOOT_MMC_BOOT2_NAME
+	string "Target name for updating EMMC_BOOT2"
+	depends on FASTBOOT_MMC_BOOT_SUPPORT
+	default "mmc0boot1"
+	help
+	  The fastboot "flash" and "erase" commands support operations on
+	  EMMC_BOOT2. This occurs when the specified "EMMC_BOOT2 name" on
+	  the "fastboot flash" and "fastboot erase" commands match the value
+	  defined here.
+	  The default target name for updating EMMC_BOOT2 is "mmc0boot1".
+
 config FASTBOOT_MMC_USER_SUPPORT
 	bool "Enable eMMC userdata partition flash/erase"
 	depends on FASTBOOT_FLASH_MMC
diff --git a/drivers/fastboot/fb_mmc.c b/drivers/fastboot/fb_mmc.c
index b5d4c90bfc..611074a3e4 100644
--- a/drivers/fastboot/fb_mmc.c
+++ b/drivers/fastboot/fb_mmc.c
@@ -174,7 +174,7 @@ static void write_raw_image(struct blk_desc *dev_desc,
 	fastboot_okay(NULL, response);
 }
 
-#if defined(CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT) || \
+#if defined(CONFIG_FASTBOOT_MMC_BOOT_SUPPORT) || \
 	defined(CONFIG_FASTBOOT_MMC_USER_SUPPORT)
 static int fb_mmc_erase_mmc_hwpart(struct blk_desc *dev_desc)
 {
@@ -196,16 +196,16 @@ static int fb_mmc_erase_mmc_hwpart(struct blk_desc *dev_desc)
 }
 #endif
 
-#ifdef CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT
-static void fb_mmc_boot1_ops(struct blk_desc *dev_desc, void *buffer,
-			     u32 buff_sz, char *response)
+#ifdef CONFIG_FASTBOOT_MMC_BOOT_SUPPORT
+static void fb_mmc_boot_ops(struct blk_desc *dev_desc, void *buffer,
+			    int hwpart, u32 buff_sz, char *response)
 {
 	lbaint_t blkcnt;
 	lbaint_t blks;
 	unsigned long blksz;
 
-	// To operate on EMMC_BOOT1 (mmc0boot0), we first change the hwpart
-	if (blk_dselect_hwpart(dev_desc, 1)) {
+	// To operate on EMMC_BOOT1/2 (mmc0boot0/1) we first change the hwpart
+	if (blk_dselect_hwpart(dev_desc, hwpart)) {
 		pr_err("Failed to select hwpart\n");
 		fastboot_fail("Failed to select hwpart", response);
 		return;
@@ -224,21 +224,24 @@ static void fb_mmc_boot1_ops(struct blk_desc *dev_desc, void *buffer,
 			return;
 		}
 
-		debug("Start Flashing Image to EMMC_BOOT1...\n");
+		debug("Start Flashing Image to EMMC_BOOT%d...\n", hwpart);
 
 		blks = fb_mmc_blk_write(dev_desc, 0, blkcnt, buffer);
 
 		if (blks != blkcnt) {
-			pr_err("Failed to write EMMC_BOOT1\n");
-			fastboot_fail("Failed to write EMMC_BOOT1", response);
+			pr_err("Failed to write EMMC_BOOT%d\n", hwpart);
+			fastboot_fail("Failed to write EMMC_BOOT part",
+				      response);
 			return;
 		}
 
-		printf("........ wrote %lu bytes to EMMC_BOOT1\n",
-		       blkcnt * blksz);
+		printf("........ wrote %lu bytes to EMMC_BOOT%d\n",
+		       blkcnt * blksz, hwpart);
 	} else { /* erase */
 		if (fb_mmc_erase_mmc_hwpart(dev_desc)) {
-			fastboot_fail("Failed to erase EMMC_BOOT1", response);
+			pr_err("Failed to erase EMMC_BOOT%d\n", hwpart);
+			fastboot_fail("Failed to erase EMMC_BOOT part",
+				      response);
 			return;
 		}
 	}
@@ -467,10 +470,15 @@ void fastboot_mmc_flash_write(const char *cmd, void *download_buffer,
 		return;
 	}
 
-#ifdef CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT
+#ifdef CONFIG_FASTBOOT_MMC_BOOT_SUPPORT
 	if (strcmp(cmd, CONFIG_FASTBOOT_MMC_BOOT1_NAME) == 0) {
-		fb_mmc_boot1_ops(dev_desc, download_buffer,
-				 download_bytes, response);
+		fb_mmc_boot_ops(dev_desc, download_buffer, 1,
+				download_bytes, response);
+		return;
+	}
+	if (strcmp(cmd, CONFIG_FASTBOOT_MMC_BOOT2_NAME) == 0) {
+		fb_mmc_boot_ops(dev_desc, download_buffer, 2,
+				download_bytes, response);
 		return;
 	}
 #endif
@@ -598,10 +606,15 @@ void fastboot_mmc_erase(const char *cmd, char *response)
 		return;
 	}
 
-#ifdef CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT
+#ifdef CONFIG_FASTBOOT_MMC_BOOT_SUPPORT
 	if (strcmp(cmd, CONFIG_FASTBOOT_MMC_BOOT1_NAME) == 0) {
 		/* erase EMMC boot1 */
-		fb_mmc_boot1_ops(dev_desc, NULL, 0, response);
+		fb_mmc_boot_ops(dev_desc, NULL, 1, 0, response);
+		return;
+	}
+	if (strcmp(cmd, CONFIG_FASTBOOT_MMC_BOOT2_NAME) == 0) {
+		/* erase EMMC boot2 */
+		fb_mmc_boot_ops(dev_desc, NULL, 2, 0, response);
 		return;
 	}
 #endif
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 3/4] fastboot: add command to select the default emmc hwpart for boot
  2021-01-27 13:46 [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT Patrick Delaunay
  2021-01-27 13:46 ` [PATCH v2 1/4] " Patrick Delaunay
  2021-01-27 13:46 ` [PATCH v2 2/4] fastboot: mmc: extend flash/erase for both emmc hwpart 1 and 2 Patrick Delaunay
@ 2021-01-27 13:46 ` Patrick Delaunay
  2021-01-27 13:46 ` [PATCH v2 4/4] fastboot: add command to select the eMMC boot configuration Patrick Delaunay
  2021-01-27 16:36 ` [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT Sean Anderson
  4 siblings, 0 replies; 7+ messages in thread
From: Patrick Delaunay @ 2021-01-27 13:46 UTC (permalink / raw)
  To: u-boot

Add fastboot command oem partconf which executes the command
``mmc partconf <id> <arg> 0`` on the current <id> mmc device
to configure the eMMC boot partition with
<arg>: boot_ack boot_partition, so the command is:

$> fastboot oem partconf:<boot_ack> <boot_partition>

The partition_access argument is forced to 0 (userdata)

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
---

(no changes since v1)

 doc/android/fastboot.rst      |  2 ++
 drivers/fastboot/Kconfig      |  7 +++++++
 drivers/fastboot/fb_command.c | 36 +++++++++++++++++++++++++++++++++++
 include/fastboot.h            |  3 +++
 4 files changed, 48 insertions(+)

diff --git a/doc/android/fastboot.rst b/doc/android/fastboot.rst
index 2877c3cbaa..d8cb64261c 100644
--- a/doc/android/fastboot.rst
+++ b/doc/android/fastboot.rst
@@ -23,6 +23,8 @@ The current implementation supports the following standard commands:
 The following OEM commands are supported (if enabled):
 
 - ``oem format`` - this executes ``gpt write mmc %x $partitions``
+- ``oem partconf`` - this executes ``mmc partconf %x <arg> 0`` to configure eMMC
+  with <arg> = boot_ack boot_partition
 
 Support for both eMMC and NAND devices is included.
 
diff --git a/drivers/fastboot/Kconfig b/drivers/fastboot/Kconfig
index ef57290876..9bd5597253 100644
--- a/drivers/fastboot/Kconfig
+++ b/drivers/fastboot/Kconfig
@@ -189,6 +189,13 @@ config FASTBOOT_CMD_OEM_FORMAT
 	  relies on the env variable partitions to contain the list of
 	  partitions as required by the gpt command.
 
+config FASTBOOT_CMD_OEM_PARTCONF
+	bool "Enable the 'oem partconf' command"
+	depends on FASTBOOT_FLASH_MMC && SUPPORT_EMMC_BOOT
+	help
+	  Add support for the "oem partconf" command from a client. This set
+	  the mmc boot-partition for the selecting eMMC device.
+
 config FASTBOOT_USE_BCB_SET_REBOOT_FLAG
 	bool "Use BCB by fastboot to set boot reason"
 	depends on CMD_BCB && !ARCH_MESON && !ARCH_ROCKCHIP && !TARGET_KC1 && \
diff --git a/drivers/fastboot/fb_command.c b/drivers/fastboot/fb_command.c
index d3c578672d..ae4a7dc7fb 100644
--- a/drivers/fastboot/fb_command.c
+++ b/drivers/fastboot/fb_command.c
@@ -42,6 +42,9 @@ static void reboot_recovery(char *, char *);
 #if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_FORMAT)
 static void oem_format(char *, char *);
 #endif
+#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF)
+static void oem_partconf(char *, char *);
+#endif
 
 static const struct {
 	const char *command;
@@ -99,6 +102,12 @@ static const struct {
 		.dispatch = oem_format,
 	},
 #endif
+#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF)
+	[FASTBOOT_COMMAND_OEM_PARTCONF] = {
+		.command = "oem partconf",
+		.dispatch = oem_partconf,
+	},
+#endif
 };
 
 /**
@@ -374,3 +383,30 @@ static void oem_format(char *cmd_parameter, char *response)
 	}
 }
 #endif
+
+#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF)
+/**
+ * oem_partconf() - Execute the OEM partconf command
+ *
+ * @cmd_parameter: Pointer to command parameter
+ * @response: Pointer to fastboot response buffer
+ */
+static void oem_partconf(char *cmd_parameter, char *response)
+{
+	char cmdbuf[32];
+
+	if (!cmd_parameter) {
+		fastboot_fail("Expected command parameter", response);
+		return;
+	}
+
+	/* execute 'mmc partconfg' command with cmd_parameter arguments*/
+	snprintf(cmdbuf, sizeof(cmdbuf), "mmc partconf %x %s 0",
+		 CONFIG_FASTBOOT_FLASH_MMC_DEV, cmd_parameter);
+	printf("Execute: %s\n", cmdbuf);
+	if (run_command(cmdbuf, 0))
+		fastboot_fail("Cannot set oem partconf", response);
+	else
+		fastboot_okay(NULL, response);
+}
+#endif
diff --git a/include/fastboot.h b/include/fastboot.h
index 8e9ee80907..86559d1595 100644
--- a/include/fastboot.h
+++ b/include/fastboot.h
@@ -38,6 +38,9 @@ enum {
 #if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_FORMAT)
 	FASTBOOT_COMMAND_OEM_FORMAT,
 #endif
+#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF)
+	FASTBOOT_COMMAND_OEM_PARTCONF,
+#endif
 
 	FASTBOOT_COMMAND_COUNT
 };
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 4/4] fastboot: add command to select the eMMC boot configuration
  2021-01-27 13:46 [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT Patrick Delaunay
                   ` (2 preceding siblings ...)
  2021-01-27 13:46 ` [PATCH v2 3/4] fastboot: add command to select the default emmc hwpart for boot Patrick Delaunay
@ 2021-01-27 13:46 ` Patrick Delaunay
  2021-01-27 16:36 ` [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT Sean Anderson
  4 siblings, 0 replies; 7+ messages in thread
From: Patrick Delaunay @ 2021-01-27 13:46 UTC (permalink / raw)
  To: u-boot

Add command oem bootbus which executes the command
``mmc bootbus <id> <arg>`` on the current fastboot mmc device
(<i> = CONFIG_FASTBOOT_FLASH_MMC_DEV) to set the eMMC boot
configuration on first update, with
<arg> =  boot_bus_width reset_boot_bus_width boot_mode

$> fastboot oem bootbus:<boot_bus_width> <reset_boot_bus_width> <boot_mode>

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
---

(no changes since v1)

 doc/android/fastboot.rst      |  1 +
 drivers/fastboot/Kconfig      |  7 +++++++
 drivers/fastboot/fb_command.c | 36 +++++++++++++++++++++++++++++++++++
 include/fastboot.h            |  3 +++
 4 files changed, 47 insertions(+)

diff --git a/doc/android/fastboot.rst b/doc/android/fastboot.rst
index d8cb64261c..16b11399b3 100644
--- a/doc/android/fastboot.rst
+++ b/doc/android/fastboot.rst
@@ -25,6 +25,7 @@ The following OEM commands are supported (if enabled):
 - ``oem format`` - this executes ``gpt write mmc %x $partitions``
 - ``oem partconf`` - this executes ``mmc partconf %x <arg> 0`` to configure eMMC
   with <arg> = boot_ack boot_partition
+- ``oem bootbus``  - this executes ``mmc bootbus %x %s`` to configure eMMC
 
 Support for both eMMC and NAND devices is included.
 
diff --git a/drivers/fastboot/Kconfig b/drivers/fastboot/Kconfig
index 9bd5597253..5f2e109759 100644
--- a/drivers/fastboot/Kconfig
+++ b/drivers/fastboot/Kconfig
@@ -196,6 +196,13 @@ config FASTBOOT_CMD_OEM_PARTCONF
 	  Add support for the "oem partconf" command from a client. This set
 	  the mmc boot-partition for the selecting eMMC device.
 
+config FASTBOOT_CMD_OEM_BOOTBUS
+	bool "Enable the 'oem bootbus' command"
+	depends on FASTBOOT_FLASH_MMC && SUPPORT_EMMC_BOOT
+	help
+	  Add support for the "oem bootbus" command from a client. This set
+	  the mmc boot configuration for the selecting eMMC device.
+
 config FASTBOOT_USE_BCB_SET_REBOOT_FLAG
 	bool "Use BCB by fastboot to set boot reason"
 	depends on CMD_BCB && !ARCH_MESON && !ARCH_ROCKCHIP && !TARGET_KC1 && \
diff --git a/drivers/fastboot/fb_command.c b/drivers/fastboot/fb_command.c
index ae4a7dc7fb..41fc8d7904 100644
--- a/drivers/fastboot/fb_command.c
+++ b/drivers/fastboot/fb_command.c
@@ -45,6 +45,9 @@ static void oem_format(char *, char *);
 #if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF)
 static void oem_partconf(char *, char *);
 #endif
+#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_BOOTBUS)
+static void oem_bootbus(char *, char *);
+#endif
 
 static const struct {
 	const char *command;
@@ -108,6 +111,12 @@ static const struct {
 		.dispatch = oem_partconf,
 	},
 #endif
+#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_BOOTBUS)
+	[FASTBOOT_COMMAND_OEM_BOOTBUS] = {
+		.command = "oem bootbus",
+		.dispatch = oem_bootbus,
+	},
+#endif
 };
 
 /**
@@ -410,3 +419,30 @@ static void oem_partconf(char *cmd_parameter, char *response)
 		fastboot_okay(NULL, response);
 }
 #endif
+
+#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_BOOTBUS)
+/**
+ * oem_bootbus() - Execute the OEM bootbus command
+ *
+ * @cmd_parameter: Pointer to command parameter
+ * @response: Pointer to fastboot response buffer
+ */
+static void oem_bootbus(char *cmd_parameter, char *response)
+{
+	char cmdbuf[32];
+
+	if (!cmd_parameter) {
+		fastboot_fail("Expected command parameter", response);
+		return;
+	}
+
+	/* execute 'mmc bootbus' command with cmd_parameter arguments*/
+	snprintf(cmdbuf, sizeof(cmdbuf), "mmc bootbus %x %s",
+		 CONFIG_FASTBOOT_FLASH_MMC_DEV, cmd_parameter);
+	printf("Execute: %s\n", cmdbuf);
+	if (run_command(cmdbuf, 0))
+		fastboot_fail("Cannot set oem bootbus", response);
+	else
+		fastboot_okay(NULL, response);
+}
+#endif
diff --git a/include/fastboot.h b/include/fastboot.h
index 86559d1595..3df7e6b81f 100644
--- a/include/fastboot.h
+++ b/include/fastboot.h
@@ -41,6 +41,9 @@ enum {
 #if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF)
 	FASTBOOT_COMMAND_OEM_PARTCONF,
 #endif
+#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_BOOTBUS)
+	FASTBOOT_COMMAND_OEM_BOOTBUS,
+#endif
 
 	FASTBOOT_COMMAND_COUNT
 };
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT
  2021-01-27 13:46 [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT Patrick Delaunay
                   ` (3 preceding siblings ...)
  2021-01-27 13:46 ` [PATCH v2 4/4] fastboot: add command to select the eMMC boot configuration Patrick Delaunay
@ 2021-01-27 16:36 ` Sean Anderson
  2021-02-01 15:55   ` Sean Anderson
  4 siblings, 1 reply; 7+ messages in thread
From: Sean Anderson @ 2021-01-27 16:36 UTC (permalink / raw)
  To: u-boot

Hi Patrick,

I believe that the first two patches in this series can be replicated
with [1]. For example, if you currently use FASTBOOT_MMC_BOOT_SUPPORT
with FASTBOOT_MMC_BOOT1_NAME set to "mmc0boot1", leading to commands
like

$ fastboot erase mmc0boot1

You could instead do

$ fastboot erase 0.1:0

And the first behavior could be emulated by setting the environmental
variable "fastboot_partition_alias_mmc0boot1" to "0.1:0".

I would like to work towards deprecating Kconfigs for achieving this
particular use case. This is because everything is set at compile-time,
but we have existing tools which make this easy to do at run-time.
Favoring run-time configuration makes it easier to use one U-Boot for
different boards, and also makes it easier for users to modify U-Boot.

For the latter two patches, I think there are two existing solutions.
First, there is the patch to add "ucmd" support to fastboot. This allows
running arbitrary commands on the U-Boot side. However, this may be
unsuitable for systems which need to maintain a chain of trust (since
allowing arbitrary commands would allow arbitrary software to run).

With this in mind, FIT images allow for script sections. For example,
one could create an image tree source file like

/dts-v1/;

/ {
	description = "Configuration script";
	#address-cells = <1>;

	images {
		default = "script-1";
		script-1 {
			data = /incbin/("mmc.scr");
			type = "script";
			compression = "none";
			signature {
				algo = "sha1,rsa2048";
				key-name-hint = "dev";
			};
		};
	};
};

(or something similar; I haven't tested this). This would create a fit
with containing "mmc.scr". On the U-Boot side, running

fastboot 0
source

Would source any script contained within the FIT image (if it was
downloaded e.g. with "fastboot boot mmc.itb". I think this process would
work well for "run once" scripts like setting the mmc boot partitions.

Please let me know if any of the above suggestions would achieve the
functionality you need.

--Sean

[1] https://patchwork.ozlabs.org/project/uboot/list/?series=223198
[2] https://patchwork.ozlabs.org/project/uboot/patch/20210111101919.228555-1-hs at denx.de/

On 1/27/21 8:46 AM, Patrick Delaunay wrote:
> 
> Hi,
> 
> It is a rebased V2 version of the serie [1].
> 
> This serie adds a lot of new #if and doesn't respect the last
> U-Boot coding rules with 14 warnings detected by checkpatch:
> 
>    warning: Use 'if (IS_ENABLED(CONFIG...))'
>             instead of '#if or #ifdef' where possible
> 
> But I chose to copy the existing code of the fastboot files
> fb_command.c to a have an easier review.
> 
> So I prefer sent a patch (if it is required) to remove all the
> #ifdef in this file when the serie will be accepted.
> 
> I check compilation of the added features on stm32mp1 platform
> with the serie [2].
> 
> The compilation for modified boards (with already activated config
> CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT) is verified with buildman:
> 
> tools/buildman/buildman mt8512_bm1_emmc mt8518_ap1_emmc pumpkin
> Building current source for 3 boards (3 threads, 4 jobs per thread)
>     aarch64:  w+   pumpkin
> +===================== WARNING ======================
> +This board does not use CONFIG_DM_ETH (Driver Model
> +for Ethernet drivers). Please update the board to use
> +CONFIG_DM_ETH before the v2020.07 release. Failure to
> +update by the deadline may result in board removal.
> +See doc/driver-model/migration.rst for more info.
> +====================================================
>     aarch64:  w+   mt8518_ap1_emmc
> +===================== WARNING ======================
> +This board does not use CONFIG_DM_ETH (Driver Model
> +for Ethernet drivers). Please update the board to use
> +CONFIG_DM_ETH before the v2020.07 release. Failure to
> +update by the deadline may result in board removal.
> +See doc/driver-model/migration.rst for more info.
> +====================================================
>     aarch64:  w+   mt8512_bm1_emmc
> +===================== WARNING ======================
> +This board does not use CONFIG_DM_ETH (Driver Model
> +for Ethernet drivers). Please update the board to use
> +CONFIG_DM_ETH before the v2020.07 release. Failure to
> +update by the deadline may result in board removal.
> +See doc/driver-model/migration.rst for more info.
> +====================================================
>      0    3    0 /3              0:00:07  : mt8512_bm1_emmc
> Completed: 3 total built, duration 0:00:23, rate 0.13
> 
> [1] "fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT"
>      http://patchwork.ozlabs.org/project/uboot/list/?series=200509&state=*
> 
> [2] "configs: stm32mp1: enable fastboot support of eMMC boot partition"
>      http://patchwork.ozlabs.org/project/uboot/list/?series=200510
> 
> Regards
> 
> Patrick
> 
> 
> Changes in v2:
> - rebase on master branch
> - new impact on pumpkin_defconfig and mt8512_bm1_emmc_defconfig
> - new impact on pumpkin_defconfig and mt8512_bm1_emmc_defconfig
> 
> Patrick Delaunay (4):
>    fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT
>    fastboot: mmc: extend flash/erase for both emmc hwpart 1 and 2
>    fastboot: add command to select the default emmc hwpart for boot
>    fastboot: add command to select the eMMC boot configuration
> 
>   configs/mt8512_bm1_emmc_defconfig |  3 +-
>   configs/mt8518_ap1_emmc_defconfig |  3 +-
>   configs/pumpkin_defconfig         |  3 +-
>   doc/android/fastboot.rst          |  3 ++
>   drivers/fastboot/Kconfig          | 62 ++++++++++++++++++++------
>   drivers/fastboot/fb_command.c     | 72 +++++++++++++++++++++++++++++++
>   drivers/fastboot/fb_mmc.c         | 52 ++++++++++++++--------
>   include/fastboot.h                |  6 +++
>   8 files changed, 171 insertions(+), 33 deletions(-)
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT
  2021-01-27 16:36 ` [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT Sean Anderson
@ 2021-02-01 15:55   ` Sean Anderson
  0 siblings, 0 replies; 7+ messages in thread
From: Sean Anderson @ 2021-02-01 15:55 UTC (permalink / raw)
  To: u-boot

Looks like I didn't CC people properly...

On 1/27/21 11:36 AM, Sean Anderson wrote:
> Hi Patrick,
> 
> I believe that the first two patches in this series can be replicated
> with [1]. For example, if you currently use FASTBOOT_MMC_BOOT_SUPPORT
> with FASTBOOT_MMC_BOOT1_NAME set to "mmc0boot1", leading to commands
> like
> 
> $ fastboot erase mmc0boot1
> 
> You could instead do
> 
> $ fastboot erase 0.1:0
> 
> And the first behavior could be emulated by setting the environmental
> variable "fastboot_partition_alias_mmc0boot1" to "0.1:0".
> 
> I would like to work towards deprecating Kconfigs for achieving this
> particular use case. This is because everything is set at compile-time,
> but we have existing tools which make this easy to do at run-time.
> Favoring run-time configuration makes it easier to use one U-Boot for
> different boards, and also makes it easier for users to modify U-Boot.
> 
> For the latter two patches, I think there are two existing solutions.
> First, there is the patch to add "ucmd" support to fastboot. This allows
> running arbitrary commands on the U-Boot side. However, this may be
> unsuitable for systems which need to maintain a chain of trust (since
> allowing arbitrary commands would allow arbitrary software to run).
> 
> With this in mind, FIT images allow for script sections. For example,
> one could create an image tree source file like
> 
> /dts-v1/;
> 
> / {
>  ????description = "Configuration script";
>  ????#address-cells = <1>;
> 
>  ????images {
>  ??????? default = "script-1";
>  ??????? script-1 {
>  ??????????? data = /incbin/("mmc.scr");
>  ??????????? type = "script";
>  ??????????? compression = "none";
>  ??????????? signature {
>  ??????????????? algo = "sha1,rsa2048";
>  ??????????????? key-name-hint = "dev";
>  ??????????? };
>  ??????? };
>  ????};
> };
> 
> (or something similar; I haven't tested this). This would create a fit
> with containing "mmc.scr". On the U-Boot side, running
> 
> fastboot 0
> source
> 
> Would source any script contained within the FIT image (if it was
> downloaded e.g. with "fastboot boot mmc.itb". I think this process would
> work well for "run once" scripts like setting the mmc boot partitions.
> 
> Please let me know if any of the above suggestions would achieve the
> functionality you need.
> 
> --Sean
> 
> [1] https://patchwork.ozlabs.org/project/uboot/list/?series=223198
> [2] https://patchwork.ozlabs.org/project/uboot/patch/20210111101919.228555-1-hs at denx.de/
> 
> On 1/27/21 8:46 AM, Patrick Delaunay wrote:
>>
>> Hi,
>>
>> It is a rebased V2 version of the serie [1].
>>
>> This serie adds a lot of new #if and doesn't respect the last
>> U-Boot coding rules with 14 warnings detected by checkpatch:
>>
>> ?? warning: Use 'if (IS_ENABLED(CONFIG...))'
>> ??????????? instead of '#if or #ifdef' where possible
>>
>> But I chose to copy the existing code of the fastboot files
>> fb_command.c to a have an easier review.
>>
>> So I prefer sent a patch (if it is required) to remove all the
>> #ifdef in this file when the serie will be accepted.
>>
>> I check compilation of the added features on stm32mp1 platform
>> with the serie [2].
>>
>> The compilation for modified boards (with already activated config
>> CONFIG_FASTBOOT_MMC_BOOT1_SUPPORT) is verified with buildman:
>>
>> tools/buildman/buildman mt8512_bm1_emmc mt8518_ap1_emmc pumpkin
>> Building current source for 3 boards (3 threads, 4 jobs per thread)
>> ??? aarch64:? w+?? pumpkin
>> +===================== WARNING ======================
>> +This board does not use CONFIG_DM_ETH (Driver Model
>> +for Ethernet drivers). Please update the board to use
>> +CONFIG_DM_ETH before the v2020.07 release. Failure to
>> +update by the deadline may result in board removal.
>> +See doc/driver-model/migration.rst for more info.
>> +====================================================
>> ??? aarch64:? w+?? mt8518_ap1_emmc
>> +===================== WARNING ======================
>> +This board does not use CONFIG_DM_ETH (Driver Model
>> +for Ethernet drivers). Please update the board to use
>> +CONFIG_DM_ETH before the v2020.07 release. Failure to
>> +update by the deadline may result in board removal.
>> +See doc/driver-model/migration.rst for more info.
>> +====================================================
>> ??? aarch64:? w+?? mt8512_bm1_emmc
>> +===================== WARNING ======================
>> +This board does not use CONFIG_DM_ETH (Driver Model
>> +for Ethernet drivers). Please update the board to use
>> +CONFIG_DM_ETH before the v2020.07 release. Failure to
>> +update by the deadline may result in board removal.
>> +See doc/driver-model/migration.rst for more info.
>> +====================================================
>> ???? 0??? 3??? 0 /3????????????? 0:00:07? : mt8512_bm1_emmc
>> Completed: 3 total built, duration 0:00:23, rate 0.13
>>
>> [1] "fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT"
>> ???? http://patchwork.ozlabs.org/project/uboot/list/?series=200509&state=*
>>
>> [2] "configs: stm32mp1: enable fastboot support of eMMC boot partition"
>> ???? http://patchwork.ozlabs.org/project/uboot/list/?series=200510
>>
>> Regards
>>
>> Patrick
>>
>>
>> Changes in v2:
>> - rebase on master branch
>> - new impact on pumpkin_defconfig and mt8512_bm1_emmc_defconfig
>> - new impact on pumpkin_defconfig and mt8512_bm1_emmc_defconfig
>>
>> Patrick Delaunay (4):
>> ?? fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT
>> ?? fastboot: mmc: extend flash/erase for both emmc hwpart 1 and 2
>> ?? fastboot: add command to select the default emmc hwpart for boot
>> ?? fastboot: add command to select the eMMC boot configuration
>>
>> ? configs/mt8512_bm1_emmc_defconfig |? 3 +-
>> ? configs/mt8518_ap1_emmc_defconfig |? 3 +-
>> ? configs/pumpkin_defconfig???????? |? 3 +-
>> ? doc/android/fastboot.rst????????? |? 3 ++
>> ? drivers/fastboot/Kconfig????????? | 62 ++++++++++++++++++++------
>> ? drivers/fastboot/fb_command.c???? | 72 +++++++++++++++++++++++++++++++
>> ? drivers/fastboot/fb_mmc.c???????? | 52 ++++++++++++++--------
>> ? include/fastboot.h??????????????? |? 6 +++
>> ? 8 files changed, 171 insertions(+), 33 deletions(-)
>>
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-02-01 15:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-27 13:46 [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT Patrick Delaunay
2021-01-27 13:46 ` [PATCH v2 1/4] " Patrick Delaunay
2021-01-27 13:46 ` [PATCH v2 2/4] fastboot: mmc: extend flash/erase for both emmc hwpart 1 and 2 Patrick Delaunay
2021-01-27 13:46 ` [PATCH v2 3/4] fastboot: add command to select the default emmc hwpart for boot Patrick Delaunay
2021-01-27 13:46 ` [PATCH v2 4/4] fastboot: add command to select the eMMC boot configuration Patrick Delaunay
2021-01-27 16:36 ` [PATCH v2 0/4] fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORT Sean Anderson
2021-02-01 15:55   ` Sean Anderson

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.