On Thu, Jan 29, 2015 at 11:14:12AM +0000, James Hogan wrote: > Add TTY driver and consoles for the MIPS EJTAG Fast Debug Channel (FDC), > which is found on the per-CPU MIPS Common Device Mapped Memory (CDMM) > bus. > > The FDC is a per-CPU device which is used to communicate with an EJTAG > probe. RX and TX FIFOs exist, containing 32-bits of data and 4-bit > channel numbers. 16 general data streams are implemented on this for TTY > and console use by encoding up to 4 bytes on each 32-bit FDC word. > > The TTY devices are named e.g. /dev/ttyFDC3c2 for channel 2 of the FDC > attached to logical CPU 3. > > These can be used for getting the kernel log, a login prompt, or as a > GDB remote transport, all over EJTAG and without needing a serial port. > > It can have an interrupt to notify of when incoming data is available in > the RX FIFO or when the TX FIFO is no longer full. The detection of this > interrupt occurs in architecture / platform code, but it may be shared > with the timer and/or performance counter interrupt. > > Due to the per-CPU nature of the hardware, all outgoing TTY data is > written out from a kthread which is pinned to the appropriate CPU. > > The console is not bound to a specific CPU, so output will appear on the > chosen channel on whichever CPU the code is executing on. Enable with > e.g. console=fdc1 in kernel arguments. /dev/console is bound to the same > channel on the boot CPU's FDC if it exists. > > Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> > Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: Jiri Slaby <jslaby@xxxxxxx> > Cc: linux-mips@xxxxxxxxxxxxxx Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>