# SPDX-License-Identifier: GPL-2.0-or-later

# NXP LPC2124 ARM7TDMI-S with 256kB flash and 16kB 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_lpc2124 {core_freq_khz adapter_freq_khz} {
	# 256kB flash and 16kB SRAM
	# setup_lpc2xxx <chip_name> <cputapid> <flash_size> <flash_variant> <workarea_size> <core_freq_khz> <adapter_freq_khz>
	setup_lpc2xxx lpc2124 0x4f1f0f0f 0x40000 lpc2000_v1 0x4000 $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_lpc2124 <core_freq_khz> <adapter_freq_khz>
	setup_lpc2124 12000 1500
}
