From e941805713fd2ad8b7f9740ae789b8a1f5b645ff Mon Sep 17 00:00:00 2001
From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Wed, 2 Mar 2011 12:57:03 +0100
Subject: at91sam9: factorise cpu support

all at91sam9 are nearly the same except sram and soc name

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
---
 tcl/target/at91sam9.cfg                      | 39 ++++++++++++++++++++++++++++
 tcl/target/at91sam9260.cfg                   | 36 +++----------------------
 tcl/target/at91sam9260_ext_RAM_ext_flash.cfg | 36 ++-----------------------
 tcl/target/at91sam9g20.cfg                   | 22 ++++++++++++++++
 tcl/target/at91sam9rl.cfg                    | 36 +++----------------------
 5 files changed, 69 insertions(+), 100 deletions(-)
 create mode 100644 tcl/target/at91sam9.cfg
 create mode 100644 tcl/target/at91sam9g20.cfg

(limited to 'tcl/target')

diff --git a/tcl/target/at91sam9.cfg b/tcl/target/at91sam9.cfg
new file mode 100644
index 00000000..ba0197d9
--- /dev/null
+++ b/tcl/target/at91sam9.cfg
@@ -0,0 +1,39 @@
+######################################
+# Target:    Atmel AT91SAM9
+######################################
+
+if { [info exists AT91_CHIPNAME] } {
+	set _CHIPNAME $AT91_CHIPNAME
+} else {
+	error "you must specify a chip name"
+}
+
+if { [info exists ENDIAN] } {
+	set _ENDIAN $ENDIAN
+} else {
+	set _ENDIAN little
+}
+
+if { [info exists CPUTAPID ] } {
+	set _CPUTAPID $CPUTAPID
+} else {
+	# force an error till we get a good number
+	set _CPUTAPID 0x0792603f
+}
+
+reset_config trst_and_srst separate trst_push_pull srst_open_drain
+
+#
+jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
+
+adapter_nsrst_delay 300
+jtag_ntrst_delay 200
+
+jtag_rclk 3
+
+######################
+# Target configuration
+######################
+
+set _TARGETNAME $_CHIPNAME.cpu
+target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm926ejs
diff --git a/tcl/target/at91sam9260.cfg b/tcl/target/at91sam9260.cfg
index 86258c62..9f79dfa4 100644
--- a/tcl/target/at91sam9260.cfg
+++ b/tcl/target/at91sam9260.cfg
@@ -3,42 +3,12 @@
 ######################################
 
 if { [info exists CHIPNAME] } {
-   set  _CHIPNAME $CHIPNAME
+	set AT91_CHIPNAME $CHIPNAME
 } else {
-   set  _CHIPNAME at91sam9260
+	set AT91_CHIPNAME at91sam9260
 }
 
-if { [info exists ENDIAN] } {
-   set  _ENDIAN $ENDIAN
-} else {
-   set  _ENDIAN little
-}
-
-if { [info exists CPUTAPID ] } {
-   set _CPUTAPID $CPUTAPID
-} else {
-  # force an error till we get a good number
-   set _CPUTAPID 0x0792603f
-}
-
-reset_config trst_and_srst separate trst_push_pull srst_open_drain
-
-#
-jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-
-adapter_nsrst_delay 300
-jtag_ntrst_delay 200
-
-jtag_rclk 3
-
-######################
-# Target configuration
-######################
-
-set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm926ejs
+source [find target/at91sam9.cfg]
 
 # Internal sram1 memory
 $_TARGETNAME configure -work-area-phys 0x00300000 -work-area-size 0x1000 -work-area-backup 1
-
-
diff --git a/tcl/target/at91sam9260_ext_RAM_ext_flash.cfg b/tcl/target/at91sam9260_ext_RAM_ext_flash.cfg
index 8acdebd7..8df28527 100644
--- a/tcl/target/at91sam9260_ext_RAM_ext_flash.cfg
+++ b/tcl/target/at91sam9260_ext_RAM_ext_flash.cfg
@@ -1,48 +1,16 @@
-jtag_rclk 4
-
 ######################################
 # Target:    Atmel AT91SAM9260
 ######################################
 
-if { [info exists CHIPNAME] } {
-   set  _CHIPNAME $CHIPNAME
-} else {
-   set  _CHIPNAME at91sam9260
-}
-
-if { [info exists ENDIAN] } {
-   set  _ENDIAN $ENDIAN
-} else {
-   set  _ENDIAN little
-}
-
-if { [info exists CPUTAPID ] } {
-   set _CPUTAPID $CPUTAPID
-} else {
-  # force an error till we get a good number
-   set _CPUTAPID 0x0792603f
-}
+source [find target/at91sam9261.cfg]
 
 reset_config trst_and_srst
 
+jtag_rclk 4
 
 adapter_nsrst_delay 200
 jtag_ntrst_delay 200
 
-
-jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-
-
-######################
-# Target configuration
-######################
-
-set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm926ejs
-
-# Internal sram1 memory
-$_TARGETNAME configure -work-area-phys 0x00300000 -work-area-size 0x1000 -work-area-backup 1
-
 scan_chain
 $_TARGETNAME configure -event reset-start {
 	# at reset chip runs at 32khz
diff --git a/tcl/target/at91sam9g20.cfg b/tcl/target/at91sam9g20.cfg
new file mode 100644
index 00000000..8a2e69b9
--- /dev/null
+++ b/tcl/target/at91sam9g20.cfg
@@ -0,0 +1,22 @@
+######################################
+# Target:    Atmel AT91SAM9G20
+######################################
+
+if { [info exists CHIPNAME] } {
+	set AT91_CHIPNAME $CHIPNAME
+} else {
+	set AT91_CHIPNAME at91sam9g20
+}
+
+source [find target/at91sam9.cfg]
+
+# Set fallback clock to 1/6 of worst-case clock speed (which would be the 32.768 kHz slow clock).
+
+jtag_rclk 5
+
+# Establish internal SRAM memory work areas that are important to pre-bootstrap loaders, etc.  The
+# AT91SAM9G20 has two SRAM areas, one starting at 0x00200000 and the other starting at 0x00300000.
+# Both areas are 16 kB long.
+
+#$_TARGETNAME configure -work-area-phys 0x00200000 -work-area-size 0x4000 -work-area-backup 1
+$_TARGETNAME configure -work-area-phys 0x00300000 -work-area-size 0x4000 -work-area-backup 1
diff --git a/tcl/target/at91sam9rl.cfg b/tcl/target/at91sam9rl.cfg
index 5ee5c49e..769c4f72 100644
--- a/tcl/target/at91sam9rl.cfg
+++ b/tcl/target/at91sam9rl.cfg
@@ -3,42 +3,12 @@
 ######################################
 
 if { [info exists CHIPNAME] } {
-   set  _CHIPNAME $CHIPNAME
+   set  AT91_CHIPNAME $CHIPNAME
 } else {
-   set  _CHIPNAME at91sam9rl
+   set  AT91_CHIPNAME at91sam9rl
 }
 
-if { [info exists ENDIAN] } {
-   set  _ENDIAN $ENDIAN
-} else {
-   set  _ENDIAN little
-}
-
-if { [info exists CPUTAPID ] } {
-   set _CPUTAPID $CPUTAPID
-} else {
-  # force an error till we get a good number
-   set _CPUTAPID 0x0792603f
-}
-
-reset_config trst_and_srst separate trst_push_pull srst_open_drain
-
-#
-jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-
-adapter_nsrst_delay 300
-jtag_ntrst_delay 200
-
-jtag_rclk 3
-
-######################
-# Target configuration
-######################
-
-set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm926ejs
+source [find target/at91sam9.cfg]
 
 # Internal sram1 memory
 $_TARGETNAME configure -work-area-phys 0x00300000 -work-area-size 0x10000 -work-area-backup 1
-
-
-- 
cgit v1.2.3