diff options
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 |