Files
m68k-bdm/m68k/utils/mcf5235.test
Bernd Mueller adfd70813f initial push
2026-06-17 13:44:30 +02:00

97 lines
2.0 KiB
Plaintext

#!/usr/local/bin/bdmctrl
#
# This script is for use with the bdmctrl utility and allows flashing of
# 5235 BCC (have not tested with EVB) from linux.
#
# Usage ./bdmctrl mcf5235.test /dev/tblcf2 elf_file
#
# see flashlib/README and bdmctrl/README.bdmctrl for more information
#
# you will need to run flashlib/compile_plugins with 5200 as a target
# and copy the resulting intelc3 plugin to the working folder
#
open $1
reset
# IPSBAR at 0x40000000
# SRAMBAR at 0x20000000
# FLASH at 0xFFE00000 (AM29PL160CB(1x16))
# DRAM at 0x00000000
# RAMBAR
write-ctrl 0x0C05 0x20000001
# Set PAR_SDRAM to allow SDRAM signals to be enabled
write 0x40100046 0x3F 1
# Set PAR_AD to allow 32-bit SDRAM if the external boot device is 16 bits
write 0x40100040 0xE1 1
# Turn off WCR
write 0x40140000 0x0000 2
# set up 2nd RAMBAR to make 2nd port avail to FEC
write 0x40000008 0x20000201 4
# 1MB ASRAM on CS1 at 0x30000000 (not populated)
#write 0x4000008C 0x3000 2
#write 0x40000090 0x000f0001 4
#write 0x40000096 0x3d20 2
# 2 meg flash on CS0 at 0xffe000
write 0x40000080 0xFFE0 2
write 0x40000084 0x001f0001 4
write 0x4000008a 0x1980 2
sleep 100
# crank up PLL
write 0x40120000 0x00000000 4
sleep 100
# 16 meg sdram (page 18.6.4 of ref 5235 ref-manual)
#powerup sequence
write 0x40000040 0x0446 2
write 0x40000048 0x00001300 4
write 0x4000004c 0x00fc0001 4
#precharge
write 0x40000048 0x00001308 4
write 0x00000000 0x00000000 4
sleep 100
#refresh sequence
write 0x40000048 0x00009300 4
#enable IMRS
write 0x40000048 0x00009340 4
#access sd ram to initialize the mode register
write 0x00000400 0x00000000 4
sleep 600
#notify flashlib that we have flash at address 0xFFE00000, plugin is flash29
flash 0xFFE00000 flash29
#erase the entire flash
erase 0xFFE00000 -1
#wait for the erase operation to complete
erase-wait 0xFFE00000
#load our flash plugin
flash-plugin 0x20000000 0x4000 flash29_5200.plugin
#load and verify
load -v $2
# dump some memory at the start of flash for debugging
dump-mem 0xFFE00000 48 l
execute
wait