Re: [PATCH 7/9] tty: Add MIPS EJTAG Fast Debug Channel TTY driver

From: Greg Kroah-Hartman
Date: Thu Mar 26 2015 - 11:09:14 EST


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>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/