2009-05-18 07:04:58 +00:00
|
|
|
# A PXA255 test board with SST 39LF400A flash
|
|
|
|
#
|
|
|
|
# At reset the memory map is as follows. Note that
|
2009-09-21 18:48:22 +00:00
|
|
|
# the memory map changes later on as the application
|
2009-05-18 07:04:58 +00:00
|
|
|
# starts...
|
|
|
|
#
|
|
|
|
# RAM at 0x4000000
|
|
|
|
# Flash at 0x00000000
|
|
|
|
#
|
|
|
|
source [find target/pxa255.cfg]
|
2009-06-29 20:04:08 +00:00
|
|
|
|
2009-05-18 07:04:58 +00:00
|
|
|
# Target name is set by above
|
2009-11-08 16:52:40 +00:00
|
|
|
$_TARGETNAME configure -work-area-phys 0x4000000 -work-area-size 0x4000 -work-area-backup 0
|
2009-05-18 07:04:58 +00:00
|
|
|
|
2009-06-29 20:04:08 +00:00
|
|
|
# flash bank <driver> <base> <size> <chip_width> <bus_width> <target> [options]
|
2009-11-18 10:15:52 +00:00
|
|
|
set _FLASHNAME $_CHIPNAME.flash
|
|
|
|
flash bank $_FLASHNAME cfi 0x00000000 0x80000 2 2 $_TARGETNAME jedec_probe
|
2009-06-29 20:04:08 +00:00
|
|
|
|
|
|
|
proc pxa255_sst_init {} {
|
2010-12-18 17:22:53 +00:00
|
|
|
xscale cp15 15 0x00002001 ;#Enable CP0 and CP13 access
|
2009-06-29 20:04:08 +00:00
|
|
|
#
|
|
|
|
# setup GPIO
|
|
|
|
#
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E00018 0x00008000 ;#CPSR0
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E0001C 0x00000002 ;#GPSR1
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E00020 0x00000008 ;#GPSR2
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E0000C 0x00008000 ;#GPDR0
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E00054 0x80000000 ;#GAFR0_L
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E00058 0x00188010 ;#GAFR0_H
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E0005C 0x60908018 ;#GAFR1_L
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E0000C 0x0280E000 ;#GPDR0
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E00010 0x821C88B2 ;#GPDR1
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E00014 0x000F03DB ;#GPDR2
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40E00000 0x000F03DB ;#GPLR0
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
|
|
|
|
|
|
|
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x40F00004 0x00000020 ;#PSSR
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
|
|
|
|
|
|
|
#
|
|
|
|
# setup memory controller
|
|
|
|
#
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000008 0x01111998 ;#MSC0
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000010 0x00047ff0 ;#MSC2
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000014 0x00000000 ;#MECR
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000028 0x00010504 ;#MCMEM0
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x4800002C 0x00010504 ;#MCMEM1
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000030 0x00010504 ;#MCATT0
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000034 0x00010504 ;#MCATT1
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000038 0x00004715 ;#MCIO0
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x4800003C 0x00004715 ;#MCIO1
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
|
|
|
#
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000004 0x03CA4018 ;#MDREF
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000004 0x004B4018 ;#MDREF
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000004 0x000B4018 ;#MDREF
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000004 0x000BC018 ;#MDREF
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000000 0x00001AC8 ;#MDCNFG
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
|
|
|
|
|
|
|
sleep 20
|
|
|
|
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000000 0x00001AC9 ;#MDCNFG
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
2010-12-18 17:22:53 +00:00
|
|
|
mww 0x48000040 0x00000000 ;#MDMRS
|
2009-06-29 20:04:08 +00:00
|
|
|
sleep 20
|
|
|
|
}
|
|
|
|
|
|
|
|
$_TARGETNAME configure -event reset-init {pxa255_sst_init}
|
|
|
|
|
|
|
|
reset_config trst_and_srst
|
|
|
|
|
2010-03-15 15:41:30 +00:00
|
|
|
adapter_nsrst_delay 200
|
2009-06-29 20:04:08 +00:00
|
|
|
jtag_ntrst_delay 200
|
|
|
|
|
2010-12-18 17:22:53 +00:00
|
|
|
#xscale debug_handler 0 0xFFFF0800 ;# debug handler base address
|