I'm working with the standard Freescale Linux and Android distribution (R13.4) on an i.MX6Solo board. This board was based off the SABRESD design so I'm using the sabresd_6dq-eng Android lunch combo.
I'd like the system (and Android) to use UART2 instead of UART1 for the runtime console. I'm not changing the board bringup files in arch/arm/mach-mx6 yet, but have just changed the kernel command line to suit (e.g. "console=ttymxc1,115200 .... androidboot.console=ttymxc1"). I've set the UART port pins appropriately in the pad mux array of the board-mx6q_sabresd.h/c files.
Right now, the kernel switches over to UART2 at the appropriate time in the process (after early console) and emits kernel boot info, but then the Android shell never comes up on ttymxc1/UART2 through this same serial port. So I know the hardware is working, but then when Android init takes over I lose the port.
Even more strangely, when I get into the system with "adb shell" via USB, set appropriate permissions on /dev/ttymxc*, then try to send a simple string out the OLD console port (e.g. echo "hi" > /dev/ttymxc0), the kernel hangs or panics (can't tell, since the consoles are down). Echoing to ttymxc1 is fine.
I've seen other threads asking if the mxc serial drivers are busted. Has anyone else seen something similar or can they try this on their Android systems?