diff options
author | wdenk <wdenk> | 2003-08-05 17:43:17 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2003-08-05 17:43:17 +0000 |
commit | bdccc4fedcf9c5fc1f06e8f833d792198c9d04ae (patch) | |
tree | 00c1b93f6731d838eae4f8f688d4f95c14471d0a /cpu | |
parent | 96dd9af4c7c5669924c2e40734b246f207b9a8b4 (diff) | |
download | u-boot-imx-bdccc4fedcf9c5fc1f06e8f833d792198c9d04ae.zip u-boot-imx-bdccc4fedcf9c5fc1f06e8f833d792198c9d04ae.tar.gz u-boot-imx-bdccc4fedcf9c5fc1f06e8f833d792198c9d04ae.tar.bz2 |
* Map ISP1362 USB OTG controller for NSCU board
* Patch by Brad Parker, 02 Aug 2003:
fix sc520_cdp problems
* Implement Boot Cycle Detection (Req. 2.3 of OSDL CGL Reqirements)
* Allow erase command to cross flash bank boundaries
Diffstat (limited to 'cpu')
-rw-r--r-- | cpu/mpc8260/commproc.c | 24 | ||||
-rw-r--r-- | cpu/mpc8xx/commproc.c | 26 |
2 files changed, 50 insertions, 0 deletions
diff --git a/cpu/mpc8260/commproc.c b/cpu/mpc8260/commproc.c index 72cceb3..ceb9275 100644 --- a/cpu/mpc8260/commproc.c +++ b/cpu/mpc8260/commproc.c @@ -208,3 +208,27 @@ ulong post_word_load (void) } #endif /* CONFIG_POST || CONFIG_LOGBUFFER*/ + +#ifdef CONFIG_BOOTCOUNT_LIMIT + +void bootcount_store (ulong a) +{ + volatile ulong *save_addr = + (volatile ulong *)(CFG_IMMR + CPM_BOOTCOUNT_ADDR); + + save_addr[0] = a; + save_addr[1] = BOOTCOUNT_MAGIC; +} + +ulong bootcount_load (void) +{ + volatile ulong *save_addr = + (volatile ulong *)(CFG_IMMR + CPM_BOOTCOUNT_ADDR); + + if (save_addr[1] != BOOTCOUNT_MAGIC) + return 0; + else + return save_addr[0]; +} + +#endif /* CONFIG_BOOTCOUNT_LIMIT */ diff --git a/cpu/mpc8xx/commproc.c b/cpu/mpc8xx/commproc.c index 37c72a7..75740e0 100644 --- a/cpu/mpc8xx/commproc.c +++ b/cpu/mpc8xx/commproc.c @@ -110,3 +110,29 @@ ulong post_word_load (void) } #endif /* CONFIG_POST || CONFIG_LOGBUFFER*/ + +#ifdef CONFIG_BOOTCOUNT_LIMIT + +void bootcount_store (ulong a) +{ + volatile ulong *save_addr = + (volatile ulong *)( ((immap_t *) CFG_IMMR)->im_cpm.cp_dpmem + + CPM_BOOTCOUNT_ADDR ); + + save_addr[0] = a; + save_addr[1] = BOOTCOUNT_MAGIC; +} + +ulong bootcount_load (void) +{ + volatile ulong *save_addr = + (volatile ulong *)( ((immap_t *) CFG_IMMR)->im_cpm.cp_dpmem + + CPM_BOOTCOUNT_ADDR ); + + if (save_addr[1] != BOOTCOUNT_MAGIC) + return 0; + else + return save_addr[0]; +} + +#endif /* CONFIG_BOOTCOUNT_LIMIT */ |