summaryrefslogtreecommitdiff
path: root/board/freescale/mx50_rdp
diff options
context:
space:
mode:
Diffstat (limited to 'board/freescale/mx50_rdp')
-rw-r--r--board/freescale/mx50_rdp/flash_header.S13
-rw-r--r--board/freescale/mx50_rdp/mx50_rdp.c13
2 files changed, 22 insertions, 4 deletions
diff --git a/board/freescale/mx50_rdp/flash_header.S b/board/freescale/mx50_rdp/flash_header.S
index 38ad560..530a079 100644
--- a/board/freescale/mx50_rdp/flash_header.S
+++ b/board/freescale/mx50_rdp/flash_header.S
@@ -576,15 +576,22 @@ delay1:
* Final image size on exit.
* boot_data - Initial @ref ivt Boot Data load address.
*/
+
+ ldr r0, =ROM_SI_REV
+ ldr r1, [r0]
+ cmp r1, #0x11
+
adr r0, DDR_DEST_ADDR
adr r1, COPY_SIZE
adr r2, BOOT_DATA
before_calling_rom___pu_irom_hwcnfg_setup:
mov r3, #0x2a00
- add r3, r3, #0x19
- cmp r4, #0xF8000000
- blxhi r3 // This address might change in future ROM versions
+ /* Different ROM address for TO 1.0 & TO 1.1.1 */
+ addeq r3, r3, #0xad
+ addne r3, r3, #0x19
+ cmp r4, #0xf8000000
+ blxhi r3
after_calling_rom___pu_irom_hwcnfg_setup:
pop {r0-r4, lr}
diff --git a/board/freescale/mx50_rdp/mx50_rdp.c b/board/freescale/mx50_rdp/mx50_rdp.c
index 0235441..924c7e6 100644
--- a/board/freescale/mx50_rdp/mx50_rdp.c
+++ b/board/freescale/mx50_rdp/mx50_rdp.c
@@ -112,7 +112,18 @@ u32 get_board_rev(void)
static inline void setup_soc_rev(void)
{
- system_rev = 0x50000 | CHIP_REV_1_0;
+ int reg = __REG(ROM_SI_REV);
+
+ switch (reg) {
+ case 0x10:
+ system_rev = 0x50000 | CHIP_REV_1_0;
+ break;
+ case 0x11:
+ system_rev = 0x50000 | CHIP_REV_1_1_1;
+ break;
+ default:
+ system_rev = 0x50000 | CHIP_REV_1_1_1;
+ }
}
static inline void setup_board_rev(int rev)