[[PageOutline]] = Gateworks JTAG support = '''To use the JTAG software with the Ventana boards, please see the [wiki:jtag_instructions JTAG Software Page]''' Gateworks has two models of JTAG programmers: '''GW16042''' - uses 14-pin, 0.1" connector for Laguna (GW2387, GW2388, GW2391) boards. '''GW16099''' - uses 10-pin, 0.05" connector for Laguna (GW2380, GW2382, GW2383), Ventana, Newport boards. Both of these programmers uses the FTDI [http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT2232D.pdf FT2232D ] which has two general purpose 8-bit ports. The 1st port is configured for JTAG and utilizes the FTDI MPSSE engine. The 2nd port is configured for serial and used for the Serial Console. == GW16042 JTAG dongle == The diagram below shows the signal mapping for the 14-pin connector: [[Image(GW16042_14pin_JTAG.PNG, 300px)]] == GW16099 JTAG dongle == The diagram below shows the signal mapping for the 10-pin connector: [[Image(GW16099_10pin_JTAG.PNG, 300px)]] == Gateworks System Controller (GSC) == Most of our boards have a 'Gateworks System Controller' implemented with an MSP430 MPU which emulates several I2C devices used for system control and monitoring (see [wiki:gsc]). The MSP430 is on our JTAG chain, along with the board specific CPU so that we can access both of these devices via JTAG. The MSP430 does not use standard JTAG and by default and the part comes up in 'Spy-By-Wire' mode where you must transition TRST and SRST properly to get the part into JTAG mode. Without doing so, it will 'break the chain'. Additionally, the MSP430 must be manually clocked when accessing its JTAG interface which the TDI signal is used for. The following state transitions of JTAG TRST# and SRST# will put the MSP430 in JTAG mode: 1. JTAG TRST# = 0, JTAG SRST# = 1 2. JTAG TRST# = 1, JTAG SRST# = 1 3. JTAG TRST# = 1, JTAG SRST# = 0 4. JTAG TRST# = 0, JTAG SRST# = 0 5. JTAG TRST# = 1, JTAG SRST# = 0 6. JTAG TRST# = 1, JTAG SRST# = 1 Once in JTAG mode, it will be in bypass by default with an 8-bit instruction length. Note that the MSP430 does not have a JTAG ID thus it will not show up if you try to auto detect. References: - Gateworks System Controller: [wiki:gsc] - FTDI AN_108 MPSSE - http://www.ftdichip.com/Support/Documents/AppNotes/AN_108_Command_Processor_for_MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf - MSP430 Programming Via the JTAG interface - http://www.ti.com/lit/ug/slau320h/slau320h.pdf == JTAG Chain == The Gateworks Newport family has the following JTAG chain: 1. GSC (MSP430) (IR length=8bits, defaults to Spy-By-Wire mode on powerup) 2. Coresight Debug Access Port v5.2 (IR Length=4bits) The Gateworks Ventana family has the following JTAG chain: 1. GSC (MSP430) (IR length=8bits, defaults to Spy-By-Wire mode on powerup) 2. IMX6 SoC which internally has the following devices on the JTAG chain: a. IMX6 SJC (IR length=5bits) b. IMX6 SDMA (IR length=4bits) c. ARMV7A DAP (IR length=4bits) The Gateworks Laguna family has the following JTAG chain: 1. GSC (MSP430) (IR length=8bits, defaults to Spy-By-Wire mode on powerup) 2. CNS3xxx CPU (IR length=5 bits) 3. CNS3xxx CPU (IR length=5 bits) (if dual-core product)