aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Fertser <fercerpav@gmail.com>2013-11-07 23:26:45 +0400
committerSpencer Oliver <spen@spen-soft.co.uk>2013-12-19 19:54:55 +0000
commitda7f048104c49b9a4826b9ee47e6f68b43d1f987 (patch)
tree55aa70587d0e8801825d52a5cea4971bf993c8a4
parent03e9729043cb51c6c384d29b97a039660705e170 (diff)
target: add kl25z HLA (stlink) config
Based on Nemuisan Tokusei's. Untested, but original config was reported to work ok. Change-Id: Ic991dce55bfca266880081fe2bbd9e6e263b0fc0 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1803 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
-rw-r--r--tcl/target/kl25z_hla.cfg55
1 files changed, 55 insertions, 0 deletions
diff --git a/tcl/target/kl25z_hla.cfg b/tcl/target/kl25z_hla.cfg
new file mode 100644
index 00000000..218a28d9
--- /dev/null
+++ b/tcl/target/kl25z_hla.cfg
@@ -0,0 +1,55 @@
+# MKL25Z128VLK4
+# FreeScale Cortex-M0plus with 128kB Flash and 16kB Local On-Chip SRAM
+
+if { [info exists CHIPNAME] == 0 } {
+ set _CHIPNAME kl25z
+}
+
+if { [info exists CPUTAPID] == 0 } {
+ set _CPUTAPID 0x0BC11477
+}
+
+if { [info exists WORKAREASIZE] == 0 } {
+ set _WORKAREASIZE 0x3000
+}
+
+if { [info exists TRANSPORT] == 0 } {
+ set _TRANSPORT hla_swd
+}
+
+transport select $_TRANSPORT
+
+hla newtap $_CHIPNAME cpu -expected-id $_CPUTAPID
+
+set _TARGETNAME $_CHIPNAME.cpu
+target create $_TARGETNAME hla_target -chain-position $_TARGETNAME
+
+$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
+
+flash bank pflash kinetis 0x00000000 0x20000 0 4 $_TARGETNAME
+
+proc kl25z_enable_pll {} {
+ echo "KL25Z: Enabling PLL"
+ # SIM->CLKDIV1 = (uint32_t)0x00020000UL; /* Update system prescalers */
+ mww 0x40048044 0x00020000
+ # /* Switch to FEI Mode */
+ # MCG->C1 = (uint8_t)0x06U;
+ mwb 0x40064000 0x06
+ # MCG->C2 = (uint8_t)0x00U;
+ mwb 0x40064001 0x00
+ # /* MCG->C4: DMX32=0,DRST_DRS=1 */
+ # MCG->C4 = (uint8_t)((MCG->C4 & (uint8_t)~(uint8_t)0xC0U) | (uint8_t)0x20U);
+ mwb 0x40064003 0x37
+ #OSC0->CR = (uint8_t)0x80U;
+ mwb 0x40065000 0x80
+ # MCG->C5 = (uint8_t)0x00U;
+ mwb 0x40064004 0x00
+ # MCG->C6 = (uint8_t)0x00U;
+ mwb 0x40064005 0x00
+ sleep 100
+}
+
+$_TARGETNAME configure -event reset-init {
+ kl25z_enable_pll
+}
+