summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2021-12-21 12:20:11 +0100
committerStefan Roese <sr@denx.de>2022-01-14 07:47:57 +0100
commit8f9e0f4d207e7bb65173c7cd00d91946cfb838a7 (patch)
tree125ef7ac4641b55dcd123e0d9a7c895a5b1bb749
parent25711b07ca1dcf73dc41b45ca040dadbcff0fa08 (diff)
arm: mvebu: Convert board_pex_config() to CONFIG_SPL_BOARD_INIT
The only user of board_pex_config() weak function is A385 controlcenterdc board. It looks like that code in its board_pex_config() function needs to be executed after PCIe link is up. Therefore put this code into spl_board_init() function which is called after a38x serdes initialization, and therefore it is after the serdes hws_pex_config() function finishes (which is the state before this change). With this change completely remove board_pex_config() function as it is not used anymore. Signed-off-by: Pali Rohár <pali@kernel.org>
-rw-r--r--arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.c7
-rw-r--r--arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.h1
-rw-r--r--board/gdsys/a38x/controlcenterdc.c2
-rw-r--r--configs/controlcenterdc_defconfig1
4 files changed, 2 insertions, 9 deletions
diff --git a/arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.c b/arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.c
index 55c3f9ca39..b3cbddf6a2 100644
--- a/arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.c
+++ b/arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.c
@@ -14,11 +14,6 @@
#include "ctrl_pex.h"
#include "sys_env_lib.h"
-__weak void board_pex_config(void)
-{
- /* nothing in this weak default implementation */
-}
-
int hws_pex_config(const struct serdes_map *serdes_map, u8 count)
{
enum serdes_type serdes_type;
@@ -58,7 +53,5 @@ int hws_pex_config(const struct serdes_map *serdes_map, u8 count)
reg_write(SOC_CONTROL_REG1, tmp);
- board_pex_config();
-
return MV_OK;
}
diff --git a/arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.h b/arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.h
index 64193d5288..abdbe3c660 100644
--- a/arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.h
+++ b/arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.h
@@ -23,6 +23,5 @@
#define PCIE4_ENABLE_MASK (0x1 << PCIE3_ENABLE_OFFS)
int hws_pex_config(const struct serdes_map *serdes_map, u8 count);
-void board_pex_config(void);
#endif
diff --git a/board/gdsys/a38x/controlcenterdc.c b/board/gdsys/a38x/controlcenterdc.c
index dc424f271c..243d022326 100644
--- a/board/gdsys/a38x/controlcenterdc.c
+++ b/board/gdsys/a38x/controlcenterdc.c
@@ -94,7 +94,7 @@ int hws_board_topology_load(struct serdes_map **serdes_map_array, u8 *count)
return 0;
}
-void board_pex_config(void)
+void spl_board_init(void)
{
#ifdef CONFIG_SPL_BUILD
uint k;
diff --git a/configs/controlcenterdc_defconfig b/configs/controlcenterdc_defconfig
index d6844a48ac..b6eb955086 100644
--- a/configs/controlcenterdc_defconfig
+++ b/configs/controlcenterdc_defconfig
@@ -33,6 +33,7 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y
CONFIG_DISPLAY_BOARDINFO_LATE=y
CONFIG_BOARD_LATE_INIT=y
CONFIG_LAST_STAGE_INIT=y
+CONFIG_SPL_BOARD_INIT=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_I2C=y
CONFIG_HUSH_PARSER=y