Part Number: AM3358
I'm trying to bring up a simple AM335x break-out board, but I'm not getting very far. The break-out board has every I/O pin broken out to headers, with both MMC0 and MMC1 broken out to MicroSD connectors.
With no boot media in, I see the character "C" sent over UART0 eight times at approximately 144,341 baud.
I created an SD card image using the master branch of Buildroot, using the beaglebone_defconfig. Because of potential RTC issues illustrated below, I have disabled CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC in u-boot.
With a (verified working on a BeagleBone Black) 32 GB MicroSD card inserted into either MMC0 or MMC1, I see on a logic analyzer that the AM335x initializes the SD card and reads blocks 0 through 136 from it.
However, I get no U-Boot SPL output on the UART. I've attached both a J-Link Mini EDU and a full-blown J-Link JTrace Pro Cortex-A debug probe to the board, and I get
$ sudo JLinkGDBServer -device am3358 SEGGER J-Link GDB Server V6.80d Command Line Version [...] Target voltage: 3.36 V Listening on TCP/IP port 2331 Connecting to target... ERROR: AM335x connect: Can not find ICE-Pick (IRLen mismatch) AM335x connect:Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0xFFFFFFFF
I have verified that none of the JTAG pins are shorted to 3.3V.
Here are the schematics for the board: 
The board has several issues, as well as some variations from TI recommendations:
- Oops: RTC_PORZ (B5) is disconnected
- Oops: ENZ_KALDO_1P8V is disconnected
- VDD_CORE, VDD_MPU, and VDDS_DDR are all run off a single 1.35V supply (which is within the operating ranges of the AM3358, as far as my reading suggests)
- There is no intentional power sequencing.
I have tested on two boards, so I don't immediately suspect solder issues. I have checked that all the VDD rails are operating properly. The internal CAP_ rails measure as follows:
- CAP_VDD_RTC: 1.08V
- CAP_VDD_SRAM_MPU: 1.346V
- CAP_VDD_SRAM_CORE: 1.346V
- CAP_VBB_MPU: 1.34V
I have tried shorting CAP_VDD_RTC to VDDCORE, as suggested in the TRM, in case my disconnected RTC_PORZ/ENZ_KALDO pins were causing the RTC regulator to malfunction, but that didn't fix the boot problem.
I can verify, however, my RTC crystal isn't oscillating.
I have no problem spinning a new rev to fix the RTC bugs or change some of the design, but I'd like to feel a bit more confident that I know the magic bullet that was preventing even the JTAG from working. This is a small break-out board that I built for my own internal purposes, so frankly, it's not important if it's perfect.
I've grossly violated power sequencing specifications in the past and only seen occasional start-up glitches (one out of a hundred) on other processors I've used, so that "fix" doesn't instill a lot of confidence.
Does anyone have some guesses as to what the likely culprit is for this? Are there further design bugs I've missed? I appreciate it!