
To keep the current behaviour of taking all peripherals out of reset before booting the OS before removing that code from socfpga gen5 SPL, this enables the new behaviour by default for all gen5 boards by adding the environment variable "socfpga_permodrst_ungate=1" to the default environment.
This can be overridden in board config files or by saving an environment without this variable enabled.
Signed-off-by: Simon Goldschmidt simon.k.r.goldschmidt@gmail.com ---
Changes in v2: - this patch is new in v2
include/configs/socfpga_common.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h index c9cbf8f5e3..2510c6fd7b 100644 --- a/include/configs/socfpga_common.h +++ b/include/configs/socfpga_common.h @@ -321,6 +321,19 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
#include <config_distro_bootcmd.h>
+#ifdef CONFIG_TARGET_SOCFPGA_GEN5 +/* + * Handle compatibility for peripheral reset for Linux kernels that haven't + * implemented peripheral reset for all drivers. + * Define this to "" disable this compatibility. + */ +#ifndef SOCFPGA_PERMODRST_UNGATE +#define SOCFPGA_PERMODRST_UNGATE "socfpga_permodrst_ungate=1\0" +#endif +#else +#define SOCFPGA_PERMODRST_UNGATE "" +#endif + #ifndef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ @@ -330,6 +343,7 @@ unsigned int cm_get_qspi_controller_clk_hz(void); "scriptaddr=0x02100000\0" \ "pxefile_addr_r=0x02200000\0" \ "ramdisk_addr_r=0x02300000\0" \ + SOCFPGA_PERMODRST_UNGATE \ BOOTENV
#endif