The MC reads the SD1 lane grouping once, when it boots. lx2160a_serdes_apply_hwconfig() has to run before.
Signed-off-by: Vincent Jardin <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> --- (no changes since v4) Changes in v4: - New patch board/nxp/lx2160a/serdes_split.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/board/nxp/lx2160a/serdes_split.c b/board/nxp/lx2160a/serdes_split.c index 57504a2327c..ba3be4bc0d7 100644 --- a/board/nxp/lx2160a/serdes_split.c +++ b/board/nxp/lx2160a/serdes_split.c @@ -12,6 +12,7 @@ #include <asm/arch/fsl_serdes.h> #include <asm/arch/immap_lsch3.h> #include <asm/arch/soc.h> /* gur_in32() picks the GUR endianness */ +#include <fsl-mc/fsl_mc.h> #include <linux/bitmap.h> #include <linux/kernel.h> #include <linux/string.h> @@ -524,6 +525,12 @@ void lx2160a_serdes_apply_hwconfig(void) if (mode->is_active(srds_base(FSL_SRDS_1))) return; + if (IS_ENABLED(CONFIG_FSL_MC_ENET) && get_mc_boot_status() != -1) { + printf("lx2160a serdes: the MC is already running, serdes1:%s not applied\n", + mode->name); + return; + } + sd1_enter(mode); } -- 2.43.0
