This is against git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Signed-off-by: David H. Lynch Jr. <dhlii at dlasystems.net> Status/Overview: This is separated out from a more substantial effort to port Linux to the Pico E12 - a Xilinx Virtex-4 based PPC405 on a compact flash card. In that environment the UartLite support code is tested from boot support through to a working beta serial/console driver. There was a Xilinx UartLite driver done by others (Xilinx or MontaVista) for Linux 2.4. This is not based on that. This is based primarily on the 8250 support throughout the kernel - on the assumption that it is the heaviest used and therefore most likely well tested and debugged code. However the 8250 is also about the most complex serial driver with the largest set of special cases, features and work arrounds - almost none of which are relevant to the Xilinx UartLite. I separately relied on the m32r_sio driver as an example of a driver that had all the features I needed for the UartLite without the excess of the 8250. The relationship of this driver to those two should deliberately be very obvious on inspection. Where possible defines, registers, functions, ... were all named to match those of the 8250. This driver is only currently tested in the Pico E12, with a single UartLite without interrupts. I do not currently have access to other systems with multiple Xilinx UartLites. It is intended to work anywhere the Xilinux UartLite can be implemented in whatever numbers are desired - as such it should work interrupt driven for 4 UartLites in uCLinux for the MicroBlaze, but I have no way to test that. The know working environment is a single polled UartLite on a PPC405 in a Pico E12. Further I am new to Linux porting, and the whole Kernel developers tool suite and culture. I have tried to make this as conforming to those norms as possible, but there are certainly ways I have failed. I have extracted the UartLite driver from the rest of the Pico E12 effort and I am preparing to submit it as a separate patch. I have verified that it builds outside of the constraints of a Pico E12. But I have no way of testing it outside that environment. I hope to be submitting additional patches for the Virtex-4, the Pico E-12 and the E-12 unique hardware, as I have them ready. # Updated but not checked in: # (will commit) # # modified: arch/ppc/boot/common/misc-common.c # modified: arch/ppc/boot/simple/Makefile # modified: arch/ppc/boot/simple/misc-embedded.c # modified: arch/ppc/boot/simple/misc.c # new file: arch/ppc/boot/simple/uartlite_tty.c # modified: arch/ppc/syslib/Makefile # modified: arch/ppc/syslib/ppc4xx_setup.c # new file: arch/ppc/syslib/uartlite.h # new file: arch/ppc/syslib/uartlite_dbg.c # modified: drivers/serial/Kconfig # modified: drivers/serial/Makefile # new file: drivers/serial/uartlite.c # new file: drivers/serial/uartlite_early.c # modified: include/linux/serial.h # modified: include/linux/serial_core.h # new file: include/linux/serial_uartlite.h # # -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: uartlite.diff Url: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060108/843d8a29/attachment.txt