A JTAG interface generally means taking the phone apart, locating the test points on the circuit board, and then soldering a bunch of wires to those testpoints. If you're squeamish about installing linux on a PC and running a Linux program, JTAG probably isn't for you.
Yeah, more or less if you don't work on electronic devices and have a strong understanding of what this could permanently do to your device, I'd suggest just selling the things or hiring someone to fix it for you.
If you feel adventuresome, check this out to learn how to take apart your G1.
http://mikechannon.net/PDF Manuals/HTC Dream SM (A04).pdf
*Thanks Mike for that tutorial and your site full of goodies.*
So here is the information I know thus far, so you guys and gals don't think I'm just dragging you along for the hell of it...
MSM7201A IC provides two seperate JTAG ports (primary and aux ports):
- The primary JTAG port is dedicated
- The aux JTAG port is available through configurable GPIO pins
We will need to jack into the aux JTAG port using the GPIO Pins.
These JTAG pins communicate with the ARM9/ARM11 cores, depending upon the mode setting.
- The JTAG mode is selected by setting hte MODE[3:0] pings.
*** At this point I'm missing some information. I need the following document: (80-V9038-13) for more information on using the JTAG interface with the G1.
Now, I am well aware that the chipset on the G1 is MSM7201A, however, I've done my research and I feel confident that the MSM7200A docs will suffice for this project.
Here are the Mode pins [3:0]
0000 Native, ARM9 on Primary JTAG, ARM11 on AUX JTAG
0001 TLMM_INT_JTAG_CTL register specifies the internal version of the MODE pin value for the Primary JTAG port:
TLMM_INT_JTAG_CTL settings:
0000: ARM9 only
0001: ARM9+ARM11 daisy-chained
0010: Reserved
0011: Reserved
1001: ARM9+ARM11+rtck daisy-chained
0010 Reserved
0011 Reserved
0100 Boundary scan mode
0101 to 1111 Reserved
The four mode pins are AA7, AB8, AD7 and AE7 (MSB and LSB)
**modes listed above have not been fully tested**
JTAG Pin Connections (I'll load a spreadsheet version of this to my site and link it later so it doesn't look like crap)
Signal Name Pin # I/O Voltage Description Comments
Primary Interface – dedicated pins
TRST_N AC5 I P3 reset
TCK AD6 I P3 clock input
TMS AD4 I P3 mode select
TDI AB5 I P3 data input
TDO AE6 Z P3 data output
RTCK AE5 O P3 return clock
Secondary Interface – configurable GPIO pins
AUX_TRST_N Y21 I P2 reset GPIO(102)
AUX_TCK AA24 I P2 clock input GPIO(103)
AUX_TMS Y24 I P2 mode select GPIO(98)
AUX_TDI W22 I P2 data input GPIO(99)
AUX_TDO W21 Z P2 data output GPIO(100)
AUX_RTCK Y22 O P2 return clock GPIO(101)
Mode Control Pins
MODE3 AA7 I P3 Determines operating mode of the IC.
MODE2 AB8 I P3
MODE1 AD7 I P3
MODE0 AE7 I P3
I'll also post the schematic of the example JTAG Connection from the adapter to the MSM7200A IC.
The biggest concern I have at this point is the software to push the raw SPL data. If someone can help with that I think we can get this done. Anyone??