summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpu/arm_cortexa8/mx6/generic.c12
-rw-r--r--include/asm-arm/arch-mx6/mx6.h10
-rw-r--r--include/configs/mx6dl_arm2.h1
-rw-r--r--include/configs/mx6dl_arm2_iram.h1
-rw-r--r--include/configs/mx6dl_arm2_lpddr2.h1
-rw-r--r--include/configs/mx6dl_arm2_mfg.h1
-rw-r--r--include/configs/mx6dl_sabresd.h1
-rw-r--r--include/configs/mx6dl_sabresd_mfg.h1
-rw-r--r--include/configs/mx6q_arm2.h1
-rw-r--r--include/configs/mx6q_arm2_iram.h1
-rw-r--r--include/configs/mx6q_arm2_lpddr2.h1
-rwxr-xr-xinclude/configs/mx6q_arm2_lpddr2pop.h1
-rw-r--r--include/configs/mx6q_arm2_mfg.h1
-rw-r--r--include/configs/mx6q_sabreauto.h1
-rw-r--r--include/configs/mx6q_sabreauto_mfg.h1
-rw-r--r--include/configs/mx6q_sabreauto_nand.h1
-rw-r--r--include/configs/mx6q_sabreauto_weimnor.h1
-rw-r--r--include/configs/mx6q_sabreauto_weimnor_mfg.h1
-rw-r--r--include/configs/mx6q_sabrelite.h1
-rw-r--r--include/configs/mx6q_sabrelite_android.h1
-rw-r--r--include/configs/mx6q_sabrelite_mfg.h1
-rw-r--r--include/configs/mx6q_sabresd.h1
-rw-r--r--include/configs/mx6q_sabresd_iram.h1
-rw-r--r--include/configs/mx6q_sabresd_mfg.h1
-rw-r--r--include/configs/mx6sl_arm2.h1
-rw-r--r--include/configs/mx6sl_arm2_iram.h1
-rw-r--r--include/configs/mx6sl_arm2_mfg.h1
-rw-r--r--include/configs/mx6sl_evk.h1
-rw-r--r--include/configs/mx6sl_evk_iram.h1
-rw-r--r--include/configs/mx6solo_sabreauto.h1
-rw-r--r--include/configs/mx6solo_sabreauto_mfg.h1
-rw-r--r--include/configs/mx6solo_sabreauto_weimnor.h1
-rw-r--r--include/configs/mx6solo_sabreauto_weimnor_mfg.h1
33 files changed, 53 insertions, 0 deletions
diff --git a/cpu/arm_cortexa8/mx6/generic.c b/cpu/arm_cortexa8/mx6/generic.c
index f0a9ce2aff..60c87c7f7a 100644
--- a/cpu/arm_cortexa8/mx6/generic.c
+++ b/cpu/arm_cortexa8/mx6/generic.c
@@ -51,6 +51,10 @@
#include <asm/arch/mx6_secure.h>
#endif
+#ifdef CONFIG_SERIAL_TAG
+#include <imx_otp.h>
+#endif
+
enum pll_clocks {
CPU_PLL1, /* System PLL */
BUS_PLL2, /* System Bus PLL*/
@@ -1426,3 +1430,11 @@ struct reco_envs supported_reco_envs[BOOT_DEV_NUM] = {
},
};
#endif
+
+#ifdef CONFIG_SERIAL_TAG
+void get_board_serial(struct tag_serialnr *serialnr)
+{
+ imx_otp_read_one_u32(CPU_UID_LOW_FUSE_INDEX, &serialnr->low);
+ imx_otp_read_one_u32(CPU_UID_HIGH_FUSE_INDEX, &serialnr->high);
+}
+#endif
diff --git a/include/asm-arm/arch-mx6/mx6.h b/include/asm-arm/arch-mx6/mx6.h
index d03adc9c44..efb90c26c7 100644
--- a/include/asm-arm/arch-mx6/mx6.h
+++ b/include/asm-arm/arch-mx6/mx6.h
@@ -105,6 +105,16 @@
*/
#define DVFS_MAX_PIX_CLK 54000000
+/*!
+ * The Low 32 bits of CPU Serial Number Fuse Index
+ */
+#define CPU_UID_LOW_FUSE_INDEX 1
+
+/*!
+ * The High 32 bits of CPU Serial Number Fuse Index
+ */
+#define CPU_UID_HIGH_FUSE_INDEX 2
+
/* IROM
*/
diff --git a/include/configs/mx6dl_arm2.h b/include/configs/mx6dl_arm2.h
index 8e15535579..fc44c5102f 100644
--- a/include/configs/mx6dl_arm2.h
+++ b/include/configs/mx6dl_arm2.h
@@ -56,6 +56,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6dl_arm2_iram.h b/include/configs/mx6dl_arm2_iram.h
index 6bd304468e..6f64273d1e 100644
--- a/include/configs/mx6dl_arm2_iram.h
+++ b/include/configs/mx6dl_arm2_iram.h
@@ -51,6 +51,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6dl_arm2_lpddr2.h b/include/configs/mx6dl_arm2_lpddr2.h
index 1e1dbb7ee9..420d538f3e 100644
--- a/include/configs/mx6dl_arm2_lpddr2.h
+++ b/include/configs/mx6dl_arm2_lpddr2.h
@@ -53,6 +53,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6dl_arm2_mfg.h b/include/configs/mx6dl_arm2_mfg.h
index 4baf4c6019..aa6d0dc5e4 100644
--- a/include/configs/mx6dl_arm2_mfg.h
+++ b/include/configs/mx6dl_arm2_mfg.h
@@ -51,6 +51,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6dl_sabresd.h b/include/configs/mx6dl_sabresd.h
index 60d869512e..1d32ffb62e 100644
--- a/include/configs/mx6dl_sabresd.h
+++ b/include/configs/mx6dl_sabresd.h
@@ -51,6 +51,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6dl_sabresd_mfg.h b/include/configs/mx6dl_sabresd_mfg.h
index ea45d5045c..aee4f38f2a 100644
--- a/include/configs/mx6dl_sabresd_mfg.h
+++ b/include/configs/mx6dl_sabresd_mfg.h
@@ -52,6 +52,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_arm2.h b/include/configs/mx6q_arm2.h
index 39f49fc2c3..baea8802eb 100644
--- a/include/configs/mx6q_arm2.h
+++ b/include/configs/mx6q_arm2.h
@@ -54,6 +54,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_arm2_iram.h b/include/configs/mx6q_arm2_iram.h
index 3a35720994..a027b02134 100644
--- a/include/configs/mx6q_arm2_iram.h
+++ b/include/configs/mx6q_arm2_iram.h
@@ -49,6 +49,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_arm2_lpddr2.h b/include/configs/mx6q_arm2_lpddr2.h
index 826f7629d0..9a92c764e4 100644
--- a/include/configs/mx6q_arm2_lpddr2.h
+++ b/include/configs/mx6q_arm2_lpddr2.h
@@ -50,6 +50,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_arm2_lpddr2pop.h b/include/configs/mx6q_arm2_lpddr2pop.h
index e09752c81c..eac479926f 100755
--- a/include/configs/mx6q_arm2_lpddr2pop.h
+++ b/include/configs/mx6q_arm2_lpddr2pop.h
@@ -51,6 +51,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_arm2_mfg.h b/include/configs/mx6q_arm2_mfg.h
index 6890832eb1..fe0b3aaa7e 100644
--- a/include/configs/mx6q_arm2_mfg.h
+++ b/include/configs/mx6q_arm2_mfg.h
@@ -50,6 +50,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabreauto.h b/include/configs/mx6q_sabreauto.h
index 8aa7a307ef..5f8f02c61d 100644
--- a/include/configs/mx6q_sabreauto.h
+++ b/include/configs/mx6q_sabreauto.h
@@ -49,6 +49,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabreauto_mfg.h b/include/configs/mx6q_sabreauto_mfg.h
index 4cafba4fde..29a1afb5a9 100644
--- a/include/configs/mx6q_sabreauto_mfg.h
+++ b/include/configs/mx6q_sabreauto_mfg.h
@@ -50,6 +50,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabreauto_nand.h b/include/configs/mx6q_sabreauto_nand.h
index 5232647417..ac344d2ad2 100644
--- a/include/configs/mx6q_sabreauto_nand.h
+++ b/include/configs/mx6q_sabreauto_nand.h
@@ -51,6 +51,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabreauto_weimnor.h b/include/configs/mx6q_sabreauto_weimnor.h
index 058b515803..725d9ac220 100644
--- a/include/configs/mx6q_sabreauto_weimnor.h
+++ b/include/configs/mx6q_sabreauto_weimnor.h
@@ -48,6 +48,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabreauto_weimnor_mfg.h b/include/configs/mx6q_sabreauto_weimnor_mfg.h
index dbd0aec24a..349afc0365 100644
--- a/include/configs/mx6q_sabreauto_weimnor_mfg.h
+++ b/include/configs/mx6q_sabreauto_weimnor_mfg.h
@@ -50,6 +50,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabrelite.h b/include/configs/mx6q_sabrelite.h
index 66bd6a9f51..b692c871e4 100644
--- a/include/configs/mx6q_sabrelite.h
+++ b/include/configs/mx6q_sabrelite.h
@@ -49,6 +49,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabrelite_android.h b/include/configs/mx6q_sabrelite_android.h
index 4aff72a355..71ae2e8d09 100644
--- a/include/configs/mx6q_sabrelite_android.h
+++ b/include/configs/mx6q_sabrelite_android.h
@@ -49,6 +49,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabrelite_mfg.h b/include/configs/mx6q_sabrelite_mfg.h
index 8064306b8f..115b4f5771 100644
--- a/include/configs/mx6q_sabrelite_mfg.h
+++ b/include/configs/mx6q_sabrelite_mfg.h
@@ -50,6 +50,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabresd.h b/include/configs/mx6q_sabresd.h
index a1c55c44d5..0cd57d91d2 100644
--- a/include/configs/mx6q_sabresd.h
+++ b/include/configs/mx6q_sabresd.h
@@ -49,6 +49,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabresd_iram.h b/include/configs/mx6q_sabresd_iram.h
index 1074840763..f6eb67195a 100644
--- a/include/configs/mx6q_sabresd_iram.h
+++ b/include/configs/mx6q_sabresd_iram.h
@@ -49,6 +49,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6q_sabresd_mfg.h b/include/configs/mx6q_sabresd_mfg.h
index 1dcfa95033..62f0c062f2 100644
--- a/include/configs/mx6q_sabresd_mfg.h
+++ b/include/configs/mx6q_sabresd_mfg.h
@@ -50,6 +50,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6sl_arm2.h b/include/configs/mx6sl_arm2.h
index d652f6bcae..2717cd7bdd 100644
--- a/include/configs/mx6sl_arm2.h
+++ b/include/configs/mx6sl_arm2.h
@@ -58,6 +58,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6sl_arm2_iram.h b/include/configs/mx6sl_arm2_iram.h
index 3d573050e4..4a39f5d984 100644
--- a/include/configs/mx6sl_arm2_iram.h
+++ b/include/configs/mx6sl_arm2_iram.h
@@ -48,6 +48,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6sl_arm2_mfg.h b/include/configs/mx6sl_arm2_mfg.h
index d3ac7273f7..d9fd2a9c1c 100644
--- a/include/configs/mx6sl_arm2_mfg.h
+++ b/include/configs/mx6sl_arm2_mfg.h
@@ -54,6 +54,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6sl_evk.h b/include/configs/mx6sl_evk.h
index 7c43fe88e8..b89430bc01 100644
--- a/include/configs/mx6sl_evk.h
+++ b/include/configs/mx6sl_evk.h
@@ -58,6 +58,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6sl_evk_iram.h b/include/configs/mx6sl_evk_iram.h
index 6b144342ac..5e087b9ad3 100644
--- a/include/configs/mx6sl_evk_iram.h
+++ b/include/configs/mx6sl_evk_iram.h
@@ -48,6 +48,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6solo_sabreauto.h b/include/configs/mx6solo_sabreauto.h
index c7cbf764db..1288947000 100644
--- a/include/configs/mx6solo_sabreauto.h
+++ b/include/configs/mx6solo_sabreauto.h
@@ -51,6 +51,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6solo_sabreauto_mfg.h b/include/configs/mx6solo_sabreauto_mfg.h
index 69aa201e06..d7c0c5682b 100644
--- a/include/configs/mx6solo_sabreauto_mfg.h
+++ b/include/configs/mx6solo_sabreauto_mfg.h
@@ -52,6 +52,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6solo_sabreauto_weimnor.h b/include/configs/mx6solo_sabreauto_weimnor.h
index de32dfc7b9..10bc0edd9d 100644
--- a/include/configs/mx6solo_sabreauto_weimnor.h
+++ b/include/configs/mx6solo_sabreauto_weimnor.h
@@ -50,6 +50,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
diff --git a/include/configs/mx6solo_sabreauto_weimnor_mfg.h b/include/configs/mx6solo_sabreauto_weimnor_mfg.h
index 3ee09451f2..eb3318664c 100644
--- a/include/configs/mx6solo_sabreauto_weimnor_mfg.h
+++ b/include/configs/mx6solo_sabreauto_weimnor_mfg.h
@@ -52,6 +52,7 @@
#define BOARD_LATE_INIT
#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
+#define CONFIG_SERIAL_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG