// SPDX-License-Identifier: GPL-2.0+ /* * Copyright 2022 NXP */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include DECLARE_GLOBAL_DATA_PTR; #define UART_PAD_CTRL (PAD_CTL_DSE(6) | PAD_CTL_FSEL2) #define WDOG_PAD_CTRL (PAD_CTL_DSE(6) | PAD_CTL_ODE | PAD_CTL_PUE | PAD_CTL_PE) static iomux_v3_cfg_t const uart_pads[] = { MX93_PAD_UART1_RXD__LPUART1_RX | MUX_PAD_CTRL(UART_PAD_CTRL), MX93_PAD_UART1_TXD__LPUART1_TX | MUX_PAD_CTRL(UART_PAD_CTRL), }; #if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT) #define IMX_BOOT_IMAGE_GUID \ EFI_GUID(0xbc550d86, 0xda26, 0x4b70, 0xac, 0x05, \ 0x2a, 0x44, 0x8e, 0xda, 0x6f, 0x21) struct efi_fw_image fw_images[] = { { .image_type_id = IMX_BOOT_IMAGE_GUID, .fw_name = u"IMX93-11X11-EVK-RAW", .image_index = 1, }, }; struct efi_capsule_update_info update_info = { .dfu_string = "mmc 0=flash-bin raw 0 0x2000 mmcpart 1", .num_images = ARRAY_SIZE(fw_images), .images = fw_images, }; #endif /* EFI_HAVE_CAPSULE_SUPPORT */ int board_early_init_f(void) { imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads)); return 0; } static int setup_fec(void) { return set_clk_enet(ENET_125MHZ); } int board_phy_config(struct phy_device *phydev) { if (phydev->drv->config) phydev->drv->config(phydev); return 0; } int board_init(void) { if (IS_ENABLED(CONFIG_FEC_MXC)) setup_fec(); return 0; } int board_late_init(void) { #if CONFIG_IS_ENABLED(ENV_IS_IN_MMC) || CONFIG_IS_ENABLED(ENV_IS_NOWHERE) board_late_mmc_env_init(); #endif #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG env_set("board_name", "11X11_EVK"); env_set("board_rev", "iMX93"); #endif return 0; }