mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
arm64: zynqmp: probe firmware driver
Probe ZynqMP firmware driver on the board initialization phase and ensure that firmware is in place to continue execution. The probing is done on board_init so it can be used for both SPL and U-Boot proper. Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
283d81acba
commit
325a22dc19
2 changed files with 9 additions and 12 deletions
|
@ -1057,9 +1057,12 @@ config ARCH_ZYNQMP
|
|||
select DM_SPI if SPI
|
||||
select DM_SPI_FLASH if DM_SPI
|
||||
select DM_USB if USB
|
||||
select FIRMWARE
|
||||
select OF_CONTROL
|
||||
select SPL_BOARD_INIT if SPL
|
||||
select SPL_CLK if SPL
|
||||
select SPL_DM_MAILBOX if SPL
|
||||
select SPL_FIRMWARE if SPL
|
||||
select SPL_SEPARATE_BSS if SPL
|
||||
select SUPPORT_SPL
|
||||
select ZYNQMP_IPI
|
||||
|
|
|
@ -318,18 +318,6 @@ static char *zynqmp_get_silicon_idcode_name(void)
|
|||
int board_early_init_f(void)
|
||||
{
|
||||
int ret = 0;
|
||||
#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_CLK_ZYNQMP)
|
||||
u32 pm_api_version;
|
||||
|
||||
pm_api_version = zynqmp_firmware_version();
|
||||
printf("PMUFW:\tv%d.%d\n",
|
||||
pm_api_version >> ZYNQMP_PM_VERSION_MAJOR_SHIFT,
|
||||
pm_api_version & ZYNQMP_PM_VERSION_MINOR_MASK);
|
||||
|
||||
if (pm_api_version < ZYNQMP_PM_VERSION)
|
||||
panic("PMUFW version error. Expected: v%d.%d\n",
|
||||
ZYNQMP_PM_VERSION_MAJOR, ZYNQMP_PM_VERSION_MINOR);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ZYNQMP_PSU_INIT_ENABLED)
|
||||
ret = psu_init();
|
||||
|
@ -340,6 +328,12 @@ int board_early_init_f(void)
|
|||
|
||||
int board_init(void)
|
||||
{
|
||||
struct udevice *dev;
|
||||
|
||||
uclass_get_device_by_name(UCLASS_FIRMWARE, "zynqmp-power", &dev);
|
||||
if (!dev)
|
||||
panic("PMU Firmware device not found - Enable it");
|
||||
|
||||
#if defined(CONFIG_SPL_BUILD)
|
||||
/* Check *at build time* if the filename is an non-empty string */
|
||||
if (sizeof(CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE) > 1)
|
||||
|
|
Loading…
Reference in a new issue