summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsanshan zhang <sanshan.zhang@nxp.com>2017-06-08 10:11:09 +0800
committerJason Liu <jason.hui.liu@nxp.com>2017-11-03 02:36:53 +0800
commit06b2f0cc23732e3e3391bf7fc4cf5e35c512bb81 (patch)
treee224a7973a0d55ba43ebd44496bdfb6a5b4da181
parent092df6b3f20b5f7ab5ce197378cfff02ce16b33f (diff)
MA-9702-1 [Android] arm2-8qm: bring up android in v2017.
add api get_board_serial and is_recovery_key_pressing for android. 1. read unique num from fuse through api sc_misc_otp_fuse_read exported by sc firmware. 2. many register have not added in reg.h set is_recovery_key_pressing into TODO list. Change-Id: I2175e3a379d979ed473a4494695483dbf579bb2d Signed-off-by: sanshan zhang <sanshan.zhang@nxp.com>
-rw-r--r--arch/arm/cpu/armv8/imx8/cpu.c31
-rw-r--r--board/freescale/imx8qm_arm2/imx8qm_arm2.c8
2 files changed, 39 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv8/imx8/cpu.c b/arch/arm/cpu/armv8/imx8/cpu.c
index f0877b5c493..ead175f67dc 100644
--- a/arch/arm/cpu/armv8/imx8/cpu.c
+++ b/arch/arm/cpu/armv8/imx8/cpu.c
@@ -690,6 +690,37 @@ int print_bootinfo(void)
return 0;
}
+#ifdef CONFIG_SERIAL_TAG
+#define FUSE_UNIQUE_ID_WORD0 16
+#define FUSE_UNIQUE_ID_WORD1 17
+void get_board_serial(struct tag_serialnr *serialnr)
+{
+ sc_err_t err;
+ sc_ipc_t ipc;
+ uint32_t val1 = 0, val2 = 0;
+ uint32_t word1, word2;
+
+ ipc = gd->arch.ipc_channel_handle;
+
+ word1 = FUSE_UNIQUE_ID_WORD0;
+ word2 = FUSE_UNIQUE_ID_WORD1;
+
+ err = sc_misc_otp_fuse_read(ipc, word1, &val1);
+ if (err != SC_ERR_NONE) {
+ printf("%s fuse %d read error: %d\n", __func__,word1, err);
+ return;
+ }
+
+ err = sc_misc_otp_fuse_read(ipc, word2, &val2);
+ if (err != SC_ERR_NONE) {
+ printf("%s fuse %d read error: %d\n", __func__, word2, err);
+ return;
+ }
+ serialnr->low = val1;
+ serialnr->high = val2;
+}
+#endif /*CONFIG_SERIAL_TAG*/
+
#ifdef CONFIG_ENV_IS_IN_MMC
__weak int board_mmc_get_env_dev(int devno)
{
diff --git a/board/freescale/imx8qm_arm2/imx8qm_arm2.c b/board/freescale/imx8qm_arm2/imx8qm_arm2.c
index aff12d9f44c..c9de38bd527 100644
--- a/board/freescale/imx8qm_arm2/imx8qm_arm2.c
+++ b/board/freescale/imx8qm_arm2/imx8qm_arm2.c
@@ -758,3 +758,11 @@ int board_late_init(void)
return 0;
}
+#ifdef CONFIG_FSL_FASTBOOT
+#ifdef CONFIG_ANDROID_RECOVERY
+int is_recovery_key_pressing(void)
+{
+ return 0; /*TODO*/
+}
+#endif /*CONFIG_ANDROID_RECOVERY*/
+#endif /*CONFIG_FSL_FASTBOOT*/