--- tmp/ecos-trunk-2006-11-17/ecos/packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c 2006-02-08 11:28:04.000000000 +0100 +++ work/ecos/ecos/packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c 2006-11-16 16:54:39.000000000 +0100 @@ -90,6 +90,7 @@ #define IER_XMT 0x02 #define IER_LS 0x04 #define IER_MS 0x08 +#define IER_UUE 0x40 // UART enable, e.g. in Intel PXA 255 and PXA 270 // Line Control Register #define LCR_WL5 0x00 // Word length @@ -256,6 +257,7 @@ serial_config_port(serial_channel *chan, /* First, find out what kind of device it is. */ ser_chan->deviceType = sNone; + HAL_WRITE_UINT8(base+REG_ier, IER_UUE); // if this bit exists it must be set for this test HAL_WRITE_UINT8(base+REG_mcr, MCR_LOOP); // enable loopback mode HAL_READ_UINT8(base+REG_msr, b); if (0 == (b & 0xF0)) { // see if MSR had CD, RI, DSR or CTS set @@ -326,6 +328,7 @@ serial_config_port(serial_channel *chan, #ifdef CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS _ier |= (IER_LS|IER_MS); #endif + _ier |= IER_UUE; HAL_WRITE_UINT8(base+REG_ier, _ier); if (new_config != &chan->config) {