This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x: External UART detection



Hello all,

Cant seem to get my 3,12 Linux kernel to recognize an external 16550 UART. Our custom board is based on the BeagleBoneBlack, and uses GPIO's to create an external bus, controlled by the GPMC, to interface to the UART on a chip select.

As far as I can tell, the GPMC node we added to the DTS file is correct and correctly defines the UART. We reviewed the pinmux assignments, as well as the interrupt definitions for the UART in the DTS file as well, seems correct. After linux boots, there is no indication that the UART was detected. If I run a small linux program to read/write to the memory location of the UART, the external bus activity seems correct when viewed on a scope, so we believe the memory and chip selects are correctly mapped. However at kernel boot there doesn't appear to be any external bus activity when probed with a scope. It seems that I have some kind of configuration problem since the kernel does not even seem to attempt to go out on the bus to look for a UART at the defined location.

I have browsed around the menus when running "make ARCH=arm menuconfig", and when looking at the serial driver configuration it seems that everything 8250/16550 related is enabled.

If anyone has any clues as to a step I may be missing to get the kernel to attempt to detect the newly defined UART I would really appreciate it. Thanks in advance! - Anthony