[PATCH 3/6] board: phytec: phycore-imx8mp: Add EEPROM detection initialisation

Yannic Moog Y.Moog at phytec.de
Thu Aug 3 10:10:03 CEST 2023


Hello Teresa,

On Tue, 2023-07-18 at 15:35 +0200, Teresa Remmet wrote:
> Add EEPROM detection initialisation for phyCORE-i.MX8MM and
> print SoM information during boot when successful.
> 
> Signed-off-by: Teresa Remmet <t.remmet at phytec.de>
> ---
>  board/phytec/phycore_imx8mp/Kconfig |  1 +
>  board/phytec/phycore_imx8mp/spl.c   | 19 +++++++++++++++++++
>  configs/phycore-imx8mp_defconfig    |  1 +
>  3 files changed, 21 insertions(+)
> 
> diff --git a/board/phytec/phycore_imx8mp/Kconfig
> b/board/phytec/phycore_imx8mp/Kconfig
> index c053a46fc9d1..f846d10bad9e 100644
> --- a/board/phytec/phycore_imx8mp/Kconfig
> +++ b/board/phytec/phycore_imx8mp/Kconfig
> @@ -12,4 +12,5 @@ config SYS_CONFIG_NAME
>  config IMX_CONFIG
>         default "board/phytec/phycore_imx8mp/imximage-8mp-sd.cfg"
>  
> +source "board/phytec/common/Kconfig"
>  endif
> diff --git a/board/phytec/phycore_imx8mp/spl.c
> b/board/phytec/phycore_imx8mp/spl.c
> index faed6fc3b76d..e084fe081987 100644
> --- a/board/phytec/phycore_imx8mp/spl.c
> +++ b/board/phytec/phycore_imx8mp/spl.c
> @@ -21,8 +21,13 @@
>  #include <power/pca9450.h>
>  #include <spl.h>
>  
> +#include "../common/imx8m_som_detection.h"
> +
>  DECLARE_GLOBAL_DATA_PTR;
>  
> +#define EEPROM_ADDR             0x51
> +#define EEPROM_ADDR_FALLBACK    0x59
> +
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>         return BOOT_DEVICE_BOOTROM;
> @@ -30,6 +35,20 @@ int spl_board_boot_device(enum boot_device
> boot_dev_spl)
>  
>  void spl_dram_init(void)
>  {
> +       int ret;
> +
> +       ret = phytec_eeprom_data_setup_fallback(NULL, 0, EEPROM_ADDR,
> +                                               EEPROM_ADDR_FALLBACK)
> ;
> +       if (ret)
> +               goto out;
> +
> +       ret = phytec_imx8m_detect(NULL);
> +       if (ret)
> +               goto out;
> +
> +       phytec_print_som_info(NULL);
> +

Is it better to do a ddr_init here and then return? For safety reasons.

Yannic

> +out:
>         ddr_init(&dram_timing);
>  }
>  
> diff --git a/configs/phycore-imx8mp_defconfig b/configs/phycore-
> imx8mp_defconfig
> index 7bf404be860b..7937e15e6422 100644
> --- a/configs/phycore-imx8mp_defconfig
> +++ b/configs/phycore-imx8mp_defconfig
> @@ -12,6 +12,7 @@ CONFIG_DM_GPIO=y
>  CONFIG_DEFAULT_DEVICE_TREE="imx8mp-phyboard-pollux-rdk"
>  CONFIG_SPL_TEXT_BASE=0x920000
>  CONFIG_TARGET_PHYCORE_IMX8MP=y
> +CONFIG_PHYTEC_SOM_DETECTION=y
>  CONFIG_SYS_PROMPT="u-boot=> "
>  CONFIG_SYS_MONITOR_LEN=524288
>  CONFIG_SPL_MMC=y



More information about the U-Boot mailing list