u-boot/include/configs/smegw01.h
Eduard Strehlau a1bc4f1937 smegw01: Add lockdown U-Boot env support
Add lockdown U-Boot env support so that only certain U-Boot environment
variables are allowed to be modified.

Signed-off-by: Eduard Strehlau <eduard@lionizers.com>
Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-05-02 10:57:32 +02:00

115 lines
3.3 KiB
C

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright (C) 2016 NXP Semiconductors
* Copyright (C) 2021 Fabio Estevam <festevam@denx.de>
*
* Configuration settings for the smegw01 board.
*/
#ifndef __SMEGW01_CONFIG_H
#define __SMEGW01_CONFIG_H
#include "mx7_common.h"
#include <imximage.h>
#define PHYS_SDRAM_SIZE SZ_512M
/* MMC Config*/
#define CFG_SYS_FSL_ESDHC_ADDR 0
/* default to no extra bootparams, we need an empty define for stringification*/
#ifndef EXTRA_BOOTPARAMS
#define EXTRA_BOOTPARAMS
#endif
#ifdef CONFIG_SYS_BOOT_LOCKED
#define EXTRA_ENV_FLAGS
#define SETUP_BOOT_MENU "setup_boot_menu=setenv bootmenu_0 eMMC=run bootcmd\0"
#else
#define EXTRA_ENV_FLAGS "mmcdev:dw,"
#define SETUP_BOOT_MENU "setup_boot_menu=" \
"if test \"${mmcdev}\" = 1; then " \
"setenv emmc_priority 0;" \
"setenv sd_priority 1;" \
"else " \
"setenv emmc_priority 1;" \
"setenv sd_priority 0;" \
"fi;" \
"setenv bootmenu_${emmc_priority} eMMC=run boot_emmc;" \
"setenv bootmenu_${sd_priority} SD=run boot_sd;\0"
#endif
#define CFG_ENV_FLAGS_LIST_STATIC \
"mmcpart:dw," \
"mmcpart_committed:dw," \
"ustate:dw," \
"bootcount:dw," \
"bootlimit:dw," \
"upgrade_available:dw," \
EXTRA_ENV_FLAGS
#define CFG_EXTRA_ENV_SETTINGS \
"image=fitImage\0" \
"console=ttymxc0\0" \
"fdtfile=imx7d-smegw01.dtb\0" \
"fdt_addr=0x83000000\0" \
"bootm_size=0x10000000\0" \
"mmcdev=1\0" \
"mmcpart=1\0" \
"mmcpart_committed=1\0" \
"mmcargs=setenv bootargs console=${console},${baudrate} " \
"root=/dev/mmcblk${mmcdev}p${gpt_partition_entry} rootwait rw " \
__stringify(EXTRA_BOOTPARAMS) " SM_ROOT_DEV=${mmcdev} SM_ROOT_PART=${gpt_partition_entry} SM_BOOT_PART=${boot_part}\0" \
"commit_mmc=if test \"${ustate}\" = 1 -a \"${mmcpart}\" != \"${mmcpart_committed}\"; then " \
"setenv mmcpart_committed ${mmcpart};" \
"saveenv;" \
"fi;\0" \
"bootlimit=3\0" \
"fit_addr=0x88000000\0" \
"loadimage=load mmc ${mmcdev}:${gpt_partition_entry} ${fit_addr} boot/${image}\0" \
"loadpart=gpt setenv mmc ${mmcdev} rootfs-${mmcpart_committed}\0" \
"loadbootpart=mmc partconf 1 boot_part\0" \
"boot_sd=setenv mmcdev_wanted 0; run persist_mmcdev; run bootcmd;\0" \
"boot_emmc=setenv mmcdev_wanted 1; run persist_mmcdev; run bootcmd;\0" \
"persist_mmcdev=" \
"if test \"${mmcdev}\" != \"${mmcdev_wanted}\"; then " \
"setenv mmcdev \"${mmcdev_wanted}\";" \
"saveenv;" \
"fi;\0" \
"mmcboot=echo Booting...; " \
"echo mmcdev: ${mmcdev}; " \
"run commit_mmc; " \
"echo mmcpart: ${mmcpart_committed}; " \
"run loadpart; " \
"echo gptpart: ${gpt_partition_entry}; " \
"run loadbootpart; " \
"if run loadimage; then " \
"; " \
"else " \
"run altbootcmd; " \
"fi; " \
"run mmcargs; " \
"if bootm ${fit_addr}; then " \
"; " \
"else " \
"run altbootcmd; " \
"fi;\0" \
"altbootcmd=echo Performing rollback...; " \
"if test \"${mmcpart_committed}\" = 1; then " \
"setenv mmcpart 2; " \
"setenv mmcpart_committed 2;" \
"else " \
"setenv mmcpart 1; " \
"setenv mmcpart_committed 1;" \
"fi; setenv bootcount 0; setenv upgrade_available; setenv ustate 3; saveenv; " \
"run bootcmd;\0" \
SETUP_BOOT_MENU
/* Physical Memory Map */
#define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
#define CFG_SYS_SDRAM_BASE PHYS_SDRAM
#define CFG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
#define CFG_SYS_INIT_RAM_SIZE IRAM_SIZE
#endif