[PATCH v2] fastboot: read fastboot buffer address from fastboot_addr_r

Mattijs Korpershoek mkorpershoek at kernel.org
Tue Jun 16 09:22:43 CEST 2026


Hi Łukasz,

On Mon, Jun 08, 2026 at 11:14, Mattijs Korpershoek <mkorpershoek at kernel.org> wrote:

> Hi Łukasz,
>
> Thank you for the patch.
>
> On Thu, May 21, 2026 at 12:57, Łukasz Stelmach <l.stelmach at samsung.com> wrote:
>
>> Following the previous advice (link below) check fastboot_addr_r
>> environment variable for fastboot buffer address.
>>
>> Link: https://lore.kernel.org/u-boot/aWiWFrdwvy7-IK63@sumit-xelite/
>> Signed-off-by: Łukasz Stelmach <l.stelmach at samsung.com>
>
> Sorry for the late review.
>
> The change looks fine, but this new environment variable should be added
> to the docs as well:
> https://docs.u-boot.org/en/latest/android/fastboot.html
>
> Please add a small sub-section in doc/android/fastboot.rst
> under "Fastboot environment variables".

I have given this some more thoughts. The fastboot command already has a
-l argument:

=> fastboot
fastboot - run as a fastboot usb or udp device

Usage:
fastboot [-l addr] [-s size] usb <controller> | udp
        addr - address of buffer used during data transfers (0x6000000)
        size - size of buffer used during data transfers (0x7000000)

The -l argument is already used by various boards:

$ rg 'fastboot -l'
board/samsung/exynos-mobile/exynos-mobile.env
14:     fastboot -l $fastboot_addr_r usb 0

board/qualcomm/qcom-phone.env
9:fastboot=fastboot -l $fastboot_addr_r usb 0

board/qualcomm/default.env
5:fastboot=fastboot -l $fastboot_addr_r usb 0

board/qualcomm/dragonboard410c/dragonboard410c.env
3:fastboot=fastboot -l $fastboot_addr_r usb 0

Why can't we use the -l argument?

>
>
>> ---
>>  drivers/fastboot/fb_common.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> Changes in v2:
>>
>> * replaced the nested ternary operator with the parameterised call to
>>   env_get_hex()
>>
>> * fixed a typo in the commit message
>>
>> diff --git a/drivers/fastboot/fb_common.c b/drivers/fastboot/fb_common.c
>> index 9c52e004588..f2f063ebfbb 100644
>> --- a/drivers/fastboot/fb_common.c
>> +++ b/drivers/fastboot/fb_common.c
>> @@ -240,7 +240,7 @@ void fastboot_init(void *buf_addr, u32 buf_size)
>>  #endif
>>  
>>  	fastboot_buf_addr = buf_addr ? buf_addr :
>> -				       (void *)CONFIG_FASTBOOT_BUF_ADDR;
>> +		(void *)env_get_hex("fastboot_addr_r", CONFIG_FASTBOOT_BUF_ADDR);
>>  	fastboot_buf_size = buf_size ? buf_size : CONFIG_FASTBOOT_BUF_SIZE;
>>  	fastboot_set_progress_callback(NULL);
>>  
>> -- 
>> 2.47.3


More information about the U-Boot mailing list