For STR7x flash, the device cannot be queried for the protect status. The solution is to remove the protection on reset init. The driver also initialises the sector protect field to unprotected. [dbrownell@users.sourceforge.net: line length shrinkage] Signed-off-by: Edgar Grimberg <edgar.grimberg@zylin.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
61 lines
1.5 KiB
INI
61 lines
1.5 KiB
INI
#STR750 CPU
|
|
|
|
if { [info exists CHIPNAME] } {
|
|
set _CHIPNAME $CHIPNAME
|
|
} else {
|
|
set _CHIPNAME str750
|
|
}
|
|
|
|
if { [info exists ENDIAN] } {
|
|
set _ENDIAN $ENDIAN
|
|
} else {
|
|
set _ENDIAN little
|
|
}
|
|
|
|
if { [info exists CPUTAPID] } {
|
|
set _CPUTAPID $CPUTAPID
|
|
} else {
|
|
set _CPUTAPID 0x4f1f0041
|
|
}
|
|
|
|
# jtag speed
|
|
jtag_khz 10
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
reset_config trst_and_srst srst_pulls_trst
|
|
|
|
#jtag scan chain
|
|
|
|
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0x0f -expected-id $_CPUTAPID
|
|
|
|
#jtag nTRST and nSRST delay
|
|
jtag_nsrst_delay 500
|
|
jtag_ntrst_delay 500
|
|
|
|
set _TARGETNAME $_CHIPNAME.cpu
|
|
target create $_TARGETNAME arm7tdmi -endian little -chain-position 0 -variant arm7tdmi
|
|
|
|
$_TARGETNAME configure -event reset-start { jtag_khz 10 }
|
|
$_TARGETNAME configure -event reset-init {
|
|
jtag_khz 3000
|
|
|
|
# Because the hardware cannot be interrogated for the protection state
|
|
# of sectors, initialize all the sectors to be unprotected. The initial
|
|
# state is reflected by the driver, too.
|
|
flash protect 0 0 last off
|
|
flash protect 1 0 last off
|
|
}
|
|
$_TARGETNAME configure -event gdb-flash-erase-start {
|
|
flash protect 0 0 7 off
|
|
flash protect 1 0 1 off
|
|
}
|
|
|
|
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x4000 -work-area-backup 0
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width>
|
|
set _FLASHNAME $_CHIPNAME.flash
|
|
flash bank $_FLASHNAME str7x 0x20000000 0x00040000 0 0 $_TARGETNAME STR75x
|
|
set _FLASHNAME $_CHIPNAME.flash
|
|
flash bank $_FLASHNAME str7x 0x200C0000 0x00004000 0 0 $_TARGETNAME STR75x
|
|
|