New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cpu/qn908x: Add support for UART. #15550
Conversation
The QN908x has four FLEXCOMM interfaces that support a subset of UART, SPI or I2C each one. This patch adds generic support for dealing with the FLEXCOMM initialization and interrupts and adds a driver for RX/TX support in UART. With this patch is now possible to use a shell on the device over UART.
I have the next one ready: https://github.com/iosabi/RIOT/tree/qn908x_ctimer but due to conflicts with this one I have it stacked on top of this commit. Turns out I need xtimer to work to be able to test rtc with this tests/ I'm not quite sure who should decide the number of CTIMER blocks used for the periph_timer, because you can also use them for counters and maybe pwm, so is it the app board or cpu? |
On most MCUs the timers can also be used for PWM. Here the board must ensure that timers and pwm do not conflict. On saml1x there are only three TC peripherals (Timer Counter / PWM), or two if TC0 & TC1 are used as one 32 bit timer. That's why not all PWM configurations are enabled by default there, those can only be used with another timer source (e.g. SysTick) - but eventually it's up to the user / application builder to solve the conflict. |
Contribution description
The QN908x has four FLEXCOMM interfaces that support a subset of UART,
SPI or I2C each one. This patch adds generic support for dealing with
the FLEXCOMM initialization and interrupts and adds a driver for
RX/TX support in UART.
With this patch is now possible to use a shell on the device over UART.
Testing procedure
make BOARD=qn9080dk -C examples/hello-world/ flash
Issues/PRs references
This is part of the FR #13852 .