]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: mvebu: Convert board_pex_config() to CONFIG_SPL_BOARD_INIT
authorPali Rohár <pali@kernel.org>
Tue, 21 Dec 2021 11:20:11 +0000 (12:20 +0100)
committerStefan Roese <sr@denx.de>
Fri, 14 Jan 2022 06:47:57 +0000 (07:47 +0100)
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>
arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.c
arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.h
board/gdsys/a38x/controlcenterdc.c
configs/controlcenterdc_defconfig

index 55c3f9ca390bf43d63898a4228e56c7e0db613f2..b3cbddf6a2f01115870999b0100f71571a7dee01 100644 (file)
 #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;
 }
index 64193d528886e82b6c89813109c5c50bd70476bf..abdbe3c66045aeb1b1c87b04ce21af0e790fcc89 100644 (file)
@@ -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
index dc424f271c5e02b37f20ac61ca2cbb79d0a7108a..243d022326677a2fae9d4e91e4dca4748e20c7d6 100644 (file)
@@ -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;
index d6844a48ac1bd1b016e3db73a6688ec11c204d7e..b6eb955086938ab730a5bdf9ea9966129143fcd9 100644 (file)
@@ -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