Hello,
I'm bringing up a custom board using AM3352 without SGX option. The board is based somewhat on the AM335x evm board. The board has a 320x240 16bit LCD attached to the LDC controller and is using UART0 for uboot/linux console. I'm starting from ti-processor-sdk-linux-am335x-evm-02.00.01.07.
I've created a custom board config for uboot, and that appears to be fine. It is based on the am335x_evm. UART0 is configured as console. This is ttyS0 for Linux.
I've created a custom dts file, which also seems fine, given the results so far.
The following issue happens when I use the default kernel config tisdk_am335x-evm_defconfig, with SGX plugin option disabled (happens either way, as I do not have SGX enabled in my devicetree).
As soon as the FB console is enabled, ttyS0 becomes "garbage". It appears as if the baud rate has changed from 115200 to some other rate.
Here is the log as seen from the console serial port (ttyS0, UART0). I'm connected to this UART via a standard FTDI UART - USB cable.
[ 0.329017] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[ 0.332756] console [ttyS0] disabled
[ 0.332849] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 155, base_baud = 3000000) is a 8250
[ 0.989019] console [ttyS0] enabled
[ 0.993551] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 156, base_baud = 3000000) is a 8250
[ 1.003356] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 157, base_baud = 3000000) is a 8250
[ 1.013260] [drm] Initialized drm 1.1.0 20060810
[ 1.019887] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.026674] [drm] No driver support for vblank timestamp query.
ààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààà
Here is the same log from /dev/kmsg:
6,142,1019887,-;[drm] Supports vblank timestamp caching Rev 2 (21.10.2013). 6,143,1026674,-;[drm] No driver support for vblank timestamp query. 6,144,1065716,-;Console: switching to colour frame buffer device 40x30 6,145,1104840,-;tilcdc 4830e000.lcdc: fb0: frame buffer device SUBSYSTEM=platform DEVICE=+platform:4830e000.lcdc 6,146,1139486,-;tilcdc 4830e000.lcdc: registered panic notifier SUBSYSTEM=platform DEVICE=+platform:4830e000.lcdc 6,147,1194847,-;[drm] Initialized tilcdc 1.0.0 20121205 on minor 0 6,148,1242430,-;brd: module loaded 6,149,1267097,-;loop: module loaded 3,150,1287681,-;mtdoops: mtd device (mtddev=name/number) must be supplied 6,151,1394868,-;davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
Notice that the ttyS0 output goes to "garbage" at the same time the "switching to colour frame buffer device..." output is happening on kmsg. Could be a coincidence...?
All that being said, the LCD is working, I see the penguin followed by the TI progress bar. The touch screen controller on I2C0 we are using is also testing/working fine. Also able to connect via SSH/Ethernet just fine.
If I disable CONFIG_FRAMEBUFFER_CONSOLE in my kernel configuration, then ttyS0 remains working fine and I can login to the device via ttyS0. Of course then I do not get the penguin or TI progress bar on the LCD.
So... looking for ideas on how to resolve and get BOTH the ttyS0 console and the LCD working at the same time.
Thank you,
Matthew