* [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.