/* Goes in read_status_mask for break detection as the HW doesn't do it*/
 #define CDNS_UART_IXR_BRK      0x80000000
 
+/*
+ * Modem Control register:
+ * The read/write Modem Control register controls the interface with the modem
+ * or data set, or a peripheral device emulating a modem.
+ */
+#define CDNS_UART_MODEMCR_FCM  0x00000020 /* Automatic flow control mode */
+#define CDNS_UART_MODEMCR_RTS  0x00000002 /* Request to send output control */
+#define CDNS_UART_MODEMCR_DTR  0x00000001 /* Data Terminal Ready */
+
 /*
  * Channel Status Register:
  * The channel status register (CSR) is provided to enable the control logic
 
 static void cdns_uart_set_mctrl(struct uart_port *port, unsigned int mctrl)
 {
-       /* N/A */
+       u32 val;
+
+       val = cdns_uart_readl(CDNS_UART_MODEMCR_OFFSET);
+
+       val &= ~(CDNS_UART_MODEMCR_RTS | CDNS_UART_MODEMCR_DTR);
+
+       if (mctrl & TIOCM_RTS)
+               val |= CDNS_UART_MODEMCR_RTS;
+       if (mctrl & TIOCM_DTR)
+               val |= CDNS_UART_MODEMCR_DTR;
+
+       cdns_uart_writel(val, CDNS_UART_MODEMCR_OFFSET);
 }
 
 #ifdef CONFIG_CONSOLE_POLL