tcl/board: add Linksys WAG200G config

The Linksys WAG200G router has a TI AR7 SoC and a 4MB Flash layout
similar to the Netgear DG834v3 router [1].

Below is an example of a successful flash recovery, using a TUMPA,
connected to the MIPS EJTAG 2.6 header (JP102) of the router.

     WAG200G [2]  TUMPA [3]
     Desc  Pin    Pin  Desc
    ------------------------
     nTRST   1    3   nTRST
     TDI     3    5     TDI
     TDO     5    13    TDO
     TMS     7    7     TMS
     TCK     9    9     TCK
     nSRST  11    15    RST
     GND     2    4     GND

Note that nSRST is optional to halt the CPU, but is required to probe
the flash. For instance, recover the kernel with:

    $ sudo ./src/openocd -s tcl \
      -f interface/ftdi/tumpa.cfg \
      -f tools/firmware-recovery.tcl \
      -c 'board linksys-wag200g;
          reset_config srst_only;
          flash_part kernel /path/to/kernel.bin;
          shutdown'

[1] https://wiki.openwrt.org/toh/linksys/wag200g
[2] https://www.linux-mips.org/wiki/JTAG#JTAG_headers
[3] http://www.tiaowiki.com/w/TIAO_USB_Multi_Protocol_Adapter_User's_Manual#20_PIN_JTAG_Connector

Change-Id: I952ba9f706e2e4f8f95ca03a5fa58f391ca030b6
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Reviewed-on: http://openocd.zylin.com/3776
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
Vivien Didelot 2016-09-21 11:16:47 -04:00 committed by Andreas Fritiofson
parent 537c019ced
commit 9d98f8b7a7
2 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,27 @@
#
# Linksys WAG200G Router
#
# The stock firmware Flash layout is organized as follow:
#
# Start End Device
# 0x90000000 0x90020000 /dev/mtdblock/2
# 0x90020000 0x900d0000 /dev/mtdblock/1
# 0x900d0000 0x903a0000 /dev/mtdblock/0
# 0x903a0000 0x903e0000 /dev/mtdblock/5
# 0x903e0000 0x903f0000 /dev/mtdblock/3
# 0x903f0000 0x90400000 /dev/mtdblock/4
set partition_list {
adam2 { "Adam2 bootloader" 0x90000000 0x00020000 }
kernel { "Kernel" 0x90020000 0x000b0000 }
rootfs { "Root FS" 0x900d0000 0x002d0000 }
lang { "Minix language part" 0x903a0000 0x00040000 }
config { "Firmware config" 0x903e0000 0x00010000 }
adam2env { "Adam2 environment" 0x903f0000 0x00010000 }
}
source [find target/ti-ar7.cfg]
# External 4MB MXIC 29LV320MBTC Flash (Manufacturer/Device: 0x00c2 0x227e)
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME cfi 0x90000000 0x00400000 2 2 $_TARGETNAME

View File

@ -4,6 +4,7 @@ echo "Use -c firmware_help to get help\n"
set known_boards {
"asus-rt-n16 ASUS RT-N16"
"asus-rt-n66u ASUS RT-N66U"
"linksys-wag200g Linksys WAG200G"
"linksys-wrt54gl Linksys WRT54GL v1.1"
"netgear-dg834v3 Netgear DG834G v3"
"tp-link_tl-mr3020 TP-LINK TL-MR3020"