All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] U-Boot ENV in EXT4 support for Expressobin (revised)
@ 2022-02-08 23:26 Rogier Stam
  2022-02-08 23:27 ` [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI Rogier Stam
  2022-02-08 23:27 ` [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT Rogier Stam
  0 siblings, 2 replies; 9+ messages in thread
From: Rogier Stam @ 2022-02-08 23:26 UTC (permalink / raw)
  To: u-boot; +Cc: Rogier Stam

Hi

Per comments of Stefan I have split the patch in two:
- one for env file changes
- one for espressobin related changes

Let me know if any other changes are needed.

Regards

Rogier

Rogier Stam (2):
  Fix Espressobin build for configs where ENV is not in SPI
  Add SCSI scan for ENV in EXT4 or FAT

 arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi | 2 ++
 board/Marvell/mvebu_armada-37xx/board.c          | 4 +++-
 env/ext4.c                                       | 5 +++++
 env/fat.c                                        | 5 +++++
 4 files changed, 15 insertions(+), 1 deletion(-)

-- 
2.7.4


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

* [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI
  2022-02-08 23:26 [PATCH 0/2] U-Boot ENV in EXT4 support for Expressobin (revised) Rogier Stam
@ 2022-02-08 23:27 ` Rogier Stam
  2022-02-28  7:10   ` Pali Rohár
  2022-02-08 23:27 ` [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT Rogier Stam
  1 sibling, 1 reply; 9+ messages in thread
From: Rogier Stam @ 2022-02-08 23:27 UTC (permalink / raw)
  To: u-boot; +Cc: Rogier Stam

When storing the UBoot Environment in for example EXT4,
the U-Boot build is broken for several reasons:
1. armada-385-turris-omnia-u-boot.dtsi will not allow
   CONFIG_ENV_OFFSET and CONFIG_ENV_SIZE to be undefined
2. armada-37xx/board.c ft_board_setup function does not
   exist if CONFIG_ENV_IS_IN_SPI_FLASH is not defined

This commit changes these files so that selecting a
different location for the environment is possible.

Signed-off-by: Rogier Stam <rogier@unrailed.org>
---
 arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi | 2 ++
 board/Marvell/mvebu_armada-37xx/board.c          | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
index 3ff76c9..008787e 100644
--- a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
+++ b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
@@ -38,6 +38,7 @@
 	};
 };
 
+#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
 &spi0 {
 	u-boot,dm-pre-reloc;
 
@@ -56,6 +57,7 @@
 		};
 	};
 };
+#endif
 
 &uart0 {
 	u-boot,dm-pre-reloc;
diff --git a/board/Marvell/mvebu_armada-37xx/board.c b/board/Marvell/mvebu_armada-37xx/board.c
index d7b6eca..5bace0c 100644
--- a/board/Marvell/mvebu_armada-37xx/board.c
+++ b/board/Marvell/mvebu_armada-37xx/board.c
@@ -328,9 +328,10 @@ int board_network_enable(struct mii_dev *bus)
 	return 0;
 }
 
-#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_ENV_IS_IN_SPI_FLASH)
+#ifdef CONFIG_OF_BOARD_SETUP
 int ft_board_setup(void *blob, struct bd_info *bd)
 {
+#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
 	int ret;
 	int spi_off;
 	int parts_off;
@@ -424,6 +425,7 @@ int ft_board_setup(void *blob, struct bd_info *bd)
 		return 0;
 	}
 
+#endif
 	return 0;
 }
 #endif
-- 
2.7.4


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

* [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT
  2022-02-08 23:26 [PATCH 0/2] U-Boot ENV in EXT4 support for Expressobin (revised) Rogier Stam
  2022-02-08 23:27 ` [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI Rogier Stam
@ 2022-02-08 23:27 ` Rogier Stam
  2022-02-28  7:13   ` Pali Rohár
  1 sibling, 1 reply; 9+ messages in thread
From: Rogier Stam @ 2022-02-08 23:27 UTC (permalink / raw)
  To: u-boot; +Cc: Rogier Stam

When having environment stored in EXT4 or FAT
and using an AHCI or SCSI device / partition
the scan would not be performed early enough
and hence the device would not be recognized.
This change adds the scan when the interface
is "scsi" in a similar way to mmc_initialize.

Signed-off-by: Rogier Stam <rogier@unrailed.org>
---
 env/ext4.c | 5 +++++
 env/fat.c  | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/env/ext4.c b/env/ext4.c
index 9f65afb..47e05a4 100644
--- a/env/ext4.c
+++ b/env/ext4.c
@@ -31,6 +31,7 @@
 #include <errno.h>
 #include <ext4fs.h>
 #include <mmc.h>
+#include <scsi.h>
 #include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -146,6 +147,10 @@ static int env_ext4_load(void)
 	if (!strcmp(ifname, "mmc"))
 		mmc_initialize(NULL);
 #endif
+#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
+	if (!strcmp(ifname, "scsi"))
+		scsi_scan(true);
+#endif
 
 	part = blk_get_device_part_str(ifname, dev_and_part,
 				       &dev_desc, &info, 1);
diff --git a/env/fat.c b/env/fat.c
index fdccd6c..dbd6a13 100644
--- a/env/fat.c
+++ b/env/fat.c
@@ -17,6 +17,7 @@
 #include <errno.h>
 #include <fat.h>
 #include <mmc.h>
+#include <scsi.h>
 #include <asm/cache.h>
 #include <asm/global_data.h>
 #include <linux/stddef.h>
@@ -122,6 +123,10 @@ static int env_fat_load(void)
 	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc"))
 		mmc_initialize(NULL);
 #endif
+#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
+	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi"))
+		scsi_scan(true);
+#endif
 
 	part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE,
 					env_fat_device_and_part(),
-- 
2.7.4


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

* Re: [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI
  2022-02-08 23:27 ` [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI Rogier Stam
@ 2022-02-28  7:10   ` Pali Rohár
  2022-04-21 13:55     ` Stefan Roese
  0 siblings, 1 reply; 9+ messages in thread
From: Pali Rohár @ 2022-02-28  7:10 UTC (permalink / raw)
  To: Rogier Stam, Marek Behun, Stefan Roese; +Cc: u-boot

+ Marek, Stefan

On Wednesday 09 February 2022 00:27:00 Rogier Stam wrote:
> When storing the UBoot Environment in for example EXT4,
> the U-Boot build is broken for several reasons:
> 1. armada-385-turris-omnia-u-boot.dtsi will not allow
>    CONFIG_ENV_OFFSET and CONFIG_ENV_SIZE to be undefined
> 2. armada-37xx/board.c ft_board_setup function does not
>    exist if CONFIG_ENV_IS_IN_SPI_FLASH is not defined
> 
> This commit changes these files so that selecting a
> different location for the environment is possible.
> 
> Signed-off-by: Rogier Stam <rogier@unrailed.org>

Reviewed-by: Pali Rohár <pali@kernel.org>

> ---
>  arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi | 2 ++
>  board/Marvell/mvebu_armada-37xx/board.c          | 4 +++-
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
> index 3ff76c9..008787e 100644
> --- a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
> +++ b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
> @@ -38,6 +38,7 @@
>  	};
>  };
>  
> +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
>  &spi0 {
>  	u-boot,dm-pre-reloc;
>  
> @@ -56,6 +57,7 @@
>  		};
>  	};
>  };
> +#endif
>  
>  &uart0 {
>  	u-boot,dm-pre-reloc;
> diff --git a/board/Marvell/mvebu_armada-37xx/board.c b/board/Marvell/mvebu_armada-37xx/board.c
> index d7b6eca..5bace0c 100644
> --- a/board/Marvell/mvebu_armada-37xx/board.c
> +++ b/board/Marvell/mvebu_armada-37xx/board.c
> @@ -328,9 +328,10 @@ int board_network_enable(struct mii_dev *bus)
>  	return 0;
>  }
>  
> -#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_ENV_IS_IN_SPI_FLASH)
> +#ifdef CONFIG_OF_BOARD_SETUP
>  int ft_board_setup(void *blob, struct bd_info *bd)
>  {
> +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
>  	int ret;
>  	int spi_off;
>  	int parts_off;
> @@ -424,6 +425,7 @@ int ft_board_setup(void *blob, struct bd_info *bd)
>  		return 0;
>  	}
>  
> +#endif
>  	return 0;
>  }
>  #endif
> -- 
> 2.7.4
> 

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

* Re: [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT
  2022-02-08 23:27 ` [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT Rogier Stam
@ 2022-02-28  7:13   ` Pali Rohár
  2022-04-21 10:34     ` Stefan Roese
  0 siblings, 1 reply; 9+ messages in thread
From: Pali Rohár @ 2022-02-28  7:13 UTC (permalink / raw)
  To: Rogier Stam, Simon Glass; +Cc: u-boot

+ Simon, could you review this change? It would be nice to have this fix in upcoming U-Boot release.

On Wednesday 09 February 2022 00:27:01 Rogier Stam wrote:
> When having environment stored in EXT4 or FAT
> and using an AHCI or SCSI device / partition
> the scan would not be performed early enough
> and hence the device would not be recognized.
> This change adds the scan when the interface
> is "scsi" in a similar way to mmc_initialize.
> 
> Signed-off-by: Rogier Stam <rogier@unrailed.org>

Reviewed-by: Pali Rohár <pali@kernel.org>

> ---
>  env/ext4.c | 5 +++++
>  env/fat.c  | 5 +++++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/env/ext4.c b/env/ext4.c
> index 9f65afb..47e05a4 100644
> --- a/env/ext4.c
> +++ b/env/ext4.c
> @@ -31,6 +31,7 @@
>  #include <errno.h>
>  #include <ext4fs.h>
>  #include <mmc.h>
> +#include <scsi.h>
>  #include <asm/global_data.h>
>  
>  DECLARE_GLOBAL_DATA_PTR;
> @@ -146,6 +147,10 @@ static int env_ext4_load(void)
>  	if (!strcmp(ifname, "mmc"))
>  		mmc_initialize(NULL);
>  #endif
> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
> +	if (!strcmp(ifname, "scsi"))
> +		scsi_scan(true);
> +#endif
>  
>  	part = blk_get_device_part_str(ifname, dev_and_part,
>  				       &dev_desc, &info, 1);
> diff --git a/env/fat.c b/env/fat.c
> index fdccd6c..dbd6a13 100644
> --- a/env/fat.c
> +++ b/env/fat.c
> @@ -17,6 +17,7 @@
>  #include <errno.h>
>  #include <fat.h>
>  #include <mmc.h>
> +#include <scsi.h>
>  #include <asm/cache.h>
>  #include <asm/global_data.h>
>  #include <linux/stddef.h>
> @@ -122,6 +123,10 @@ static int env_fat_load(void)
>  	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc"))
>  		mmc_initialize(NULL);
>  #endif
> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
> +	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi"))
> +		scsi_scan(true);
> +#endif
>  
>  	part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE,
>  					env_fat_device_and_part(),
> -- 
> 2.7.4
> 

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

* Re: [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT
  2022-02-28  7:13   ` Pali Rohár
@ 2022-04-21 10:34     ` Stefan Roese
  2022-04-21 10:57       ` Pali Rohár
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Roese @ 2022-04-21 10:34 UTC (permalink / raw)
  To: Pali Rohár, Rogier Stam, Simon Glass; +Cc: u-boot

Hi Rogier,

On 2/28/22 08:13, Pali Rohár wrote:
> + Simon, could you review this change? It would be nice to have this fix in upcoming U-Boot release.
> 
> On Wednesday 09 February 2022 00:27:01 Rogier Stam wrote:
>> When having environment stored in EXT4 or FAT
>> and using an AHCI or SCSI device / partition
>> the scan would not be performed early enough
>> and hence the device would not be recognized.
>> This change adds the scan when the interface
>> is "scsi" in a similar way to mmc_initialize.
>>
>> Signed-off-by: Rogier Stam <rogier@unrailed.org>
> 
> Reviewed-by: Pali Rohár <pali@kernel.org>

While running some CI tests, this error occurs with this patch:

$ make dra7xx_hs_evm_usb_defconfig
...
$ make -s -j20
...
/opt/kernel.org/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld.bfd: 
env/fat.o: in function `env_fat_load':
/home/stefan/git/u-boot/u-boot-marvell/env/fat.c:134: undefined 
reference to `scsi_scan'
make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1
make: *** [Makefile:2101: spl/u-boot-spl] Error 2

Could you please take a look? And send a fixed version which also
passed a "world build" for all supported targets?

Thanks,
Stefan


>> ---
>>   env/ext4.c | 5 +++++
>>   env/fat.c  | 5 +++++
>>   2 files changed, 10 insertions(+)
>>
>> diff --git a/env/ext4.c b/env/ext4.c
>> index 9f65afb..47e05a4 100644
>> --- a/env/ext4.c
>> +++ b/env/ext4.c
>> @@ -31,6 +31,7 @@
>>   #include <errno.h>
>>   #include <ext4fs.h>
>>   #include <mmc.h>
>> +#include <scsi.h>
>>   #include <asm/global_data.h>
>>   
>>   DECLARE_GLOBAL_DATA_PTR;
>> @@ -146,6 +147,10 @@ static int env_ext4_load(void)
>>   	if (!strcmp(ifname, "mmc"))
>>   		mmc_initialize(NULL);
>>   #endif
>> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
>> +	if (!strcmp(ifname, "scsi"))
>> +		scsi_scan(true);
>> +#endif
>>   
>>   	part = blk_get_device_part_str(ifname, dev_and_part,
>>   				       &dev_desc, &info, 1);
>> diff --git a/env/fat.c b/env/fat.c
>> index fdccd6c..dbd6a13 100644
>> --- a/env/fat.c
>> +++ b/env/fat.c
>> @@ -17,6 +17,7 @@
>>   #include <errno.h>
>>   #include <fat.h>
>>   #include <mmc.h>
>> +#include <scsi.h>
>>   #include <asm/cache.h>
>>   #include <asm/global_data.h>
>>   #include <linux/stddef.h>
>> @@ -122,6 +123,10 @@ static int env_fat_load(void)
>>   	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc"))
>>   		mmc_initialize(NULL);
>>   #endif
>> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
>> +	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi"))
>> +		scsi_scan(true);
>> +#endif
>>   
>>   	part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE,
>>   					env_fat_device_and_part(),
>> -- 
>> 2.7.4
>>

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de

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

* Re: [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT
  2022-04-21 10:34     ` Stefan Roese
@ 2022-04-21 10:57       ` Pali Rohár
  2022-05-11 21:02         ` Rogier Stam
  0 siblings, 1 reply; 9+ messages in thread
From: Pali Rohár @ 2022-04-21 10:57 UTC (permalink / raw)
  To: Stefan Roese; +Cc: Rogier Stam, Simon Glass, u-boot

On Thursday 21 April 2022 12:34:30 Stefan Roese wrote:
> Hi Rogier,
> 
> On 2/28/22 08:13, Pali Rohár wrote:
> > + Simon, could you review this change? It would be nice to have this fix in upcoming U-Boot release.
> > 
> > On Wednesday 09 February 2022 00:27:01 Rogier Stam wrote:
> > > When having environment stored in EXT4 or FAT
> > > and using an AHCI or SCSI device / partition
> > > the scan would not be performed early enough
> > > and hence the device would not be recognized.
> > > This change adds the scan when the interface
> > > is "scsi" in a similar way to mmc_initialize.
> > > 
> > > Signed-off-by: Rogier Stam <rogier@unrailed.org>
> > 
> > Reviewed-by: Pali Rohár <pali@kernel.org>
> 
> While running some CI tests, this error occurs with this patch:
> 
> $ make dra7xx_hs_evm_usb_defconfig
> ...
> $ make -s -j20
> ...
> /opt/kernel.org/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld.bfd:
> env/fat.o: in function `env_fat_load':
> /home/stefan/git/u-boot/u-boot-marvell/env/fat.c:134: undefined reference to
> `scsi_scan'
> make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1
> make: *** [Makefile:2101: spl/u-boot-spl] Error 2

This is failing while building SPL...

> Could you please take a look? And send a fixed version which also
> passed a "world build" for all supported targets?
> 
> Thanks,
> Stefan
> 
> 
> > > ---
> > >   env/ext4.c | 5 +++++
> > >   env/fat.c  | 5 +++++
> > >   2 files changed, 10 insertions(+)
> > > 
> > > diff --git a/env/ext4.c b/env/ext4.c
> > > index 9f65afb..47e05a4 100644
> > > --- a/env/ext4.c
> > > +++ b/env/ext4.c
> > > @@ -31,6 +31,7 @@
> > >   #include <errno.h>
> > >   #include <ext4fs.h>
> > >   #include <mmc.h>
> > > +#include <scsi.h>
> > >   #include <asm/global_data.h>
> > >   DECLARE_GLOBAL_DATA_PTR;
> > > @@ -146,6 +147,10 @@ static int env_ext4_load(void)
> > >   	if (!strcmp(ifname, "mmc"))
> > >   		mmc_initialize(NULL);
> > >   #endif
> > > +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
> > > +	if (!strcmp(ifname, "scsi"))
> > > +		scsi_scan(true);
> > > +#endif
> > >   	part = blk_get_device_part_str(ifname, dev_and_part,
> > >   				       &dev_desc, &info, 1);
> > > diff --git a/env/fat.c b/env/fat.c
> > > index fdccd6c..dbd6a13 100644
> > > --- a/env/fat.c
> > > +++ b/env/fat.c
> > > @@ -17,6 +17,7 @@
> > >   #include <errno.h>
> > >   #include <fat.h>
> > >   #include <mmc.h>
> > > +#include <scsi.h>
> > >   #include <asm/cache.h>
> > >   #include <asm/global_data.h>
> > >   #include <linux/stddef.h>
> > > @@ -122,6 +123,10 @@ static int env_fat_load(void)
> > >   	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc"))
> > >   		mmc_initialize(NULL);
> > >   #endif
> > > +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)

... I guess that you should use CONFIG_IS_ENABLED(AHCI) instead of
defined(CONFIG_AHCI) for proper SPL support.

> > > +	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi"))
> > > +		scsi_scan(true);
> > > +#endif
> > >   	part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE,
> > >   					env_fat_device_and_part(),
> > > -- 
> > > 2.7.4
> > > 
> 
> Viele Grüße,
> Stefan Roese
> 
> -- 
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de

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

* Re: [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI
  2022-02-28  7:10   ` Pali Rohár
@ 2022-04-21 13:55     ` Stefan Roese
  0 siblings, 0 replies; 9+ messages in thread
From: Stefan Roese @ 2022-04-21 13:55 UTC (permalink / raw)
  To: Pali Rohár, Rogier Stam, Marek Behun; +Cc: u-boot

On 2/28/22 08:10, Pali Rohár wrote:
> + Marek, Stefan
> 
> On Wednesday 09 February 2022 00:27:00 Rogier Stam wrote:
>> When storing the UBoot Environment in for example EXT4,
>> the U-Boot build is broken for several reasons:
>> 1. armada-385-turris-omnia-u-boot.dtsi will not allow
>>     CONFIG_ENV_OFFSET and CONFIG_ENV_SIZE to be undefined
>> 2. armada-37xx/board.c ft_board_setup function does not
>>     exist if CONFIG_ENV_IS_IN_SPI_FLASH is not defined
>>
>> This commit changes these files so that selecting a
>> different location for the environment is possible.
>>
>> Signed-off-by: Rogier Stam <rogier@unrailed.org>
> 
> Reviewed-by: Pali Rohár <pali@kernel.org>

Applied to u-boot-marvell/master

Thanks,
Stefan

>> ---
>>   arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi | 2 ++
>>   board/Marvell/mvebu_armada-37xx/board.c          | 4 +++-
>>   2 files changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
>> index 3ff76c9..008787e 100644
>> --- a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
>> +++ b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi
>> @@ -38,6 +38,7 @@
>>   	};
>>   };
>>   
>> +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
>>   &spi0 {
>>   	u-boot,dm-pre-reloc;
>>   
>> @@ -56,6 +57,7 @@
>>   		};
>>   	};
>>   };
>> +#endif
>>   
>>   &uart0 {
>>   	u-boot,dm-pre-reloc;
>> diff --git a/board/Marvell/mvebu_armada-37xx/board.c b/board/Marvell/mvebu_armada-37xx/board.c
>> index d7b6eca..5bace0c 100644
>> --- a/board/Marvell/mvebu_armada-37xx/board.c
>> +++ b/board/Marvell/mvebu_armada-37xx/board.c
>> @@ -328,9 +328,10 @@ int board_network_enable(struct mii_dev *bus)
>>   	return 0;
>>   }
>>   
>> -#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_ENV_IS_IN_SPI_FLASH)
>> +#ifdef CONFIG_OF_BOARD_SETUP
>>   int ft_board_setup(void *blob, struct bd_info *bd)
>>   {
>> +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
>>   	int ret;
>>   	int spi_off;
>>   	int parts_off;
>> @@ -424,6 +425,7 @@ int ft_board_setup(void *blob, struct bd_info *bd)
>>   		return 0;
>>   	}
>>   
>> +#endif
>>   	return 0;
>>   }
>>   #endif
>> -- 
>> 2.7.4
>>

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de

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

* Re: [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT
  2022-04-21 10:57       ` Pali Rohár
@ 2022-05-11 21:02         ` Rogier Stam
  0 siblings, 0 replies; 9+ messages in thread
From: Rogier Stam @ 2022-05-11 21:02 UTC (permalink / raw)
  To: Pali Rohár, Stefan Roese; +Cc: Simon Glass, u-boot

Hi,

Sorry for the late reply. Not much time lately, also had some trouble 
figuring the world build out. That said I have a fix. Not sure on the 
usual process, but I will repost it on the mailing list in a moment. 
Pali was quite close on the solution. I went a slightly different route 
as I did not want to deviate from style in fat.c, also from reading the 
recommended CONFIG_IS_ENABLED macro I got the impression you'd have to 
define separate vars for TPL and SPL which would deviate from normal 
usage for storing env in fat.

Effectively it amounts to:

+#ifndef CONFIG_SPL_BUILD
+#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
+       if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi"))
+               scsi_scan(true);
+#endif
+#endif

Anyway, let me know if you disagree.

Thanks and regards

Rogier

On 21-04-2022 12:57, Pali Rohár wrote:
> On Thursday 21 April 2022 12:34:30 Stefan Roese wrote:
>> Hi Rogier,
>>
>> On 2/28/22 08:13, Pali Rohár wrote:
>>> + Simon, could you review this change? It would be nice to have this fix in upcoming U-Boot release.
>>>
>>> On Wednesday 09 February 2022 00:27:01 Rogier Stam wrote:
>>>> When having environment stored in EXT4 or FAT
>>>> and using an AHCI or SCSI device / partition
>>>> the scan would not be performed early enough
>>>> and hence the device would not be recognized.
>>>> This change adds the scan when the interface
>>>> is "scsi" in a similar way to mmc_initialize.
>>>>
>>>> Signed-off-by: Rogier Stam <rogier@unrailed.org>
>>> Reviewed-by: Pali Rohár <pali@kernel.org>
>> While running some CI tests, this error occurs with this patch:
>>
>> $ make dra7xx_hs_evm_usb_defconfig
>> ...
>> $ make -s -j20
>> ...
>> /opt/kernel.org/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld.bfd:
>> env/fat.o: in function `env_fat_load':
>> /home/stefan/git/u-boot/u-boot-marvell/env/fat.c:134: undefined reference to
>> `scsi_scan'
>> make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1
>> make: *** [Makefile:2101: spl/u-boot-spl] Error 2
> This is failing while building SPL...
>
>> Could you please take a look? And send a fixed version which also
>> passed a "world build" for all supported targets?
>>
>> Thanks,
>> Stefan
>>
>>
>>>> ---
>>>>    env/ext4.c | 5 +++++
>>>>    env/fat.c  | 5 +++++
>>>>    2 files changed, 10 insertions(+)
>>>>
>>>> diff --git a/env/ext4.c b/env/ext4.c
>>>> index 9f65afb..47e05a4 100644
>>>> --- a/env/ext4.c
>>>> +++ b/env/ext4.c
>>>> @@ -31,6 +31,7 @@
>>>>    #include <errno.h>
>>>>    #include <ext4fs.h>
>>>>    #include <mmc.h>
>>>> +#include <scsi.h>
>>>>    #include <asm/global_data.h>
>>>>    DECLARE_GLOBAL_DATA_PTR;
>>>> @@ -146,6 +147,10 @@ static int env_ext4_load(void)
>>>>    	if (!strcmp(ifname, "mmc"))
>>>>    		mmc_initialize(NULL);
>>>>    #endif
>>>> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
>>>> +	if (!strcmp(ifname, "scsi"))
>>>> +		scsi_scan(true);
>>>> +#endif
>>>>    	part = blk_get_device_part_str(ifname, dev_and_part,
>>>>    				       &dev_desc, &info, 1);
>>>> diff --git a/env/fat.c b/env/fat.c
>>>> index fdccd6c..dbd6a13 100644
>>>> --- a/env/fat.c
>>>> +++ b/env/fat.c
>>>> @@ -17,6 +17,7 @@
>>>>    #include <errno.h>
>>>>    #include <fat.h>
>>>>    #include <mmc.h>
>>>> +#include <scsi.h>
>>>>    #include <asm/cache.h>
>>>>    #include <asm/global_data.h>
>>>>    #include <linux/stddef.h>
>>>> @@ -122,6 +123,10 @@ static int env_fat_load(void)
>>>>    	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc"))
>>>>    		mmc_initialize(NULL);
>>>>    #endif
>>>> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
> ... I guess that you should use CONFIG_IS_ENABLED(AHCI) instead of
> defined(CONFIG_AHCI) for proper SPL support.
>
>>>> +	if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi"))
>>>> +		scsi_scan(true);
>>>> +#endif
>>>>    	part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE,
>>>>    					env_fat_device_and_part(),
>>>> -- 
>>>> 2.7.4
>>>>
>> Viele Grüße,
>> Stefan Roese
>>
>> -- 
>> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
>> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de

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

end of thread, other threads:[~2022-05-11 21:02 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-08 23:26 [PATCH 0/2] U-Boot ENV in EXT4 support for Expressobin (revised) Rogier Stam
2022-02-08 23:27 ` [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI Rogier Stam
2022-02-28  7:10   ` Pali Rohár
2022-04-21 13:55     ` Stefan Roese
2022-02-08 23:27 ` [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT Rogier Stam
2022-02-28  7:13   ` Pali Rohár
2022-04-21 10:34     ` Stefan Roese
2022-04-21 10:57       ` Pali Rohár
2022-05-11 21:02         ` Rogier Stam

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.