ar71xx.cfg 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. # Atheros AR71xx MIPS 24Kc SoC.
  3. # tested on PB44 refererence board
  4. adapter srst delay 100
  5. jtag_ntrst_delay 100
  6. reset_config trst_and_srst
  7. set CHIPNAME ar71xx
  8. jtag newtap $CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id 1
  9. set _TARGETNAME $CHIPNAME.cpu
  10. target create $_TARGETNAME mips_m4k -endian big -chain-position $_TARGETNAME
  11. $_TARGETNAME configure -event reset-halt-post {
  12. #setup PLL to lowest common denominator 300/300/150 setting
  13. mww 0xb8050000 0x000f40a3 ;# reset val + CPU:3 DDR:3 AHB:0
  14. mww 0xb8050000 0x800f40a3 ;# send to PLL
  15. #next command will reset for PLL changes to take effect
  16. mww 0xb8050008 3 ;# set reset_switch and clock_switch (resets SoC)
  17. }
  18. $_TARGETNAME configure -event reset-init {
  19. #complete pll initialization
  20. mww 0xb8050000 0x800f0080 ;# set sw_update bit
  21. mww 0xb8050008 0 ;# clear reset_switch bit
  22. mww 0xb8050000 0x800f00e8 ;# clr pwrdwn & bypass
  23. mww 0xb8050008 1 ;# set clock_switch bit
  24. sleep 1 ;# wait for lock
  25. # Setup DDR config and flash mapping
  26. mww 0xb8000000 0xefbc8cd0 ;# DDR cfg cdl val (rst: 0x5bfc8d0)
  27. mww 0xb8000004 0x8e7156a2 ;# DDR cfg2 cdl val (rst: 0x80d106a8)
  28. mww 0xb8000010 8 ;# force precharge all banks
  29. mww 0xb8000010 1 ;# force EMRS update cycle
  30. mww 0xb800000c 0 ;# clr ext. mode register
  31. mww 0xb8000010 2 ;# force auto refresh all banks
  32. mww 0xb8000010 8 ;# force precharge all banks
  33. mww 0xb8000008 0x31 ;# set DDR mode value CAS=3
  34. mww 0xb8000010 1 ;# force EMRS update cycle
  35. mww 0xb8000014 0x461b ;# DDR refresh value
  36. mww 0xb8000018 0xffff ;# DDR Read Data This Cycle value (16bit: 0xffff)
  37. mww 0xb800001c 0x7 ;# delay added to the DQS line (normal = 7)
  38. mww 0xb8000020 0
  39. mww 0xb8000024 0
  40. mww 0xb8000028 0
  41. }
  42. # setup working area somewhere in RAM
  43. $_TARGETNAME configure -work-area-phys 0xa0600000 -work-area-size 0x20000
  44. # serial SPI capable flash
  45. # flash bank <driver> <base> <size> <chip_width> <bus_width>