diff options
Diffstat (limited to 'tcl/chip/atmel/at91/at91sam9_init.cfg')
-rw-r--r-- | tcl/chip/atmel/at91/at91sam9_init.cfg | 17 |
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 |