[uCsimm] new version of MAX3111E serial driver

From: David Beckemeyer (david@bdt.com)
Date: Tue Oct 17 2000 - 15:31:32 EDT


I have posted a newer version of the MAX3111E based serial port
add-on for uClinux/uCsimm. The major chage is adding support
for multiple MAX3111E devices, up to two additional serial ports.

The tarball url is:

    http://www.bdt.com/david/ucsimm/max311Xserial-0.20-R1.tar.gz

The README is appended below:

----------------------------------------------------------------

October 17, 2000

This package contains another preliminary uClinux serial (tty) driver
for adding MAX3111E based RS-232 ports to the uCsimm. The major
improvement in this release from previous releases is that the code
now supports two ports/UARTS instead of just one.

This is still a preliminary driver, although it was first released
in December 1999 and has been in use regularly since then. However,
it still lacks certain features. Specifically, interrupt driven
transmit isn't implemented (since polling has been adequate for
my needs and no one has stepped up to get TX interrupts working).

The archive includes the source for the driver:

    max311Xserial.c
    max311Xserial.h

These files should be placed in the kernel char driver subdirectory
(linux/drivers/char).

I no longger include a patch to the kernel. You will have to
manually modify the following files:

In linux/include/linux/tty.h insert:

    extern int rsmax311x_init(void);

In linux/drivers/char/Makefile insert:

    ifeq ($(CONFIG_MAX311X_SERIAL),y)
    L_OBJS += max311Xserial.o
    endif

In linux/drivers/char/tty_io.c insert:

    #ifdef CONFIG_MAX311X_SERIAL
          rsmax311x_init();
    #endif

In linux/arch/m68knommu/config.in within the
'if [ "$CONFIG_M68EZ328" = "y" ]; then'" block, insert:

    bool 'MAX311X serial support' CONFIG_MAX311X_SERIAL

In linux/arch/m68knommu/defconfig insert:

    CONFIG_MAX311X_SERIAL=n

The driver was originally built for uClinux-2.0.38.1pre1 and has
been used with various other uClinux kernel versions since.

The driver assumes the hardware is connected a certain way, per
the instructions in max311Xserial.h. It also assumes a 1.8432Mhz
crystal. If you change the hardware config, you will have to make
correpsonding changes to the code, per the MAX3111E datasheet.

This driver is based very much on the work of others, mostly the
68328serial.c and 68332serial.c drivers by Vladimir Gurevich,
Jeff Dionne, Kenneth Albanowsk, and David S. Miller.

You may contact me at:
    david@bdt.com

I am particularly interested in any bugs you find or if anyone is
able to get interrupt-driver transmit working.

 -- David Beckemeyer

This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/



This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:38 EST