Merge pull request #10660 from aabadie/pr/periph/stm32_lpuart_l496zg
boards/nucleo-l496zg: use lpuart1 as stdio interface
This commit is contained in:
commit
380d19e9d2
@ -1 +1,3 @@
|
||||
FEATURES_REQUIRED += periph_lpuart
|
||||
|
||||
include $(RIOTBOARD)/common/nucleo/Makefile.dep
|
||||
|
||||
@ -4,7 +4,7 @@ FEATURES_PROVIDED += periph_rtc
|
||||
FEATURES_PROVIDED += periph_rtt
|
||||
FEATURES_PROVIDED += periph_spi
|
||||
FEATURES_PROVIDED += periph_timer
|
||||
FEATURES_PROVIDED += periph_uart
|
||||
FEATURES_PROVIDED += periph_uart periph_lpuart
|
||||
|
||||
# load the common Makefile.features for Nucleo boards
|
||||
include $(RIOTBOARD)/common/nucleo144/Makefile.features
|
||||
|
||||
@ -4,7 +4,7 @@ export CPU_MODEL = stm32l496zg
|
||||
|
||||
# stdio is not available over st-link but on the Arduino TX/RX pins
|
||||
# A serial to USB converter plugged to the host is required
|
||||
PORT_LINUX ?= /dev/ttyUSB0
|
||||
PORT_LINUX ?= /dev/ttyACM0
|
||||
PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*)))
|
||||
|
||||
# load the common Makefile.include for Nucleo boards
|
||||
|
||||
@ -112,6 +112,18 @@ static const timer_conf_t timer_config[] = {
|
||||
* @{
|
||||
*/
|
||||
static const uart_conf_t uart_config[] = {
|
||||
{
|
||||
.dev = LPUART1,
|
||||
.rcc_mask = RCC_APB1ENR2_LPUART1EN,
|
||||
.rx_pin = GPIO_PIN(PORT_G, 8),
|
||||
.tx_pin = GPIO_PIN(PORT_G, 7),
|
||||
.rx_af = GPIO_AF8,
|
||||
.tx_af = GPIO_AF8,
|
||||
.bus = APB12,
|
||||
.irqn = LPUART1_IRQn,
|
||||
.type = STM32_LPUART,
|
||||
.clk_src = 0,
|
||||
},
|
||||
{
|
||||
.dev = USART3,
|
||||
.rcc_mask = RCC_APB1ENR1_USART3EN,
|
||||
@ -130,8 +142,9 @@ static const uart_conf_t uart_config[] = {
|
||||
}
|
||||
};
|
||||
|
||||
#define UART_0_ISR (isr_usart3)
|
||||
#define UART_0_DMA_ISR (isr_dma1_stream5)
|
||||
#define UART_0_ISR (isr_lpuart1)
|
||||
#define UART_1_ISR (isr_usart3)
|
||||
#define UART_1_DMA_ISR (isr_dma1_stream5)
|
||||
|
||||
#define UART_NUMOF (sizeof(uart_config) / sizeof(uart_config[0]))
|
||||
/** @} */
|
||||
|
||||
@ -85,6 +85,13 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
||||
periph_clk_en(IOP, (RCC_IOPENR_GPIOAEN << _port_num(pin)));
|
||||
#elif defined (CPU_FAM_STM32L4)
|
||||
periph_clk_en(AHB2, (RCC_AHB2ENR_GPIOAEN << _port_num(pin)));
|
||||
#ifdef PWR_CR2_IOSV
|
||||
if (port == GPIOG) {
|
||||
/* Port G requires external power supply */
|
||||
periph_clk_en(APB1, RCC_APB1ENR1_PWREN);
|
||||
PWR->CR2 |= PWR_CR2_IOSV;
|
||||
}
|
||||
#endif /* PWR_CR2_IOSV */
|
||||
#else
|
||||
periph_clk_en(AHB1, (RCC_AHB1ENR_GPIOAEN << _port_num(pin)));
|
||||
#endif
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user