ls1012a: net: pfe: remove pfe stop from bootcmd
When using bootefi to boot a EFI binary, u-boot is supposed to provide networking service for EFI application. Currently, 'pfe stop' command is called from bootcmd before running bootefi. As a result network stops working for EFI applications and console is flooded with "Rx pkt not on expected port" messages. Implement board_quiesce_devices() for ls1012a boards and call pfe_command_stop() from it instead of calling 'pfe stop' from *_bootcmd and bootcmd. Tested-by: Anji Jagarlmudi <anji.jagarlmudi@nxp.com> Signed-off-by: Mian Yousaf Kaukab <ykaukab@suse.de> Reviewed-by: Ramon Fried <rfried.dev@gmail.com> [Fixed checkpatch space error] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
parent
2bf4658b8c
commit
864c3dbc0a
|
@ -23,6 +23,7 @@
|
||||||
#include <fsl_mmdc.h>
|
#include <fsl_mmdc.h>
|
||||||
#include <netdev.h>
|
#include <netdev.h>
|
||||||
#include <fsl_sec.h>
|
#include <fsl_sec.h>
|
||||||
|
#include <net/pfe_eth/pfe/pfe_hw.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -185,6 +186,13 @@ int board_init(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_FSL_PFE
|
||||||
|
void board_quiesce_devices(void)
|
||||||
|
{
|
||||||
|
pfe_command_stop(0, NULL);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int ft_board_setup(void *blob, struct bd_info *bd)
|
int ft_board_setup(void *blob, struct bd_info *bd)
|
||||||
{
|
{
|
||||||
arch_fixup_fdt(blob);
|
arch_fixup_fdt(blob);
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#include "../common/qixis.h"
|
#include "../common/qixis.h"
|
||||||
#include "ls1012aqds_qixis.h"
|
#include "ls1012aqds_qixis.h"
|
||||||
#include "ls1012aqds_pfe.h"
|
#include "ls1012aqds_pfe.h"
|
||||||
|
#include <net/pfe_eth/pfe/pfe_hw.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -163,6 +164,13 @@ int board_init(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_FSL_PFE
|
||||||
|
void board_quiesce_devices(void)
|
||||||
|
{
|
||||||
|
pfe_command_stop(0, NULL);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int esdhc_status_fixup(void *blob, const char *compat)
|
int esdhc_status_fixup(void *blob, const char *compat)
|
||||||
{
|
{
|
||||||
char esdhc0_path[] = "/soc/esdhc@1560000";
|
char esdhc0_path[] = "/soc/esdhc@1560000";
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include <fsl_mmdc.h>
|
#include <fsl_mmdc.h>
|
||||||
#include <netdev.h>
|
#include <netdev.h>
|
||||||
#include <fsl_sec.h>
|
#include <fsl_sec.h>
|
||||||
|
#include <net/pfe_eth/pfe/pfe_hw.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -186,6 +187,13 @@ int board_init(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_FSL_PFE
|
||||||
|
void board_quiesce_devices(void)
|
||||||
|
{
|
||||||
|
pfe_command_stop(0, NULL);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_TARGET_LS1012ARDB
|
#ifdef CONFIG_TARGET_LS1012ARDB
|
||||||
int esdhc_status_fixup(void *blob, const char *compat)
|
int esdhc_status_fixup(void *blob, const char *compat)
|
||||||
{
|
{
|
||||||
|
|
|
@ -418,7 +418,7 @@ static void send_dummy_pkt_to_hif(void)
|
||||||
writel(buf, TMU_PHY_INQ_PKTINFO);
|
writel(buf, TMU_PHY_INQ_PKTINFO);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pfe_command_stop(int argc, char *const argv[])
|
void pfe_command_stop(int argc, char *const argv[])
|
||||||
{
|
{
|
||||||
int pfe_pe_id, hif_stop_loop = 10;
|
int pfe_pe_id, hif_stop_loop = 10;
|
||||||
u32 rx_status;
|
u32 rx_status;
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
"installer=load mmc 0:2 $load_addr " \
|
"installer=load mmc 0:2 $load_addr " \
|
||||||
"/flex_installer_arm64.itb; " \
|
"/flex_installer_arm64.itb; " \
|
||||||
"bootm $load_addr#$board\0" \
|
"bootm $load_addr#$board\0" \
|
||||||
"qspi_bootcmd=pfe stop; echo Trying load from qspi..;" \
|
"qspi_bootcmd=echo Trying load from qspi..;" \
|
||||||
"sf probe && sf read $load_addr " \
|
"sf probe && sf read $load_addr " \
|
||||||
"$kernel_addr $kernel_size; env exists secureboot " \
|
"$kernel_addr $kernel_size; env exists secureboot " \
|
||||||
"&& sf read $kernelheader_addr_r $kernelheader_addr " \
|
"&& sf read $kernelheader_addr_r $kernelheader_addr " \
|
||||||
|
@ -82,11 +82,11 @@
|
||||||
#undef CONFIG_BOOTCOMMAND
|
#undef CONFIG_BOOTCOMMAND
|
||||||
#ifdef CONFIG_TFABOOT
|
#ifdef CONFIG_TFABOOT
|
||||||
#undef QSPI_NOR_BOOTCOMMAND
|
#undef QSPI_NOR_BOOTCOMMAND
|
||||||
#define QSPI_NOR_BOOTCOMMAND "pfe stop;run distro_bootcmd; run qspi_bootcmd; " \
|
#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; " \
|
||||||
"env exists secureboot && esbc_halt;"
|
"env exists secureboot && esbc_halt;"
|
||||||
#else
|
#else
|
||||||
#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
|
#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
|
||||||
#define CONFIG_BOOTCOMMAND "pfe stop;run distro_bootcmd; run qspi_bootcmd; " \
|
#define CONFIG_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; " \
|
||||||
"env exists secureboot && esbc_halt;"
|
"env exists secureboot && esbc_halt;"
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -102,11 +102,11 @@
|
||||||
|
|
||||||
#undef CONFIG_BOOTCOMMAND
|
#undef CONFIG_BOOTCOMMAND
|
||||||
#ifdef CONFIG_TFABOOT
|
#ifdef CONFIG_TFABOOT
|
||||||
#define QSPI_NOR_BOOTCOMMAND "pfe stop; sf probe 0:0; sf read $kernel_load "\
|
#define QSPI_NOR_BOOTCOMMAND "sf probe 0:0; sf read $kernel_load "\
|
||||||
"$kernel_start $kernel_size && "\
|
"$kernel_start $kernel_size && "\
|
||||||
"bootm $kernel_load"
|
"bootm $kernel_load"
|
||||||
#else
|
#else
|
||||||
#define CONFIG_BOOTCOMMAND "pfe stop; sf probe 0:0; sf read $kernel_load "\
|
#define CONFIG_BOOTCOMMAND "sf probe 0:0; sf read $kernel_load "\
|
||||||
"$kernel_start $kernel_size && "\
|
"$kernel_start $kernel_size && "\
|
||||||
"bootm $kernel_load"
|
"bootm $kernel_load"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -50,16 +50,16 @@
|
||||||
"installer=load usb 0:2 $load_addr " \
|
"installer=load usb 0:2 $load_addr " \
|
||||||
"/flex_installer_arm64.itb; " \
|
"/flex_installer_arm64.itb; " \
|
||||||
"bootm $load_addr#$board\0" \
|
"bootm $load_addr#$board\0" \
|
||||||
"qspi_bootcmd=pfe stop; echo Trying load from qspi..;" \
|
"qspi_bootcmd=echo Trying load from qspi..;" \
|
||||||
"sf probe && sf read $load_addr " \
|
"sf probe && sf read $load_addr " \
|
||||||
"$kernel_addr $kernel_size && bootm $load_addr#$board\0"
|
"$kernel_addr $kernel_size && bootm $load_addr#$board\0"
|
||||||
|
|
||||||
#undef CONFIG_BOOTCOMMAND
|
#undef CONFIG_BOOTCOMMAND
|
||||||
#ifdef CONFIG_TFABOOT
|
#ifdef CONFIG_TFABOOT
|
||||||
#undef QSPI_NOR_BOOTCOMMAND
|
#undef QSPI_NOR_BOOTCOMMAND
|
||||||
#define QSPI_NOR_BOOTCOMMAND "pfe stop;run distro_bootcmd;run qspi_bootcmd"
|
#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd;run qspi_bootcmd"
|
||||||
#else
|
#else
|
||||||
#define CONFIG_BOOTCOMMAND "pfe stop;run distro_bootcmd;run qspi_bootcmd"
|
#define CONFIG_BOOTCOMMAND "run distro_bootcmd;run qspi_bootcmd"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __LS1012ARDB_H__ */
|
#endif /* __LS1012ARDB_H__ */
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
"env exists secureboot " \
|
"env exists secureboot " \
|
||||||
"&& esbc_validate ${scripthdraddr};" \
|
"&& esbc_validate ${scripthdraddr};" \
|
||||||
"source ${scriptaddr}\0" \
|
"source ${scriptaddr}\0" \
|
||||||
"sd_bootcmd=pfe stop; echo Trying load from sd card..;" \
|
"sd_bootcmd=echo Trying load from sd card..;" \
|
||||||
"mmcinfo; mmc read $load_addr " \
|
"mmcinfo; mmc read $load_addr " \
|
||||||
"$kernel_addr_sd $kernel_size_sd ;" \
|
"$kernel_addr_sd $kernel_size_sd ;" \
|
||||||
"env exists secureboot && mmc read $kernelheader_addr_r "\
|
"env exists secureboot && mmc read $kernelheader_addr_r "\
|
||||||
|
@ -100,10 +100,10 @@
|
||||||
#undef CONFIG_BOOTCOMMAND
|
#undef CONFIG_BOOTCOMMAND
|
||||||
#ifdef CONFIG_TFABOOT
|
#ifdef CONFIG_TFABOOT
|
||||||
#undef QSPI_NOR_BOOTCOMMAND
|
#undef QSPI_NOR_BOOTCOMMAND
|
||||||
#define QSPI_NOR_BOOTCOMMAND "pfe stop; run distro_bootcmd; run sd_bootcmd; "\
|
#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run sd_bootcmd; "\
|
||||||
"env exists secureboot && esbc_halt;"
|
"env exists secureboot && esbc_halt;"
|
||||||
#else
|
#else
|
||||||
#define CONFIG_BOOTCOMMAND "pfe stop; run distro_bootcmd; run sd_bootcmd; "\
|
#define CONFIG_BOOTCOMMAND "run distro_bootcmd; run sd_bootcmd; "\
|
||||||
"env exists secureboot && esbc_halt;"
|
"env exists secureboot && esbc_halt;"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -140,7 +140,7 @@
|
||||||
"env exists secureboot " \
|
"env exists secureboot " \
|
||||||
"&& esbc_validate ${scripthdraddr};" \
|
"&& esbc_validate ${scripthdraddr};" \
|
||||||
"source ${scriptaddr}\0" \
|
"source ${scriptaddr}\0" \
|
||||||
"qspi_bootcmd=pfe stop; echo Trying load from qspi..;" \
|
"qspi_bootcmd=echo Trying load from qspi..;" \
|
||||||
"sf probe 0:0 && sf read $load_addr " \
|
"sf probe 0:0 && sf read $load_addr " \
|
||||||
"$kernel_addr $kernel_size; env exists secureboot " \
|
"$kernel_addr $kernel_size; env exists secureboot " \
|
||||||
"&& sf read $kernelheader_addr_r $kernelheader_addr " \
|
"&& sf read $kernelheader_addr_r $kernelheader_addr " \
|
||||||
|
@ -150,10 +150,10 @@
|
||||||
#undef CONFIG_BOOTCOMMAND
|
#undef CONFIG_BOOTCOMMAND
|
||||||
#ifdef CONFIG_TFABOOT
|
#ifdef CONFIG_TFABOOT
|
||||||
#undef QSPI_NOR_BOOTCOMMAND
|
#undef QSPI_NOR_BOOTCOMMAND
|
||||||
#define QSPI_NOR_BOOTCOMMAND "pfe stop; run distro_bootcmd; run qspi_bootcmd; "\
|
#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; "\
|
||||||
"env exists secureboot && esbc_halt;"
|
"env exists secureboot && esbc_halt;"
|
||||||
#else
|
#else
|
||||||
#define CONFIG_BOOTCOMMAND "pfe stop; run distro_bootcmd; run qspi_bootcmd; "\
|
#define CONFIG_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; "\
|
||||||
"env exists secureboot && esbc_halt;"
|
"env exists secureboot && esbc_halt;"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@
|
||||||
"installer=load mmc 0:2 $load_addr " \
|
"installer=load mmc 0:2 $load_addr " \
|
||||||
"/flex_installer_arm64.itb; " \
|
"/flex_installer_arm64.itb; " \
|
||||||
"bootm $load_addr#$board\0" \
|
"bootm $load_addr#$board\0" \
|
||||||
"qspi_bootcmd=pfe stop; echo Trying load from qspi..;" \
|
"qspi_bootcmd=echo Trying load from qspi..;" \
|
||||||
"sf probe && sf read $load_addr " \
|
"sf probe && sf read $load_addr " \
|
||||||
"$kernel_addr $kernel_size; env exists secureboot " \
|
"$kernel_addr $kernel_size; env exists secureboot " \
|
||||||
"&& sf read $kernelheader_addr_r $kernelheader_addr " \
|
"&& sf read $kernelheader_addr_r $kernelheader_addr " \
|
||||||
|
@ -101,10 +101,10 @@
|
||||||
#undef CONFIG_BOOTCOMMAND
|
#undef CONFIG_BOOTCOMMAND
|
||||||
#ifdef CONFIG_TFABOOT
|
#ifdef CONFIG_TFABOOT
|
||||||
#undef QSPI_NOR_BOOTCOMMAND
|
#undef QSPI_NOR_BOOTCOMMAND
|
||||||
#define QSPI_NOR_BOOTCOMMAND "pfe stop; run distro_bootcmd; run qspi_bootcmd; "\
|
#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; "\
|
||||||
"env exists secureboot && esbc_halt;"
|
"env exists secureboot && esbc_halt;"
|
||||||
#else
|
#else
|
||||||
#define CONFIG_BOOTCOMMAND "pfe stop; run distro_bootcmd; run qspi_bootcmd; "\
|
#define CONFIG_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; "\
|
||||||
"env exists secureboot && esbc_halt;"
|
"env exists secureboot && esbc_halt;"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -160,4 +160,10 @@ void hif_rx_enable(void);
|
||||||
void hif_rx_disable(void);
|
void hif_rx_disable(void);
|
||||||
void hif_rx_desc_disable(void);
|
void hif_rx_desc_disable(void);
|
||||||
|
|
||||||
|
#ifdef PFE_RESET_WA
|
||||||
|
void pfe_command_stop(int argc, char *const argv[]);
|
||||||
|
#else
|
||||||
|
static void pfe_command_stop(int argc, char *const argv[]) {}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _PFE_H_ */
|
#endif /* _PFE_H_ */
|
||||||
|
|
Loading…
Reference in New Issue