# NXP LPC2103 ARM7TDMI-S with 32kB flash and 8kB SRAM, clocked with 12MHz crystal

source [find target/lpc2xxx.cfg]

# parameters:
# - core_freq_khz - frequency of core in kHz during flashing, usually equal to connected crystal or internal oscillator, e.g. 12000
# - adapter_freq_khz - frequency of debug adapter in kHz, should be 8x slower than core_freq_khz, e.g. 1000

proc setup_lpc2103 {core_freq_khz adapter_freq_khz} {
	# 32kB flash and 8kB SRAM
	# setup_lpc2xxx <chip_name> <cputapid> <flash_size> <flash_variant> <workarea_size> <core_freq_khz> <adapter_freq_khz>
	setup_lpc2xxx lpc2103 0x4f1f0f0f 0x8000 lpc2000_v2 0x2000 $core_freq_khz $adapter_freq_khz
}

proc init_targets {} {
	# default to core clocked with 12MHz crystal
	echo "Warning - assuming default core clock 12MHz! Flashing may fail if actual core clock is different."
	
	# setup_lpc2103 <core_freq_khz> <adapter_freq_khz>
	setup_lpc2103 12000 1500
}
