* [PATCH 0/2] Add more support for NXP's mfgtool
@ 2021-12-17 15:41 Angus Ainslie
2021-12-17 15:41 ` [PATCH 1/2] fastboot: fb_getvar: Add getvar_logical_blocksize for MXP mfgtool Angus Ainslie
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Angus Ainslie @ 2021-12-17 15:41 UTC (permalink / raw)
To: u-boot
Cc: Sean Anderson, Simon Glass, Oleh Kravchenko, Patrick Delaunay,
Roman Stratiienko, Marek Szyprowski, Angus Ainslie
NXP's mfgtool needs some additional switches to deal with the whole
mmc device.
Angus Ainslie (2):
fastboot: fb_getvar: Add getvar_logical_blocksize for MXP mfgtool
fastboot: fb_mmc: Add mfgtool all partition size
drivers/fastboot/fb_getvar.c | 27 +++++++++++++++++++++++++++
drivers/fastboot/fb_mmc.c | 7 +++++++
2 files changed, 34 insertions(+)
--
2.25.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] fastboot: fb_getvar: Add getvar_logical_blocksize for MXP mfgtool
2021-12-17 15:41 [PATCH 0/2] Add more support for NXP's mfgtool Angus Ainslie
@ 2021-12-17 15:41 ` Angus Ainslie
2021-12-17 23:10 ` Sean Anderson
2021-12-17 15:42 ` [PATCH 2/2] fastboot: fb_mmc: Add mfgtool all partition size Angus Ainslie
2021-12-18 8:44 ` [PATCH 0/2] Add more support for NXP's mfgtool Oleh Kravchenko
2 siblings, 1 reply; 9+ messages in thread
From: Angus Ainslie @ 2021-12-17 15:41 UTC (permalink / raw)
To: u-boot
Cc: Sean Anderson, Simon Glass, Oleh Kravchenko, Patrick Delaunay,
Roman Stratiienko, Marek Szyprowski, Angus Ainslie
uuu uses the blocksize to determine the upload size
Signed-off-by: Angus Ainslie <angus@akkea.ca>
---
drivers/fastboot/fb_getvar.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/drivers/fastboot/fb_getvar.c b/drivers/fastboot/fb_getvar.c
index d43f2cfee6..ff5f0d3d40 100644
--- a/drivers/fastboot/fb_getvar.c
+++ b/drivers/fastboot/fb_getvar.c
@@ -31,6 +31,7 @@ static void getvar_partition_type(char *part_name, char *response);
static void getvar_partition_size(char *part_name, char *response);
#endif
static void getvar_is_userspace(char *var_parameter, char *response);
+static void getvar_logical_blocksize(char *var_parameter, char *response);
static const struct {
const char *variable;
@@ -81,6 +82,9 @@ static const struct {
}, {
.variable = "is-userspace",
.dispatch = getvar_is_userspace
+ }, {
+ .variable = "logical-block-size",
+ .dispatch = getvar_logical_blocksize
}
};
@@ -140,6 +144,29 @@ static void getvar_downloadsize(char *var_parameter, char *response)
fastboot_response("OKAY", response, "0x%08x", fastboot_buf_size);
}
+static int fb_get_block_size(void)
+{
+ int dev_no = 0;
+ struct blk_desc *dev_desc;
+
+ dev_desc = blk_get_dev("mmc", 0);
+
+ if (!dev_desc) {
+ printf("** Block device %s %d not supported\n",
+ "mmc", 0);
+ return 0;
+ }
+ return dev_desc->blksz;
+}
+
+static void getvar_logical_blocksize(char *var_parameter, char *response)
+{
+ u32 blksz;
+
+ blksz = fb_get_block_size();
+ fastboot_response("OKAY", response, "0x%08x", blksz);
+}
+
static void getvar_serialno(char *var_parameter, char *response)
{
const char *tmp = env_get("serial#");
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] fastboot: fb_mmc: Add mfgtool all partition size
2021-12-17 15:41 [PATCH 0/2] Add more support for NXP's mfgtool Angus Ainslie
2021-12-17 15:41 ` [PATCH 1/2] fastboot: fb_getvar: Add getvar_logical_blocksize for MXP mfgtool Angus Ainslie
@ 2021-12-17 15:42 ` Angus Ainslie
2021-12-17 23:02 ` Sean Anderson
2021-12-18 8:44 ` [PATCH 0/2] Add more support for NXP's mfgtool Oleh Kravchenko
2 siblings, 1 reply; 9+ messages in thread
From: Angus Ainslie @ 2021-12-17 15:42 UTC (permalink / raw)
To: u-boot
Cc: Sean Anderson, Simon Glass, Oleh Kravchenko, Patrick Delaunay,
Roman Stratiienko, Marek Szyprowski, Angus Ainslie
NXP mfgtool uses all to specify the entire partition
Signed-off-by: Angus Ainslie <angus@akkea.ca>
---
drivers/fastboot/fb_mmc.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/fastboot/fb_mmc.c b/drivers/fastboot/fb_mmc.c
index 2738dc836e..9ebf392252 100644
--- a/drivers/fastboot/fb_mmc.c
+++ b/drivers/fastboot/fb_mmc.c
@@ -84,6 +84,13 @@ static int do_get_part_info(struct blk_desc **dev_desc, const char *name,
/* First try partition names on the default device */
*dev_desc = blk_get_dev("mmc", CONFIG_FASTBOOT_FLASH_MMC_DEV);
if (*dev_desc) {
+ if (!strncmp(name, "all", strlen("all"))) {
+ info->blksz = (*dev_desc)->blksz;
+ info->size = (*dev_desc)->lba;
+ info->start = 0;
+ return 0;
+ }
+
ret = part_get_info_by_name(*dev_desc, name, info);
if (ret >= 0)
return ret;
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] fastboot: fb_mmc: Add mfgtool all partition size
2021-12-17 15:42 ` [PATCH 2/2] fastboot: fb_mmc: Add mfgtool all partition size Angus Ainslie
@ 2021-12-17 23:02 ` Sean Anderson
0 siblings, 0 replies; 9+ messages in thread
From: Sean Anderson @ 2021-12-17 23:02 UTC (permalink / raw)
To: Angus Ainslie, u-boot
Cc: Sean Anderson, Simon Glass, Oleh Kravchenko, Patrick Delaunay,
Roman Stratiienko, Marek Szyprowski
On 12/17/21 10:42 AM, Angus Ainslie wrote:
> NXP mfgtool uses all to specify the entire partition
>
> Signed-off-by: Angus Ainslie <angus@akkea.ca>
> ---
> drivers/fastboot/fb_mmc.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/fastboot/fb_mmc.c b/drivers/fastboot/fb_mmc.c
> index 2738dc836e..9ebf392252 100644
> --- a/drivers/fastboot/fb_mmc.c
> +++ b/drivers/fastboot/fb_mmc.c
> @@ -84,6 +84,13 @@ static int do_get_part_info(struct blk_desc **dev_desc, const char *name,
> /* First try partition names on the default device */
> *dev_desc = blk_get_dev("mmc", CONFIG_FASTBOOT_FLASH_MMC_DEV);
> if (*dev_desc) {
> + if (!strncmp(name, "all", strlen("all"))) {
> + info->blksz = (*dev_desc)->blksz;
> + info->size = (*dev_desc)->lba;
> + info->start = 0;
> + return 0;
> + }
> +
> ret = part_get_info_by_name(*dev_desc, name, info);
> if (ret >= 0)
> return ret;
>
This can be done with "partition" 0. If you need compatibility, use an alias.
--Sean
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] fastboot: fb_getvar: Add getvar_logical_blocksize for MXP mfgtool
2021-12-17 15:41 ` [PATCH 1/2] fastboot: fb_getvar: Add getvar_logical_blocksize for MXP mfgtool Angus Ainslie
@ 2021-12-17 23:10 ` Sean Anderson
2021-12-19 15:25 ` Angus Ainslie
0 siblings, 1 reply; 9+ messages in thread
From: Sean Anderson @ 2021-12-17 23:10 UTC (permalink / raw)
To: Angus Ainslie, u-boot
Cc: Sean Anderson, Simon Glass, Oleh Kravchenko, Patrick Delaunay,
Roman Stratiienko, Marek Szyprowski
Hi Angus,
On 12/17/21 10:41 AM, Angus Ainslie wrote:
> uuu uses the blocksize to determine the upload size
Can you please elaborate on this more?
>
> Signed-off-by: Angus Ainslie <angus@akkea.ca>
> ---
> drivers/fastboot/fb_getvar.c | 27 +++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/drivers/fastboot/fb_getvar.c b/drivers/fastboot/fb_getvar.c
> index d43f2cfee6..ff5f0d3d40 100644
> --- a/drivers/fastboot/fb_getvar.c
> +++ b/drivers/fastboot/fb_getvar.c
> @@ -31,6 +31,7 @@ static void getvar_partition_type(char *part_name, char *response);
> static void getvar_partition_size(char *part_name, char *response);
> #endif
> static void getvar_is_userspace(char *var_parameter, char *response);
> +static void getvar_logical_blocksize(char *var_parameter, char *response);
>
> static const struct {
> const char *variable;
> @@ -81,6 +82,9 @@ static const struct {
> }, {
> .variable = "is-userspace",
> .dispatch = getvar_is_userspace
> + }, {
> + .variable = "logical-block-size",
> + .dispatch = getvar_logical_blocksize
> }
> };
>
> @@ -140,6 +144,29 @@ static void getvar_downloadsize(char *var_parameter, char *response)
> fastboot_response("OKAY", response, "0x%08x", fastboot_buf_size);
> }
>
> +static int fb_get_block_size(void)
> +{
> + int dev_no = 0;
> + struct blk_desc *dev_desc;
> +
> + dev_desc = blk_get_dev("mmc", 0);
And what if your block device is not mmc 0? This code is not specific to fastboot mmc. What about nand?
> +
> + if (!dev_desc) {
> + printf("** Block device %s %d not supported\n",
> + "mmc", 0);
> + return 0;
Why return 0? This should result in an error fastboot_response.
> + }
> + return dev_desc->blksz;
> +}
> +
> +static void getvar_logical_blocksize(char *var_parameter, char *response)
> +{
> + u32 blksz;
> +
> + blksz = fb_get_block_size();
> + fastboot_response("OKAY", response, "0x%08x", blksz);
Can we combine these functions?
--Sean
> +}
> +
> static void getvar_serialno(char *var_parameter, char *response)
> {
> const char *tmp = env_get("serial#");
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/2] Add more support for NXP's mfgtool
2021-12-17 15:41 [PATCH 0/2] Add more support for NXP's mfgtool Angus Ainslie
2021-12-17 15:41 ` [PATCH 1/2] fastboot: fb_getvar: Add getvar_logical_blocksize for MXP mfgtool Angus Ainslie
2021-12-17 15:42 ` [PATCH 2/2] fastboot: fb_mmc: Add mfgtool all partition size Angus Ainslie
@ 2021-12-18 8:44 ` Oleh Kravchenko
2021-12-18 14:34 ` Angus Ainslie
2 siblings, 1 reply; 9+ messages in thread
From: Oleh Kravchenko @ 2021-12-18 8:44 UTC (permalink / raw)
To: Angus Ainslie
Cc: u-boot, Sean Anderson, Simon Glass, Patrick Delaunay,
Roman Stratiienko, Marek Szyprowski
Hello Angus!
What is the use-case for these patches?
Would you mind defining why the current implementation is not enough?
Used like that:
> FB: flash -raw2sparse mmc0 emmc.wic
> 17 груд. 2021 р. о 17:41 Angus Ainslie <angus@akkea.ca> написав(ла):
>
> NXP's mfgtool needs some additional switches to deal with the whole
> mmc device.
>
> Angus Ainslie (2):
> fastboot: fb_getvar: Add getvar_logical_blocksize for MXP mfgtool
> fastboot: fb_mmc: Add mfgtool all partition size
>
> drivers/fastboot/fb_getvar.c | 27 +++++++++++++++++++++++++++
> drivers/fastboot/fb_mmc.c | 7 +++++++
> 2 files changed, 34 insertions(+)
>
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/2] Add more support for NXP's mfgtool
2021-12-18 8:44 ` [PATCH 0/2] Add more support for NXP's mfgtool Oleh Kravchenko
@ 2021-12-18 14:34 ` Angus Ainslie
2021-12-18 21:52 ` Oleh Kravchenko
0 siblings, 1 reply; 9+ messages in thread
From: Angus Ainslie @ 2021-12-18 14:34 UTC (permalink / raw)
To: Oleh Kravchenko
Cc: u-boot, Sean Anderson, Simon Glass, Patrick Delaunay,
Roman Stratiienko, Marek Szyprowski
Hi Oleh
On 2021-12-18 00:44, Oleh Kravchenko wrote:
> Hello Angus!
> What is the use-case for these patches?
>
> Would you mind defining why the current implementation is not enough?
> Used like that:
>> FB: flash -raw2sparse mmc0 emmc.wic
>
>
Thanks, it looks like the way I'm using fastboot is causing the issue.
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev 0
FB: flash -raw2sparse all <image>
using your syntax I likely won't need these patches.
FB: flash -raw2sparse mmc0 <image>
Cheers
Angus
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/2] Add more support for NXP's mfgtool
2021-12-18 14:34 ` Angus Ainslie
@ 2021-12-18 21:52 ` Oleh Kravchenko
0 siblings, 0 replies; 9+ messages in thread
From: Oleh Kravchenko @ 2021-12-18 21:52 UTC (permalink / raw)
To: Angus Ainslie
Cc: u-boot, Sean Anderson, Simon Glass, Patrick Delaunay,
Roman Stratiienko, Marek Szyprowski
18.12.21 16:34, Angus Ainslie пише:
> Hi Oleh
>
> On 2021-12-18 00:44, Oleh Kravchenko wrote:
>> Hello Angus!
>> What is the use-case for these patches?
>>
>> Would you mind defining why the current implementation is not enough?
>> Used like that:
>>> FB: flash -raw2sparse mmc0 emmc.wic
>>
>>
>
> Thanks, it looks like the way I'm using fastboot is causing the issue.
>
> FB: ucmd setenv fastboot_dev mmc
> FB: ucmd setenv mmcdev 0
> FB: flash -raw2sparse all <image>
>
> using your syntax I likely won't need these patches.
Just make sure you have these configs enabled:
> CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
> CONFIG_FASTBOOT_MMC_BOOT_SUPPORT=y # enable this if you planning flash boot area too
> FB: flash -raw2sparse mmc0 <image>
>
> Cheers
> Angus
--
Best regards,
Oleh Kravchenko
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] fastboot: fb_getvar: Add getvar_logical_blocksize for MXP mfgtool
2021-12-17 23:10 ` Sean Anderson
@ 2021-12-19 15:25 ` Angus Ainslie
0 siblings, 0 replies; 9+ messages in thread
From: Angus Ainslie @ 2021-12-19 15:25 UTC (permalink / raw)
To: Sean Anderson
Cc: u-boot, Sean Anderson, Simon Glass, Oleh Kravchenko,
Patrick Delaunay, Roman Stratiienko, Marek Szyprowski
Hi Sean,
On 2021-12-17 15:10, Sean Anderson wrote:
> Hi Angus,
>
> On 12/17/21 10:41 AM, Angus Ainslie wrote:
>> uuu uses the blocksize to determine the upload size
>
> Can you please elaborate on this more?
>
>>
>> Signed-off-by: Angus Ainslie <angus@akkea.ca>
>> ---
>> drivers/fastboot/fb_getvar.c | 27 +++++++++++++++++++++++++++
>> 1 file changed, 27 insertions(+)
>>
>> diff --git a/drivers/fastboot/fb_getvar.c
>> b/drivers/fastboot/fb_getvar.c
>> index d43f2cfee6..ff5f0d3d40 100644
>> --- a/drivers/fastboot/fb_getvar.c
>> +++ b/drivers/fastboot/fb_getvar.c
>> @@ -31,6 +31,7 @@ static void getvar_partition_type(char *part_name,
>> char *response);
>> static void getvar_partition_size(char *part_name, char *response);
>> #endif
>> static void getvar_is_userspace(char *var_parameter, char
>> *response);
>> +static void getvar_logical_blocksize(char *var_parameter, char
>> *response);
>> static const struct {
>> const char *variable;
>> @@ -81,6 +82,9 @@ static const struct {
>> }, {
>> .variable = "is-userspace",
>> .dispatch = getvar_is_userspace
>> + }, {
>> + .variable = "logical-block-size",
>> + .dispatch = getvar_logical_blocksize
>> }
>> };
>> @@ -140,6 +144,29 @@ static void getvar_downloadsize(char
>> *var_parameter, char *response)
>> fastboot_response("OKAY", response, "0x%08x", fastboot_buf_size);
>> }
>> +static int fb_get_block_size(void)
>> +{
>> + int dev_no = 0;
>> + struct blk_desc *dev_desc;
>> +
>> + dev_desc = blk_get_dev("mmc", 0);
>
> And what if your block device is not mmc 0? This code is not specific
> to fastboot mmc. What about nand?
>
>> +
>> + if (!dev_desc) {
>> + printf("** Block device %s %d not supported\n",
>> + "mmc", 0);
>> + return 0;
>
> Why return 0? This should result in an error fastboot_response.
>
>> + }
>> + return dev_desc->blksz;
>> +}
>> +
>> +static void getvar_logical_blocksize(char *var_parameter, char
>> *response)
>> +{
>> + u32 blksz;
>> +
>> + blksz = fb_get_block_size();
>> + fastboot_response("OKAY", response, "0x%08x", blksz);
>
> Can we combine these functions?
>
> --Sean
Thanks for the comments. I'll fix them up for v2.
Angus
>
>> +}
>> +
>> static void getvar_serialno(char *var_parameter, char *response)
>> {
>> const char *tmp = env_get("serial#");
>>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-12-19 15:26 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-17 15:41 [PATCH 0/2] Add more support for NXP's mfgtool Angus Ainslie
2021-12-17 15:41 ` [PATCH 1/2] fastboot: fb_getvar: Add getvar_logical_blocksize for MXP mfgtool Angus Ainslie
2021-12-17 23:10 ` Sean Anderson
2021-12-19 15:25 ` Angus Ainslie
2021-12-17 15:42 ` [PATCH 2/2] fastboot: fb_mmc: Add mfgtool all partition size Angus Ainslie
2021-12-17 23:02 ` Sean Anderson
2021-12-18 8:44 ` [PATCH 0/2] Add more support for NXP's mfgtool Oleh Kravchenko
2021-12-18 14:34 ` Angus Ainslie
2021-12-18 21:52 ` Oleh Kravchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).