diff mbox series

[U-Boot] arm: socfpga: fix 3 boards missing env var "socfpga_legacy_reset_compat"

Message ID 20190509184257.8564-1-simon.k.r.goldschmidt@gmail.com
State Superseded
Delegated to: Marek Vasut
Headers show
Series [U-Boot] arm: socfpga: fix 3 boards missing env var "socfpga_legacy_reset_compat" | expand

Commit Message

Simon Goldschmidt May 9, 2019, 6:42 p.m. UTC
This fixes 3 boards that don't use CONFIG_EXTRA_ENV_SETTINGS from
socfpga_common.h. They need to enable reset manager compatibility
mode unless all peripheral drivers in Linux support reset handling.

Fixes: commit 4b2e32efa4e7 ("arm: socfpga: gen5: deassert peripheral reset by default")
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reported-by: Wolfgang Grandegger <wg@aries-embedded.de>
---

 include/configs/socfpga_dbm_soc1.h        | 3 ++-
 include/configs/socfpga_stratix10_socdk.h | 3 ++-
 include/configs/socfpga_vining_fpga.h     | 1 +
 3 files changed, 5 insertions(+), 2 deletions(-)

Comments

Wolfgang Grandegger May 9, 2019, 7:13 p.m. UTC | #1
Hello Simon,

Am 09.05.19 um 20:42 schrieb Simon Goldschmidt:
> This fixes 3 boards that don't use CONFIG_EXTRA_ENV_SETTINGS from
> socfpga_common.h. They need to enable reset manager compatibility
> mode unless all peripheral drivers in Linux support reset handling.
> 
> Fixes: commit 4b2e32efa4e7 ("arm: socfpga: gen5: deassert peripheral reset by default")
> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
> Reported-by: Wolfgang Grandegger <wg@aries-embedded.de>
> ---
> 
>  include/configs/socfpga_dbm_soc1.h        | 3 ++-
>  include/configs/socfpga_stratix10_socdk.h | 3 ++-
>  include/configs/socfpga_vining_fpga.h     | 1 +
>  3 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/include/configs/socfpga_dbm_soc1.h b/include/configs/socfpga_dbm_soc1.h
> index b36d7e56fb..fc1db2442e 100644
> --- a/include/configs/socfpga_dbm_soc1.h
> +++ b/include/configs/socfpga_dbm_soc1.h
> @@ -87,7 +87,8 @@
>  			"echo Running bootscript... ; "			\
>  			"source ${kernel_addr_r} ; "			\
>  		"fi ; "							\
> -		"fi\0"
> +		"fi\0"							\
> +	"socfpga_legacy_reset_compat=1\0"
>  
>  /* The rest of the configuration is shared */
>  #include <configs/socfpga_common.h>
> diff --git a/include/configs/socfpga_stratix10_socdk.h b/include/configs/socfpga_stratix10_socdk.h
> index 8d2971c6e2..90ad8172e2 100644
> --- a/include/configs/socfpga_stratix10_socdk.h
> +++ b/include/configs/socfpga_stratix10_socdk.h
> @@ -113,7 +113,8 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
>  	"scriptaddr=0x02100000\0" \
>  	"scriptfile=u-boot.scr\0" \
>  	"fatscript=if fatload mmc 0:1 ${scriptaddr} ${scriptfile};" \
> -		   "then source ${scriptaddr}; fi\0"
> +		   "then source ${scriptaddr}; fi\0" \
> +	"socfpga_legacy_reset_compat=1\0"
>  
>  /*
>   * Generic Interrupt Controller Definitions
> diff --git a/include/configs/socfpga_vining_fpga.h b/include/configs/socfpga_vining_fpga.h
> index 29a92b9146..737a304217 100644
> --- a/include/configs/socfpga_vining_fpga.h
> +++ b/include/configs/socfpga_vining_fpga.h
> @@ -145,6 +145,7 @@
>  			"run ubi_ubi ; "				\
>  		"else echo \"Unsupported boot mode: \"${bootmode} ; "	\
>  		"fi\0"							\
> +		"socfpga_legacy_reset_compat=1\0"			\
>  
>  #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
>  #define CONFIG_ENV_SIZE_REDUND		CONFIG_ENV_SIZE
> 

On my board, setting "socfpga_legacy_reset_compat=1" was not enough. It
also needs "bootm_size=0xa000000" to boot Linux.

Wolfgang
Simon Goldschmidt May 9, 2019, 7:16 p.m. UTC | #2
Am 09.05.2019 um 21:13 schrieb Wolfgang Grandegger:
> Hello Simon,
> 
> Am 09.05.19 um 20:42 schrieb Simon Goldschmidt:
>> This fixes 3 boards that don't use CONFIG_EXTRA_ENV_SETTINGS from
>> socfpga_common.h. They need to enable reset manager compatibility
>> mode unless all peripheral drivers in Linux support reset handling.
>>
>> Fixes: commit 4b2e32efa4e7 ("arm: socfpga: gen5: deassert peripheral reset by default")
>> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
>> Reported-by: Wolfgang Grandegger <wg@aries-embedded.de>
>> ---
>>
>>   include/configs/socfpga_dbm_soc1.h        | 3 ++-
>>   include/configs/socfpga_stratix10_socdk.h | 3 ++-
>>   include/configs/socfpga_vining_fpga.h     | 1 +
>>   3 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/include/configs/socfpga_dbm_soc1.h b/include/configs/socfpga_dbm_soc1.h
>> index b36d7e56fb..fc1db2442e 100644
>> --- a/include/configs/socfpga_dbm_soc1.h
>> +++ b/include/configs/socfpga_dbm_soc1.h
>> @@ -87,7 +87,8 @@
>>   			"echo Running bootscript... ; "			\
>>   			"source ${kernel_addr_r} ; "			\
>>   		"fi ; "							\
>> -		"fi\0"
>> +		"fi\0"							\
>> +	"socfpga_legacy_reset_compat=1\0"
>>   
>>   /* The rest of the configuration is shared */
>>   #include <configs/socfpga_common.h>
>> diff --git a/include/configs/socfpga_stratix10_socdk.h b/include/configs/socfpga_stratix10_socdk.h
>> index 8d2971c6e2..90ad8172e2 100644
>> --- a/include/configs/socfpga_stratix10_socdk.h
>> +++ b/include/configs/socfpga_stratix10_socdk.h
>> @@ -113,7 +113,8 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
>>   	"scriptaddr=0x02100000\0" \
>>   	"scriptfile=u-boot.scr\0" \
>>   	"fatscript=if fatload mmc 0:1 ${scriptaddr} ${scriptfile};" \
>> -		   "then source ${scriptaddr}; fi\0"
>> +		   "then source ${scriptaddr}; fi\0" \
>> +	"socfpga_legacy_reset_compat=1\0"
>>   
>>   /*
>>    * Generic Interrupt Controller Definitions
>> diff --git a/include/configs/socfpga_vining_fpga.h b/include/configs/socfpga_vining_fpga.h
>> index 29a92b9146..737a304217 100644
>> --- a/include/configs/socfpga_vining_fpga.h
>> +++ b/include/configs/socfpga_vining_fpga.h
>> @@ -145,6 +145,7 @@
>>   			"run ubi_ubi ; "				\
>>   		"else echo \"Unsupported boot mode: \"${bootmode} ; "	\
>>   		"fi\0"							\
>> +		"socfpga_legacy_reset_compat=1\0"			\
>>   
>>   #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
>>   #define CONFIG_ENV_SIZE_REDUND		CONFIG_ENV_SIZE
>>
> 
> On my board, setting "socfpga_legacy_reset_compat=1" was not enough. It
> also needs "bootm_size=0xa000000" to boot Linux.

Ok, but that would be a different patch - I wanted this to be a 'fixes' 
patch for that one thing. I'd have to check with the socrates board what 
happens without that bootm_size thing and why...

Regards,
Simon
Marek Vasut May 9, 2019, 7:51 p.m. UTC | #3
On 5/9/19 8:42 PM, Simon Goldschmidt wrote:
[...]

> diff --git a/include/configs/socfpga_vining_fpga.h b/include/configs/socfpga_vining_fpga.h
> index 29a92b9146..737a304217 100644
> --- a/include/configs/socfpga_vining_fpga.h
> +++ b/include/configs/socfpga_vining_fpga.h
> @@ -145,6 +145,7 @@
>  			"run ubi_ubi ; "				\
>  		"else echo \"Unsupported boot mode: \"${bootmode} ; "	\
>  		"fi\0"							\
> +		"socfpga_legacy_reset_compat=1\0"			\

Drop the trailing backslash please.

>  #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
>  #define CONFIG_ENV_SIZE_REDUND		CONFIG_ENV_SIZE
>
Simon Goldschmidt July 10, 2019, 8:01 p.m. UTC | #4
Am 09.05.2019 um 21:51 schrieb Marek Vasut:
> On 5/9/19 8:42 PM, Simon Goldschmidt wrote:
> [...]
> 
>> diff --git a/include/configs/socfpga_vining_fpga.h b/include/configs/socfpga_vining_fpga.h
>> index 29a92b9146..737a304217 100644
>> --- a/include/configs/socfpga_vining_fpga.h
>> +++ b/include/configs/socfpga_vining_fpga.h
>> @@ -145,6 +145,7 @@
>>   			"run ubi_ubi ; "				\
>>   		"else echo \"Unsupported boot mode: \"${bootmode} ; "	\
>>   		"fi\0"							\
>> +		"socfpga_legacy_reset_compat=1\0"			\
> 
> Drop the trailing backslash please.

D'oh, I missed that reply and lost track of the patch (and got totally 
diverted from U-Boot in between).

Sorry, but is seems v2019.07 now doesn't work on these three boards 
(dbm_soc1, stratix10_socdk and vining_fpga), as all perihperals are put 
back into reset before handing off to Linux - and Linux can not yet 
re-enable those peripherals.

I'll post v2 soon. Sorry for the mess.

Regards,
Simon

> 
>>   #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
>>   #define CONFIG_ENV_SIZE_REDUND		CONFIG_ENV_SIZE
>>
> 
>
diff mbox series

Patch

diff --git a/include/configs/socfpga_dbm_soc1.h b/include/configs/socfpga_dbm_soc1.h
index b36d7e56fb..fc1db2442e 100644
--- a/include/configs/socfpga_dbm_soc1.h
+++ b/include/configs/socfpga_dbm_soc1.h
@@ -87,7 +87,8 @@ 
 			"echo Running bootscript... ; "			\
 			"source ${kernel_addr_r} ; "			\
 		"fi ; "							\
-		"fi\0"
+		"fi\0"							\
+	"socfpga_legacy_reset_compat=1\0"
 
 /* The rest of the configuration is shared */
 #include <configs/socfpga_common.h>
diff --git a/include/configs/socfpga_stratix10_socdk.h b/include/configs/socfpga_stratix10_socdk.h
index 8d2971c6e2..90ad8172e2 100644
--- a/include/configs/socfpga_stratix10_socdk.h
+++ b/include/configs/socfpga_stratix10_socdk.h
@@ -113,7 +113,8 @@  unsigned int cm_get_qspi_controller_clk_hz(void);
 	"scriptaddr=0x02100000\0" \
 	"scriptfile=u-boot.scr\0" \
 	"fatscript=if fatload mmc 0:1 ${scriptaddr} ${scriptfile};" \
-		   "then source ${scriptaddr}; fi\0"
+		   "then source ${scriptaddr}; fi\0" \
+	"socfpga_legacy_reset_compat=1\0"
 
 /*
  * Generic Interrupt Controller Definitions
diff --git a/include/configs/socfpga_vining_fpga.h b/include/configs/socfpga_vining_fpga.h
index 29a92b9146..737a304217 100644
--- a/include/configs/socfpga_vining_fpga.h
+++ b/include/configs/socfpga_vining_fpga.h
@@ -145,6 +145,7 @@ 
 			"run ubi_ubi ; "				\
 		"else echo \"Unsupported boot mode: \"${bootmode} ; "	\
 		"fi\0"							\
+		"socfpga_legacy_reset_compat=1\0"			\
 
 #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
 #define CONFIG_ENV_SIZE_REDUND		CONFIG_ENV_SIZE