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 |
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
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
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 >
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 --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
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(-)