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>
This commit is contained in:
parent
0eed61b7c4
commit
e941805713
|
@ -9,13 +9,9 @@
|
|||
#
|
||||
# source [find target/...cfg]
|
||||
|
||||
# Define basic characteristics for the CPU. The AT91SAM9G20 processor is a subtle variant of
|
||||
# the AT91SAM9260 and shares the same tap ID as it.
|
||||
source [find target/at91sam9g20.cfg]
|
||||
|
||||
set _CHIPNAME at91sam9g20
|
||||
set _FLASHTYPE nandflash_cs3
|
||||
set _ENDIAN little
|
||||
set _CPUTAPID 0x0792603f
|
||||
|
||||
# Set reset type. Note that the AT91SAM9G20-EK board has the trst signal disconnected. Therefore
|
||||
# the reset needs to be configured for "srst_only". If for some reason, a zero-ohm jumper is
|
||||
|
@ -23,31 +19,9 @@ set _CPUTAPID 0x0792603f
|
|||
|
||||
reset_config srst_only
|
||||
|
||||
# Set up the CPU and generate a new jtag tap for AT91SAM9G20.
|
||||
|
||||
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
|
||||
|
||||
# Use caution changing the delays listed below. These seem to be
|
||||
# affected by the board and type of JTAG adapter. A value of 200 ms seems
|
||||
# to work reliably for the configuration listed in the file header above.
|
||||
|
||||
adapter_nsrst_delay 200
|
||||
jtag_ntrst_delay 200
|
||||
|
||||
# Set fallback clock to 1/6 of worst-case clock speed (which would be the 32.768 kHz slow clock).
|
||||
|
||||
jtag_rclk 5
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME
|
||||
|
||||
# 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
|
||||
|
||||
# If you don't want to execute built-in boot rom code (and there are good reasons at times not to do that) in the
|
||||
# AT91SAM9 family, the microcontroller is a lump on a log without initialization. Because this family has
|
||||
# some powerful features, we want to have a special function that handles "reset init". To do this we declare
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue