at91sam9261-ek.cfg 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. ################################################################################
  3. # Atmel AT91SAM9261-EK eval board
  4. ################################################################################
  5. source [find mem_helper.tcl]
  6. source [find target/at91sam9261.cfg]
  7. uplevel #0 [list source [find chip/atmel/at91/hardware.cfg]]
  8. uplevel #0 [list source [find chip/atmel/at91/at91sam9261.cfg]]
  9. uplevel #0 [list source [find chip/atmel/at91/at91sam9261_matrix.cfg]]
  10. uplevel #0 [list source [find chip/atmel/at91/at91sam9_init.cfg]]
  11. # By default S1 is open and this means that NTRST is not connected.
  12. # The reset_config in target/at91sam9261.cfg is overridden here.
  13. # (or S1 must be populated with a 0 Ohm resistor)
  14. reset_config srst_only
  15. scan_chain
  16. $_TARGETNAME configure -event gdb-attach { reset init }
  17. $_TARGETNAME configure -event reset-init { at91sam9261ek_reset_init }
  18. $_TARGETNAME configure -event reset-start { at91sam9_reset_start }
  19. proc at91sam9261ek_reset_init { } {
  20. ;# for ppla at 199 Mhz
  21. set config(master_pll_div) 15
  22. set config(master_pll_mul) 162
  23. ;# for ppla at 239 Mhz
  24. ;# set master_pll_div 1
  25. ;# set master_pll_mul 13
  26. set val $::AT91_WDT_WDV ;# Counter Value
  27. set val [expr {$val | $::AT91_WDT_WDDIS}] ;# Watchdog Disable
  28. set val [expr {$val | $::AT91_WDT_WDD}] ;# Delta Value
  29. set val [expr {$val | $::AT91_WDT_WDDBGHLT}] ;# Debug Halt
  30. set val [expr {$val | $::AT91_WDT_WDIDLEHLT}] ;# Idle Halt
  31. set config(wdt_mr_val) $val
  32. ;# EBI_CSA, no pull-ups for D[15:0], CS1 SDRAM, CS3 NAND Flash
  33. set config(matrix_ebicsa_addr) $::AT91_MATRIX_EBICSA
  34. set config(matrix_ebicsa_val) [expr {$::AT91_MATRIX_DBPUC | $::AT91_MATRIX_CS1A_SDRAMC}]
  35. ;# SDRAMC_CR - Configuration register
  36. set val $::AT91_SDRAMC_NC_9
  37. set val [expr {$val | $::AT91_SDRAMC_NR_13}]
  38. set val [expr {$val | $::AT91_SDRAMC_NB_4}]
  39. set val [expr {$val | $::AT91_SDRAMC_CAS_3}]
  40. set val [expr {$val | $::AT91_SDRAMC_DBW_32}]
  41. set val [expr {$val | (2 << 8)}] ;# Write Recovery Delay
  42. set val [expr {$val | (7 << 12)}] ;# Row Cycle Delay
  43. set val [expr {$val | (3 << 16)}] ;# Row Precharge Delay
  44. set val [expr {$val | (2 << 20)}] ;# Row to Column Delay
  45. set val [expr {$val | (5 << 24)}] ;# Active to Precharge Delay
  46. set val [expr {$val | (8 << 28)}] ;# Exit Self Refresh to Active Delay
  47. set config(sdram_cr_val) $val
  48. set config(sdram_tr_val) 0x13c
  49. set config(sdram_base) $::AT91_CHIPSELECT_1
  50. at91sam9_reset_init $config
  51. }