]> git.sur5r.net Git - u-boot/commitdiff
imx: Add useful fuse definitions
authorBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
Tue, 23 Apr 2013 10:17:39 +0000 (10:17 +0000)
committerStefano Babic <sbabic@denx.de>
Sun, 28 Apr 2013 09:07:40 +0000 (11:07 +0200)
Define the UID (SoC unique ID) fuses, and the fuses available for the user.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
arch/arm/include/asm/arch-mx25/imx-regs.h
arch/arm/include/asm/arch-mx31/imx-regs.h
arch/arm/include/asm/arch-mx35/imx-regs.h
arch/arm/include/asm/arch-mx5/imx-regs.h
arch/arm/include/asm/arch-mx6/imx-regs.h

index 99c32d4b6b3c0c876b88bfcb4b02d6dccd89ddf2..cf7bb5ad8acd00fe0cc62709f8138d22ac004050 100644 (file)
@@ -126,10 +126,19 @@ struct iim_regs {
 };
 
 struct fuse_bank0_regs {
-       u32 fuse0_25[0x1a];
+       u32 fuse0_7[8];
+       u32 uid[8];
+       u32 fuse16_25[0xa];
        u32 mac_addr[6];
 };
 
+struct fuse_bank1_regs {
+       u32 fuse0_21[0x16];
+       u32 usr5;
+       u32 fuse23_29[7];
+       u32 usr6[2];
+};
+
 /* Multi-Layer AHB Crossbar Switch (MAX) registers */
 struct max_regs {
        u32 mpr0;
index f67f49c2ee280167b44b1b13fab24ed0a176699b..5d8d8f46d30c9de090ac42af5d26efc6ae9d6c2c 100644 (file)
@@ -92,6 +92,18 @@ struct iim_regs {
        } bank[3];
 };
 
+struct fuse_bank0_regs {
+       u32 fuse0_5[6];
+       u32 usr;
+       u32 fuse7_15[9];
+};
+
+struct fuse_bank2_regs {
+       u32 fuse0;
+       u32 uid[8];
+       u32 fuse9_15[7];
+};
+
 struct iomuxc_regs {
        u32 unused1;
        u32 unused2;
index 64546d2e8317d33e4cd9f9ee23ab8aa5acf190d8..63c6e24b1e08a1f96f28528a290ad4edd0354077 100644 (file)
@@ -274,6 +274,18 @@ struct iim_regs {
        } bank[3];
 };
 
+struct fuse_bank0_regs {
+       u32 fuse0_7[8];
+       u32 uid[8];
+       u32 fuse16_31[0x10];
+};
+
+struct fuse_bank1_regs {
+       u32 fuse0_21[0x16];
+       u32 usr;
+       u32 fuse23_31[9];
+};
+
 /* General Purpose Timer (GPT) registers */
 struct gpt_regs {
        u32 ctrl;       /* control */
index a44715a01aa3f35811f6f9ace25acfea1355d14c..8984e423e61f7087db1c118f539d6bb6e8754265 100644 (file)
@@ -518,8 +518,14 @@ struct iim_regs {
 };
 
 struct fuse_bank0_regs {
-       u32     fuse0_23[24];
+       u32     fuse0_7[8];
+       u32     uid[8];
+       u32     fuse16_23[8];
+#if defined(CONFIG_MX51)
+       u32     imei[8];
+#elif defined(CONFIG_MX53)
        u32     gp[8];
+#endif
 };
 
 struct fuse_bank1_regs {
@@ -528,6 +534,14 @@ struct fuse_bank1_regs {
        u32     fuse15_31[0x11];
 };
 
+#if defined(CONFIG_MX53)
+struct fuse_bank4_regs {
+       u32     fuse0_4[5];
+       u32     gp[3];
+       u32     fuse8_31[0x18];
+};
+#endif
+
 #endif /* __ASSEMBLER__*/
 
 #endif                         /* __ASM_ARCH_MX5_IMX_REGS_H__ */
index 680e752ab473f2f149d66cc6db23c13cace4186a..03abb2a8b7568f00b6b999f5054a5437b0413351 100644 (file)
@@ -462,6 +462,15 @@ struct ocotp_regs {
        } bank[16];
 };
 
+struct fuse_bank0_regs {
+       u32     lock;
+       u32     rsvd0[3];
+       u32     uid_low;
+       u32     rsvd1[3];
+       u32     uid_high;
+       u32     rsvd2[0x17];
+};
+
 struct fuse_bank4_regs {
        u32     sjc_resp_low;
        u32     rsvd0[3];
@@ -472,7 +481,9 @@ struct fuse_bank4_regs {
        u32     mac_addr_high;
        u32     rsvd3[0xb];
        u32     gp1;
-       u32     rsvd4[7];
+       u32     rsvd4[3];
+       u32     gp2;
+       u32     rsvd5[3];
 };
 
 struct aipstz_regs {