summaryrefslogtreecommitdiff
path: root/tcl/chip/atmel/at91/at91sam9_init.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'tcl/chip/atmel/at91/at91sam9_init.cfg')
-rw-r--r--tcl/chip/atmel/at91/at91sam9_init.cfg17
1 files changed, 13 insertions, 4 deletions
diff --git a/tcl/chip/atmel/at91/at91sam9_init.cfg b/tcl/chip/atmel/at91/at91sam9_init.cfg
index 47d22e0a..d75d6688 100644
--- a/tcl/chip/atmel/at91/at91sam9_init.cfg
+++ b/tcl/chip/atmel/at91/at91sam9_init.cfg
@@ -54,10 +54,19 @@ proc at91sam9_reset_init { config } {
set rstc_mr_val [expr ($rstc_mr_val | $::AT91_RSTC_URSTEN)]
mww $::AT91_RSTC_MR $rstc_mr_val ;# user reset enable
- set pdr_addr [expr ($::AT91_PIOC + $::PIO_PDR)]
- mww $pdr_addr 0xffff0000 ;# define PDC[31:16] as DATA[31:16]
- set pudr_addr [expr ($::AT91_PIOC + $::PIO_PUDR)]
- mww $pudr_addr 0xffff0000 ;# no pull-up for D[31:16]
+ if { [info exists config(sdram_piod) ] } {
+ set pdr_addr [expr ($::AT91_PIOD + $::PIO_PDR)]
+ set pudr_addr [expr ($::AT91_PIOD + $::PIO_PUDR)]
+ set asr_addr [expr ($::AT91_PIOD + $::PIO_ASR)]
+ mww $pdr_addr 0xffff0000 ;# define PDC[31:16] as DATA[31:16]
+ mww $pudr_addr 0xffff0000 ;# no pull-up for D[31:16]
+ mww $asr_addr 0xffff0000
+ } else {
+ set pdr_addr [expr ($::AT91_PIOC + $::PIO_PDR)]
+ set pudr_addr [expr ($::AT91_PIOC + $::PIO_PUDR)]
+ mww $pdr_addr 0xffff0000 ;# define PDC[31:16] as DATA[31:16]
+ mww $pudr_addr 0xffff0000 ;# no pull-up for D[31:16]
+ }
mww $config(matrix_ebicsa_addr) $config(matrix_ebicsa_val)
mww $::AT91_SDRAMC_MR $::AT91_SDRAMC_MODE_NORMAL ;# SDRAMC_MR Mode register