aboutsummaryrefslogtreecommitdiff
path: root/board/freescale/common
diff options
context:
space:
mode:
Diffstat (limited to 'board/freescale/common')
-rw-r--r--board/freescale/common/Kconfig110
-rw-r--r--board/freescale/common/fsl_chain_of_trust.c5
-rw-r--r--board/freescale/common/fsl_validate.c2
-rw-r--r--board/freescale/common/qixis.h21
4 files changed, 25 insertions, 113 deletions
diff --git a/board/freescale/common/Kconfig b/board/freescale/common/Kconfig
deleted file mode 100644
index b0e6e43f4f..0000000000
--- a/board/freescale/common/Kconfig
+++ /dev/null
@@ -1,110 +0,0 @@
-config CHAIN_OF_TRUST
- depends on !FIT_SIGNATURE && NXP_ESBC
- imply CMD_BLOB
- imply CMD_HASH if ARM
- select FSL_CAAM
- select ARCH_MISC_INIT
- select SPL_BOARD_INIT if (ARM && SPL)
- select SPL_HASH if (ARM && SPL)
- select SHA_HW_ACCEL
- select SHA_PROG_HW_ACCEL
- select ENV_IS_NOWHERE
- select CMD_EXT4 if ARM
- select CMD_EXT4_WRITE if ARM
- bool
- default y
-
-config CMD_ESBC_VALIDATE
- bool "Enable the 'esbc_validate' and 'esbc_halt' commands"
- default y if CHAIN_OF_TRUST
- help
- This option enables two commands used for secure booting:
-
- esbc_validate - validate signature using RSA verification
- esbc_halt - put the core in spin loop (Secure Boot Only)
-
-config DEEP_SLEEP
- bool "Enable SoC deep sleep feature"
- default y if ARCH_T1024 || ARCH_T1040 || ARCH_T1042 || ARCH_LS1021A
- help
- Indicates this SoC supports deep sleep feature. If deep sleep is
- supported, core will start to execute uboot when wakes up.
-
-config FSL_USE_PCA9547_MUX
- bool "Enable PCA9547 I2C Mux on Freescale boards"
- help
- This option enables the PCA9547 I2C mux on Freescale boards.
-
-config VID
- bool "Enable Freescale VID"
- depends on I2C || DM_I2C
- help
- This option enables setting core voltage based on individual
- values saved in SoC fuses.
-
-config SPL_VID
- bool "Enable Freescale VID in SPL"
- depends on I2C || DM_I2C
- help
- This option enables setting core voltage based on individual
- values saved in SoC fuses, in SPL.
-
-if VID || SPL_VID
-
-config VID_FLS_ENV
- string "Environment variable for overriding VDD"
- help
- This option allows for specifying the environment variable
- to check to override VDD information.
-
-config VOL_MONITOR_INA220
- bool "Enable the INA220 voltage monitor read"
- help
- This option enables INA220 voltage monitor read
- functionality. It is used by the common VID driver.
-
-config VOL_MONITOR_IR36021_READ
- bool "Enable the IR36021 voltage monitor read"
- help
- This option enables IR36021 voltage monitor read
- functionality. It is used by the common VID driver.
-
-config VOL_MONITOR_IR36021_SET
- bool "Enable the IR36021 voltage monitor set"
- help
- This option enables IR36021 voltage monitor set
- functionality. It is used by the common VID driver.
-
-config VOL_MONITOR_LTC3882_READ
- bool "Enable the LTC3882 voltage monitor read"
- help
- This option enables LTC3882 voltage monitor read
- functionality. It is used by the common VID driver.
-
-config VOL_MONITOR_LTC3882_SET
- bool "Enable the LTC3882 voltage monitor set"
- help
- This option enables LTC3882 voltage monitor set
- functionality. It is used by the common VID driver.
-
-config VOL_MONITOR_ISL68233_READ
- bool "Enable the ISL68233 voltage monitor read"
- help
- This option enables ISL68233 voltage monitor read
- functionality. It is used by the common VID driver.
-
-config VOL_MONITOR_ISL68233_SET
- bool "Enable the ISL68233 voltage monitor set"
- help
- This option enables ISL68233 voltage monitor set
- functionality. It is used by the common VID driver.
-
-endif
-
-config FSL_QIXIS
- bool "Enable QIXIS support"
-
-config QIXIS_I2C_ACCESS
- bool "Access to QIXIS is over i2c"
- depends on FSL_QIXIS
- default y
diff --git a/board/freescale/common/fsl_chain_of_trust.c b/board/freescale/common/fsl_chain_of_trust.c
index 7ffb315bc9..d31fb82181 100644
--- a/board/freescale/common/fsl_chain_of_trust.c
+++ b/board/freescale/common/fsl_chain_of_trust.c
@@ -12,6 +12,7 @@
#include <fsl_sfp.h>
#include <log.h>
#include <dm/root.h>
+#include <asm/fsl_secure_boot.h>
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_FRAMEWORK)
#include <spl.h>
@@ -76,14 +77,14 @@ int fsl_setenv_chain_of_trust(void)
/* If Boot mode is Secure, set the environment variables
* bootdelay = 0 (To disable Boot Prompt)
- * bootcmd = CONFIG_CHAIN_BOOT_CMD (Validate and execute Boot script)
+ * bootcmd = CHAIN_BOOT_CMD (Validate and execute Boot script)
*/
env_set("bootdelay", "-2");
#ifdef CONFIG_ARM
env_set("secureboot", "y");
#else
- env_set("bootcmd", CONFIG_CHAIN_BOOT_CMD);
+ env_set("bootcmd", CHAIN_BOOT_CMD);
#endif
return 0;
diff --git a/board/freescale/common/fsl_validate.c b/board/freescale/common/fsl_validate.c
index 34875d0b8f..f1a0b0cfc3 100644
--- a/board/freescale/common/fsl_validate.c
+++ b/board/freescale/common/fsl_validate.c
@@ -871,7 +871,7 @@ int fsl_secboot_validate(uintptr_t haddr, char *arg_hash_str,
int ret, i, hash_cmd = 0;
u32 srk_hash[8];
- if (arg_hash_str != NULL) {
+ if (strlen(arg_hash_str) != 0) {
const char *cp = arg_hash_str;
int i = 0;
diff --git a/board/freescale/common/qixis.h b/board/freescale/common/qixis.h
index 0860bd2312..af76327e4d 100644
--- a/board/freescale/common/qixis.h
+++ b/board/freescale/common/qixis.h
@@ -166,4 +166,25 @@ defined(CONFIG_TARGET_LX2160ARDB)
#define QIXIS_ESDHC_NO_ADAPTER 0x7
#endif
+/*
+ * implementation of CONFIG_ESDHC_DETECT_QUIRK Macro.
+ */
+static inline u8 qixis_esdhc_detect_quirk(void)
+{
+ /*
+ * SDHC1 Card ID:
+ * Specifies the type of card installed in the SDHC1 adapter slot.
+ * 000= (reserved)
+ * 001= eMMC V4.5 adapter is installed.
+ * 010= SD/MMC 3.3V adapter is installed.
+ * 011= eMMC V4.4 adapter is installed.
+ * 100= eMMC V5.0 adapter is installed.
+ * 101= MMC card/Legacy (3.3V) adapter is installed.
+ * 110= SDCard V2/V3 adapter installed.
+ * 111= no adapter is installed.
+ */
+ return ((QIXIS_READ(sdhc1) & QIXIS_SDID_MASK) !=
+ QIXIS_ESDHC_NO_ADAPTER);
+}
+
#endif