u32 reg;
 
        pd->hw_rs485_support = dw8250_detect_rs485_hw(p);
-       if (pd->hw_rs485_support)
+       if (pd->hw_rs485_support) {
                p->rs485_config = dw8250_rs485_config;
+       } else {
+               p->rs485_config = serial8250_em485_config;
+               up->rs485_start_tx = serial8250_em485_start_tx;
+               up->rs485_stop_tx = serial8250_em485_stop_tx;
+       }
+       up->capabilities |= UART_CAP_NOTEMT;
 
        /*
         * If the Component Version Register returns zero, we know that
                p->type = PORT_16550A;
                p->flags |= UPF_FIXED_TYPE;
                p->fifosize = DW_UART_CPR_FIFO_SIZE(reg);
-               up->capabilities = UART_CAP_FIFO;
+               up->capabilities = UART_CAP_FIFO | UART_CAP_NOTEMT;
        }
 
        if (reg & DW_UART_CPR_AFCE_MODE)