u-boot/board/phytec/phycore_imx8mp/phycore-imx8mp.c
Benjamin Hahn 8dcf1df48d phycore-imx8mp: add support for booting and flashing emmc via UUU
add support for Serial Downloader Boot via UUU as well as flashing emmc
via UUU on USB0 Port of phyBOARD Pollux.

Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
2024-02-08 10:11:46 -03:00

58 lines
1,017 B
C

// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright (C) 2020 PHYTEC Messtechnik GmbH
* Author: Teresa Remmet <t.remmet@phytec.de>
*/
#include <common.h>
#include <asm/arch/sys_proto.h>
#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/mach-imx/boot_mode.h>
#include <env.h>
#include <miiphy.h>
DECLARE_GLOBAL_DATA_PTR;
static int setup_fec(void)
{
struct iomuxc_gpr_base_regs *gpr =
(struct iomuxc_gpr_base_regs *)IOMUXC_GPR_BASE_ADDR;
/* Use 125M anatop REF_CLK1 for ENET1, not from external */
clrsetbits_le32(&gpr->gpr[1], 0x2000, 0);
return 0;
}
int board_init(void)
{
setup_fec();
return 0;
}
int board_mmc_get_env_dev(int devno)
{
return devno;
}
int board_late_init(void)
{
switch (get_boot_device()) {
case SD2_BOOT:
env_set_ulong("mmcdev", 1);
break;
case MMC3_BOOT:
env_set_ulong("mmcdev", 2);
break;
case USB_BOOT:
printf("Detect USB boot. Will enter fastboot mode!\n");
env_set_ulong("dofastboot", 1);
break;
default:
break;
}
return 0;
}