nuttx/arch/arm/src/stm32l4
2017-02-07 10:35:04 -06:00
..
chip implementation of dumpgpio for stm32l4, was required for pwm debug. 2016-11-22 07:57:21 -06:00
chip.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
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 ELF: Move ARMv6-M, ARMv7-M, and legacy ARM versions of ELF relocation logic to libc/machine 2017-01-21 15:24:25 -06:00
README.txt update README.txt to reflect new implementation status 2016-07-08 17:33:38 -05:00
stm32l4_adc.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
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 Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_dma.c Add port to the stm32L4 2016-03-10 09:59:16 -06:00
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 Add port to the stm32L4 2016-03-10 09:59:16 -06:00
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 Cosmetic changes from review of last PR 2016-05-08 01:40:31 -06:00
stm32l4_exti_gpio.c Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_exti_pwr.c Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_exti_pwr.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_exti.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_firewall.c Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_firewall.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
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 Add port to the stm32L4 2016-03-10 09:59:16 -06:00
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 Add stm32L4 I2C driver 2016-03-10 11:00:41 -06:00
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 Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_lowputc.c Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_lowputc.h Add stm32L4 I2C driver 2016-03-10 11:00:41 -06:00
stm32l4_lse.c basic RTC functionality implemented 2016-03-30 14:46:36 -05:00
stm32l4_mpuinit.c Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_mpuinit.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_oneshot_lowerhalf.c Add a simulated oneshot lowerhalf driver 2016-08-12 13:14:03 -06:00
stm32l4_oneshot.c STM32 and STM32L4 Oneshot: EBUSY is more appropriate error then ENOMEM 2017-01-18 16:20:15 -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 initial code for USB OTG support in STM32L4. Builds, but needs debugging. 2016-05-14 08:15:48 -05:00
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 Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_procfs_dtcm.c Add port to the stm32L4 2016-03-10 09:59:16 -06:00
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 add QSPI memory mapped mode support. tested. QSPI may enter and exit memory mapped mode; while in effect, other operations (e.g. command, memory) will fail with -EBUSY. 2016-04-23 11:54:03 -05:00
stm32l4_rcc.c Renames stm32_ -> stm32l4_ on old files and rtcc/basic timers 2016-07-11 19:05:09 +02:00
stm32l4_rcc.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
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 Add port to the stm32L4 2016-03-10 09:59:16 -06:00
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 Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_start.c Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
stm32l4_tickless.c up_timer_initialize() is named incorrectly. The prefix should be the architecture name, not up_ since it is private to the architecture. up_timerisr() is similarly misnamed and should also be private since it is used only with the xyz_timerisr.c files. Also updat TODO list. 2017-02-07 10:35:04 -06: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 up_timer_initialize() is named incorrectly. The prefix should be the architecture name, not up_ since it is private to the architecture. up_timerisr() is similarly misnamed and should also be private since it is used only with the xyz_timerisr.c files. Also updat TODO list. 2017-02-07 10:35:04 -06:00
stm32l4_uart.h STM32L4: Correct USART1/2 definitions. Use default mbed UART4 settings 2016-12-01 09:00:59 -06:00
stm32l4_uid.c add unique id function to arch, modded board to support unique id boardctl 2016-05-03 11:09:23 -05:00
stm32l4_uid.h add unique id function to arch, modded board to support unique id boardctl 2016-05-03 11:09:23 -05:00
stm32l4_usbdev.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_usbhost_trace.c initial code for USB OTG support in STM32L4. Builds, but needs debugging. 2016-05-14 08:15:48 -05:00
stm32l4_usbhost.h initial code for USB OTG support in STM32L4. Builds, but needs debugging. 2016-05-14 08:15:48 -05:00
stm32l4_userspace.c Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_userspace.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_waste.c Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_waste.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_wdg.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
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)