diff --git a/cpu/cc2538/include/periph_cpu.h b/cpu/cc2538/include/periph_cpu.h index 11f8202489..c14d2cfee9 100644 --- a/cpu/cc2538/include/periph_cpu.h +++ b/cpu/cc2538/include/periph_cpu.h @@ -167,8 +167,10 @@ typedef struct { cc2538_uart_t *dev; /**< pointer to the used UART device */ gpio_t rx_pin; /**< pin used for RX */ gpio_t tx_pin; /**< pin used for TX */ +#ifdef MODULE_PERIPH_UART_HW_FC gpio_t cts_pin; /**< CTS pin - set to GPIO_UNDEF when not using */ gpio_t rts_pin; /**< RTS pin - set to GPIO_UNDEF when not using */ +#endif } uart_conf_t; /** @} */ diff --git a/cpu/cc2538/periph/uart.c b/cpu/cc2538/periph/uart.c index 884ec31d13..3b8b32ef75 100644 --- a/cpu/cc2538/periph/uart.c +++ b/cpu/cc2538/periph/uart.c @@ -99,6 +99,7 @@ int uart_init(uart_t uart, uint32_t baudrate, uart_rx_cb_t rx_cb, void *arg) u->CC = 0; /* On the CC2538, hardware flow control is supported only on UART1 */ +#ifdef MODULE_PERIPH_UART_HW_FC if (uart_config[uart].rts_pin != GPIO_UNDEF) { assert(u != UART0_BASEADDR); gpio_init_af(uart_config[uart].rts_pin, UART1_RTS, GPIO_OUT); @@ -110,6 +111,7 @@ int uart_init(uart_t uart, uint32_t baudrate, uart_rx_cb_t rx_cb, void *arg) gpio_init_af(uart_config[uart].cts_pin, UART1_CTS, GPIO_IN); u->cc2538_uart_ctl.CTLbits.CTSEN = 1; } +#endif /* * UART Interrupt Setup: