I found AUART4 driver in i.MX28 Linux 2.6.35.3 is not working. In arch/arm/mach-mx28/serial.c there are four blocks of AUART channels are defined, however RX DMA channel definition is missing in AUART4. Initialization fails in drivers/serial/mxs-auart.c because it can't find resource (strangely, this driver always initialize DMA regardless to CONFIG_MXS_AUART*_DMA_ENABLE) . You have to add RX DMA definision as below.
static struct resource auart4_resource[] = {
{
.flags = IORESOURCE_MEM,
.start = AUART4_PHYS_ADDR,
.end = AUART4_PHYS_ADDR + 0xFFF,
},
{
.flags = IORESOURCE_DMA,
.start = MXS_DMA_CHANNEL_AHB_APBX_UART4_RX,
.end = MXS_DMA_CHANNEL_AHB_APBX_UART4_RX,
},
{
.flags = IORESOURCE_DMA,
.start = MXS_DMA_CHANNEL_AHB_APBX_UART4_TX,
.end = MXS_DMA_CHANNEL_AHB_APBX_UART4_TX,
},
{
.flags = IORESOURCE_IRQ,
.start = IRQ_AUART4,
.end = IRQ_AUART4,
},