nuttx/arch/arm/src/stm32l4
2017-01-18 10:45:22 -06:00
..
chip implementation of dumpgpio for stm32l4, was required for pwm debug. 2016-11-22 07:57:21 -06:00
chip.h
Kconfig STM32L4: Port fix for multiple oneshot timers from STM32. Also fixes a few issues with original STM32 implementation. 2017-01-18 10:45:22 -06:00
Make.defs Add support for quadrature encoders on STM32L4 2016-10-02 23:26:16 +02:00
README.txt update README.txt to reflect new implementation status 2016-07-08 17:33:38 -05:00
stm32l4_adc.h
stm32l4_allocateheap.c Rename CONFIG_DEBUG_HEAP to CONFIG_HEAP_COLORATION 2016-06-15 14:48:06 -06:00
stm32l4_can.c can.h moved from include/nuttx/ to include/nuttx/drivers. 2016-07-20 13:38:36 -06:00
stm32l4_can.h can.h moved from include/nuttx/ to include/nuttx/drivers. 2016-07-20 13:38:36 -06:00
stm32l4_dbgmcu.h
stm32l4_dma.c
stm32l4_dma.h Change *err() to either info() or err(ERROR:..), depending upon if an error has occurred. 2016-06-16 08:41:21 -06:00
stm32l4_dtcm.c
stm32l4_dumpgpio.c implementation of dumpgpio for stm32l4, was required for pwm debug. 2016-11-22 07:57:21 -06:00
stm32l4_exti_alarm.c
stm32l4_exti_gpio.c
stm32l4_exti_pwr.c
stm32l4_exti_pwr.h
stm32l4_exti.h
stm32l4_firewall.c
stm32l4_firewall.h
stm32l4_flash.h Fix email address in file headers 2016-06-09 08:26:14 -06:00
stm32l4_freerun.c PR fixes for oneshoot and freerun 2016-07-12 00:16:08 +02:00
stm32l4_freerun.h Renames stm32_ -> stm32l4_ on old files and rtcc/basic timers 2016-07-11 19:05:09 +02:00
stm32l4_fsmc.h
stm32l4_gpio.c Spurious 'else' in previous commit removed 2016-06-17 14:46:02 -06:00
stm32l4_gpio.h Renames stm32_ -> stm32l4_ on old files and rtcc/basic timers 2016-07-11 19:05:09 +02:00
stm32l4_i2c.c arch: Disable priority inheritance on all semaphores used for signaling in all I2C/TWI drivers 2016-11-03 14:23:42 -06:00
stm32l4_i2c.h
stm32l4_idle.c Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info(). 2016-06-20 11:59:15 -06:00
stm32l4_irq.c Fix STM32 RTC Alarm interrupts. They were being enabled BEFORE the interrupt system was being initialized. 2016-07-23 10:36:06 -06:00
stm32l4_lcd.h
stm32l4_lowputc.c
stm32l4_lowputc.h
stm32l4_lse.c
stm32l4_mpuinit.c
stm32l4_mpuinit.h
stm32l4_oneshot_lowerhalf.c Add a simulated oneshot lowerhalf driver 2016-08-12 13:14:03 -06:00
stm32l4_oneshot.c STM32L4: Port fix for multiple oneshot timers from STM32. Also fixes a few issues with original STM32 implementation. 2017-01-18 10:45:22 -06:00
stm32l4_oneshot.h STM32L4: Port fix for multiple oneshot timers from STM32. Also fixes a few issues with original STM32 implementation. 2017-01-18 10:45:22 -06:00
stm32l4_otgfs.h
stm32l4_otgfsdev.c Fixed L4 USB Driver by avoiding SETUPDONE and EPOUT_SETUP 2016-10-04 16:52:12 -10:00
stm32l4_otgfshost.c arch: Disable priority inheritance on all semaphores used for signaling in all USB host drivers 2016-11-03 17:05:53 -06:00
stm32l4_pm.h
stm32l4_procfs_dtcm.c
stm32l4_pwm.c Trivial stylistic changes from review of last PR 2016-10-14 11:12:49 -06:00
stm32l4_pwm.h Support Complementary PWM outputs on STM32L4 2016-10-14 18:06:11 +02:00
stm32l4_pwr.c need to be able to explicitly indicate Vddusb is valid in order to use the OTFS block in this chip; done via PWR CR2 bit USV. 2016-06-09 11:26:36 -05:00
stm32l4_pwr.h need to be able to explicitly indicate Vddusb is valid in order to use the OTFS block in this chip; done via PWR CR2 bit USV. 2016-06-09 11:26:36 -05:00
stm32l4_qencoder.c typos 2016-11-09 19:52:29 +01:00
stm32l4_qencoder.h Add support for quadrature encoders on STM32L4 2016-10-02 23:26:16 +02:00
stm32l4_qspi.c arch: Disable priority inheritance on all semaphores used for signaling in all SPI drivers 2016-11-03 14:51:44 -06:00
stm32l4_qspi.h
stm32l4_rcc.c Renames stm32_ -> stm32l4_ on old files and rtcc/basic timers 2016-07-11 19:05:09 +02:00
stm32l4_rcc.h
stm32l4_rng.c arch: Disable priority inheritance on all semaphores used for signaling in all RNG drivers 2016-11-03 17:19:51 -06:00
stm32l4_rtc_lowerhalf.c Renames stm32_ -> stm32l4_ on old files and rtcc/basic timers 2016-07-11 19:05:09 +02:00
stm32l4_rtc.h STM32L4: Add logic reset backup domain early in initialization 2016-06-16 13:43:09 -06:00
stm32l4_rtcc.c Rename alarm_enable to rtc_alarm_enabled; mark inline 2016-07-23 12:01:57 -06:00
stm32l4_sdio.h
stm32l4_serial.c STM32L4: Correct USART1/2 definitions. Use default mbed UART4 settings 2016-12-01 09:00:59 -06:00
stm32l4_spi.c arch: Disable priority inheritance on all semaphores used for signaling in all SPI drivers 2016-11-03 14:51:44 -06:00
stm32l4_spi.h
stm32l4_start.c Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
stm32l4_tickless.c Cosmetic changes after PR 94 2016-07-12 00:57:18 +02:00
stm32l4_tim_lowerhalf.c All timer lower half drivers. Port Sebastien's changes to all all other implementations of the timer lower half. Very many just and untested. Expect some problems. 2016-11-17 15:03:31 -06:00
stm32l4_tim.c Cosmetic changes after PR 94 2016-07-12 00:57:18 +02:00
stm32l4_tim.h STM32L4: add support for tickless OS, and incidentally timers, pwm, oneshot, free-running.... 2016-07-08 17:30:55 -05:00
stm32l4_timerisr.c
stm32l4_uart.h STM32L4: Correct USART1/2 definitions. Use default mbed UART4 settings 2016-12-01 09:00:59 -06:00
stm32l4_uid.c
stm32l4_uid.h
stm32l4_usbdev.h
stm32l4_usbhost_trace.c
stm32l4_usbhost.h
stm32l4_userspace.c
stm32l4_userspace.h
stm32l4_waste.c
stm32l4_waste.h
stm32l4_wdg.h
stm32l4.h Renames stm32_ -> stm32l4_ on old files and rtcc/basic timers 2016-07-11 19:05:09 +02:00
stm32l4x6xx_dma.c Change *err() to either info() or err(ERROR:..), depending upon if an error has occurred. 2016-06-16 08:41:21 -06:00
stm32l4x6xx_rcc.c fix incorrect clock setup for LPTIM1 2016-07-08 16:37:44 -05:00

This is a port of NuttX to the STM32L4 Family
Used development board is the Nucleo L476RG, STM32L4VGDiscovery

The status is HIGHLY EXPERIMENTAL.

OSTEST application works, but drivers are not complete.

Most code is copied and adapted from the STM32 Port.

TODO list
---------

Peripherals with equivalent implementation in STM32 port

IRQs     : OK
GPIO     : OK
EXTI     : OK, to be tested.
HSI      : OK
HSE      : OK
PLL      : Works @ 80 MHz
MSI      : OK
LSE      : OK
RCC      : All registers defined, peripherals enabled, basic clock working
SYSCTL   : All registers defined
USART    : Working in normal mode (no DMA, to be tested, code is written)
DMA      : works; at least tested with QSPI
SRAM2    : OK; can be included in MM region or left separate for special app purposes
FIREWALL : Code written, to be tested, requires support from ldscript
SPI      : Code written, to be tested, including DMA
I2C      : Registers defined
RTC      : works
QSPI     : works in polling, interrupt, DMA, and also memory-mapped modes
CAN      : TODO
OTGFS    : dev implemented, tested, outstanding issue with CDCACM (ACM_SET_LINE_CODING, but otherwise works);
         : host implemented, only build smoke-tested (i.e. builds, but no functional testing yet)
Timers   : Implemented, with PWM oneshot and freerun, tickless OS support.  Limited testing (focused on tickless OS so far)
PM       : TODO, PWR registers defined
FSMC     : TODO
AES      : TODO
RNG      : works
CRC      : TODO (configurable polynomial)
WWDG     : TODO
IWDG     : TODO
MMCSD    : TODO
ADC      : TODO
DAC      : TODO

New peripherals with implementation to be written from scratch
These are Low Priority TODO items, unless someone requests or contributes it.

TSC      : TODO (Touch Screen Controller)
SWP      : TODO (Single wire protocol master, to connect with NFC enabled SIM cards)
LPUART   : TODO (Low power UART working with LSE at low baud rates)
LPTIMER  : TODO (Low power TIMER)
OPAMP    : TODO (Analog operational amplifier)
COMP     : TODO (Analog comparators)
DFSDM    : TODO (Digital Filter and Sigma-Delta Modulator)
LCD      : TODO (Segment LCD controller)
SAIPLL   : works (PLL For Digital Audio interfaces, and other things)
SAI      : TODO (Digital Audio interfaces, I2S, SPDIF, etc)