AnsweredAssumed Answered

Switching console UARTs on i.MX6S w/Android is crashing badly...

Question asked by Louis Koziarz on Jun 3, 2013
Latest reply on Jul 22, 2013 by Lily Zhang
Branched to a new discussion

Hello all,


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?