mirror of
https://github.com/u-boot/u-boot.git
synced 2025-01-25 04:03:25 +08:00
avr32: Get rid of the .flashprog section
The .flashprog section was only needed back when we were running directly from flash, and it's even more useless on NGW100 since it uses the CFI flash driver which never used this workaround in the first place. Remove it on STK1000 as well, and get rid of all the associated code and annotations. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
This commit is contained in:
parent
cdd42c0c7a
commit
781eb9a1e4
@ -32,14 +32,6 @@ SECTIONS
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
}
|
||||
|
||||
. = ALIGN(32);
|
||||
__flashprog_start = .;
|
||||
.flashprog : {
|
||||
*(.flashprog)
|
||||
}
|
||||
. = ALIGN(32);
|
||||
__flashprog_end = .;
|
||||
_etext = .;
|
||||
|
||||
.rodata : {
|
||||
|
@ -30,7 +30,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
flash_info_t flash_info[1];
|
||||
|
||||
static void __flashprog flash_identify(uint16_t *flash, flash_info_t *info)
|
||||
static void flash_identify(uint16_t *flash, flash_info_t *info)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
@ -76,7 +76,7 @@ void flash_print_info(flash_info_t *info)
|
||||
info->size >> 10, info->sector_count);
|
||||
}
|
||||
|
||||
int __flashprog flash_erase(flash_info_t *info, int s_first, int s_last)
|
||||
int flash_erase(flash_info_t *info, int s_first, int s_last)
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned long start_time;
|
||||
@ -154,7 +154,7 @@ int __flashprog flash_erase(flash_info_t *info, int s_first, int s_last)
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
int __flashprog write_buff(flash_info_t *info, uchar *src,
|
||||
int write_buff(flash_info_t *info, uchar *src,
|
||||
ulong addr, ulong count)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
@ -32,14 +32,6 @@ SECTIONS
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
}
|
||||
|
||||
. = ALIGN(32);
|
||||
__flashprog_start = .;
|
||||
.flashprog : {
|
||||
*(.flashprog)
|
||||
}
|
||||
. = ALIGN(32);
|
||||
__flashprog_end = .;
|
||||
_etext = .;
|
||||
|
||||
.rodata : {
|
||||
|
@ -84,7 +84,6 @@ static void pm_init(void)
|
||||
int cpu_init(void)
|
||||
{
|
||||
extern void _evba(void);
|
||||
char *p;
|
||||
|
||||
/* in case of soft resets, disable watchdog */
|
||||
sm_writel(WDT_CTRL, SM_BF(KEY, 0x55));
|
||||
@ -104,11 +103,6 @@ int cpu_init(void)
|
||||
sysreg_write(EVBA, (unsigned long)&_evba);
|
||||
asm volatile("csrf %0" : : "i"(SYSREG_EM_OFFSET));
|
||||
|
||||
/* Lock everything that mess with the flash in the icache */
|
||||
for (p = __flashprog_start; p <= (__flashprog_end + CFG_ICACHE_LINESZ);
|
||||
p += CFG_ICACHE_LINESZ)
|
||||
asm volatile("cache %0, 0x02" : "=m"(*p) :: "memory");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -25,15 +25,8 @@
|
||||
/* References to section boundaries */
|
||||
|
||||
extern char _text[], _etext[];
|
||||
extern char __flashprog_start[], __flashprog_end[];
|
||||
extern char _data[], __data_lma[], _edata[], __edata_lma[];
|
||||
extern char __got_start[], __got_lma[], __got_end[];
|
||||
extern char _end[];
|
||||
|
||||
/*
|
||||
* Everything in .flashprog will be locked in the icache so it doesn't
|
||||
* get disturbed when executing flash commands.
|
||||
*/
|
||||
#define __flashprog __attribute__((section(".flashprog"), __noinline__))
|
||||
|
||||
#endif /* __ASM_AVR32_SECTIONS_H */
|
||||
|
Loading…
Reference in New Issue
Block a user