A13-OLinXino JTAG works

A13 documentation is very brief and so far we found inside ton of errors, to me it looks like somebody wrote this document in hurry with copy and paste from A10 (also brief) documentation.

This may be shock for somebody of Western world but seems pretty normal for Chinese SoC vendor as their model is to sell not chips but solutions i.e. their customers (the consumer electronics manufacturing companies) do not do any design work on their sites, Allwinner sell them processors, pre-routed PCBs, pre-build Android and Linux images with all features enabled, so they just manufacture and spend no resources to develop.

What I found very useful with the Android A13-SDK image which we got from Allwinner is that there you have kernel configuration text script where you can define every processor feature as port functions, CPU voltages, times, DDR3 organization, timing, etc etc you name it and when the board reboots the bootloader read this script and pre-configure your kernel on the fly, no need to re-compile kernels and you ork with the newest Kernel 3.x available. So in this situation Allwinner customers never need decent datasheet at all because all development is already done for them by Allwinner. This explains why they do not bother to spend time to release proper dcumentation too.

We actually did the very first A13 design which is made outside Allwinner, but this leave us to explore A13 features by ourself, which is not so bad by the way, we feel like the pioneers of the wild west.

Today Henrik Nordstrom (who got one of the very first prototypes) send me message that he successfully run OpenOCD with A13 and can debug with ARM-USB-TINY-H adapter I sent him with the A13-OLinuXino, so in the next revision of the board we will break out the JTAG signals on separate connector.

Here is the A13 GPIO description we have so far http://linux-sunxi.org/A13/PIO

Note that SD card share UART0 and JTAG signals this means if you have no internal NAND will be hard to debug Linux as SD card will be used to boot the Linux image.

UART0 can be enabled to be used for the console.