1 # SPDX-License-Identifier: GPL-2.0-or-later
3 ################################################################################
4 # Atmel AT91SAM9263-EK eval board
5 ################################################################################
7 source [find mem_helper.tcl]
8 source [find target/at91sam9263.cfg]
9 uplevel #0 [list source [find chip/atmel/at91/hardware.cfg]]
10 uplevel #0 [list source [find chip/atmel/at91/at91sam9263.cfg]]
11 uplevel #0 [list source [find chip/atmel/at91/at91sam9263_matrix.cfg]]
12 uplevel #0 [list source [find chip/atmel/at91/at91sam9_init.cfg]]
14 # By default S1 is open and this means that NTRST is not connected.
15 # The reset_config in target/at91sam9263.cfg is overridden here.
16 # (or S1 must be populated with a 0 Ohm resistor)
17 reset_config srst_only
20 $_TARGETNAME configure -event gdb-attach { reset init }
21 $_TARGETNAME configure -event reset-init { at91sam9263ek_reset_init }
22 $_TARGETNAME configure -event reset-start { at91sam9_reset_start }
24 proc at91sam9263ek_reset_init { } {
26 set config(master_pll_div) 14
27 set config(master_pll_mul) 171
29 set val $::AT91_WDT_WDV ;# Counter Value
30 set val [expr {$val | $::AT91_WDT_WDDIS}] ;# Watchdog Disable
31 set val [expr {$val | $::AT91_WDT_WDD}] ;# Delta Value
32 set val [expr {$val | $::AT91_WDT_WDDBGHLT}] ;# Debug Halt
33 set val [expr {$val | $::AT91_WDT_WDIDLEHLT}] ;# Idle Halt
35 set config(wdt_mr_val) $val
37 set config(sdram_piod) 1
38 ;# EBI_CSA, no pull-ups for D[15:0], CS1 SDRAM, CS3 NAND Flash
39 set config(matrix_ebicsa_addr) $::AT91_MATRIX_EBI0CSA
41 set val $::AT91_MATRIX_EBI0_DBPUC
42 set val [expr {$val | $::AT91_MATRIX_EBI0_VDDIOMSEL_3_3V}]
43 set val [expr {$val | $::AT91_MATRIX_EBI0_CS1A_SDRAMC}]
44 set config(matrix_ebicsa_val) $val
46 ;# SDRAMC_CR - Configuration register
47 set val $::AT91_SDRAMC_NC_9
48 set val [expr {$val | $::AT91_SDRAMC_NR_13}]
49 set val [expr {$val | $::AT91_SDRAMC_NB_4}]
50 set val [expr {$val | $::AT91_SDRAMC_CAS_3}]
51 set val [expr {$val | $::AT91_SDRAMC_DBW_32}]
52 set val [expr {$val | (1 << 8)}] ;# Write Recovery Delay
53 set val [expr {$val | (7 << 12)}] ;# Row Cycle Delay
54 set val [expr {$val | (2 << 16)}] ;# Row Precharge Delay
55 set val [expr {$val | (2 << 20)}] ;# Row to Column Delay
56 set val [expr {$val | (5 << 24)}] ;# Active to Precharge Delay
57 set val [expr {$val | (1 << 28)}] ;# Exit Self Refresh to Active Delay
59 set config(sdram_cr_val) $val
61 set config(sdram_tr_val) 0x13c
63 set config(sdram_base) $::AT91_CHIPSELECT_1
64 at91sam9_reset_init $config