nuttx/arch/arm/src/stm32l4
2017-05-21 15:02:00 -06:00
..
chip STM32L4: Review of last PR + Move separate stm32l4_flash.h; move hardware-specific definitions to chip/stm32l4_flash.h 2017-05-11 06:58:39 -06:00
chip.h STM32L4: add support for the STM32L496XX family 2017-04-25 08:47:50 -06:00
Kconfig STM32L4: remove duplicate USART selects from Kconfig 2017-05-17 08:05:24 -06:00
Make.defs STM32L4: add internal flash write support 2017-05-11 14:35:27 +03:00
README.txt STM32L4: stm32l4_i2c: add I2C4 code 2017-04-28 08:09:16 -06:00
stm32l4_adc.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_allocateheap.c STM32L4: add support for the STM32L496XX family 2017-04-25 08:47:50 -06:00
stm32l4_can.c Move CAN subsystem to its own directory and put device drivers there 2017-05-12 11:48:47 -03:00
stm32l4_can.h Move CAN subsystem to its own directory and put device drivers there 2017-05-12 11:48:47 -03:00
stm32l4_comp.c STM32L4 COMP: Remove some unused definitions 2017-02-20 08:41:43 -06:00
stm32l4_comp.h STM32L4 COMP: Port from Motorola MDK. 2017-02-19 11:33:35 -06:00
stm32l4_dbgmcu.h STM32L4: add dbgmcu header files 2017-05-09 14:13:51 +03:00
stm32l4_dma.c STM32L4: changes needed for STM32L452 and Nucleo-L452RE board 2017-05-04 15:23:38 +03:00
stm32l4_dma.h Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -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 STM32/F7/L4: EXTI ALARM function no longer returns the xcpt_t oldhandler. There value is useless and dangerous after the recent changes to interrupt argument passing. 2017-03-02 09:18:10 -06:00
stm32l4_exti_comp.c STM3 L4: EXTI COMP function no longer returns the xcpt_t oldhandler. There value is useless and dangerous after the recent changes to interrupt argument passing. 2017-03-02 09:03:12 -06:00
stm32l4_exti_gpio.c STM32L4: Remove warning. Remove unused variable. 2017-03-05 14:21:00 -06:00
stm32l4_exti_pwr.c STM3 L4: EXTI COMP function no longer returns the xcpt_t oldhandler. There value is useless and dangerous after the recent changes to interrupt argument passing. 2017-03-02 09:03:12 -06:00
stm32l4_exti_pwr.h STM32/F7/L4: EXOT PVD function no longer returns the xcpt_t oldhandler. There value is useless and dangerous after the recent changes to interrupt argument passing. 2017-03-02 08:56:31 -06:00
stm32l4_exti.h STM32 L4: Pin IRQ logic no longer returns the xcpt_t oldhandler. There value is useless and dangerous after the recent changes to interrupt argument passing. 2017-03-02 12:36:40 -06:00
stm32l4_firewall.c STM32L4: firewall for stm32l4x3xx 2017-05-05 10:15:09 +03:00
stm32l4_firewall.h STM32L4: firewall for stm32l4x3xx 2017-05-05 10:15:09 +03:00
stm32l4_flash.c STM32L4: Review of last PR + Move separate stm32l4_flash.h; move hardware-specific definitions to chip/stm32l4_flash.h 2017-05-11 06:58:39 -06:00
stm32l4_flash.h STM32L4: Review of last PR + Move separate stm32l4_flash.h; move hardware-specific definitions to chip/stm32l4_flash.h 2017-05-11 06:58:39 -06:00
stm32l4_freerun.c Add argument to timer irq callback 2017-03-01 08:49:14 -06: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 STM32L4: add GPIO_PORTI definition 2017-05-02 07:41:14 -06:00
stm32l4_gpio.h STM32L4: changes needed for STM32L452 and Nucleo-L452RE board 2017-05-04 15:23:38 +03:00
stm32l4_i2c.c stm32_i2c: make private symbols static 2017-05-19 07:16:01 -06:00
stm32l4_i2c.h Add stm32L4 I2C driver 2016-03-10 11:00:41 -06:00
stm32l4_idle.c STM32L4: Bring power management logic from Motrola MDK into NuttX 2017-02-18 10:18:42 -06:00
stm32l4_irq.c ARM: Remove redundant interrupt stack coloring 2017-03-16 19:13:39 +08: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_lptim.c STM32L4: Bring LPTIM driver in from the Motorola MDK. 2017-02-18 11:06:20 -06:00
stm32l4_lptim.h Fixes for coding standard: '*' needs to 'snuggle' with following variable name 2017-02-28 18:37:44 -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 Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -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: Bring LPTIM driver in from the Motorola MDK. 2017-02-18 11:06:20 -06:00
stm32l4_otgfsdev.c irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -06:00
stm32l4_otgfshost.c Missed one change in the previous commit. 2017-05-21 15:02:00 -06:00
stm32l4_pm.h STM32L4: Bring power management logic from Motrola MDK into NuttX 2017-02-18 10:18:42 -06:00
stm32l4_pminitialize.c STM32L4: Bring power management logic from Motrola MDK into NuttX 2017-02-18 10:18:42 -06:00
stm32l4_pmlpr.c STM32L4: Bring power management logic from Motrola MDK into NuttX 2017-02-18 10:18:42 -06:00
stm32l4_pmsleep.c STM32L4: Bring power management logic from Motrola MDK into NuttX 2017-02-18 10:18:42 -06:00
stm32l4_pmstandby.c Remove some dangling whitespace at the end of some lines. 2017-02-18 10:20:08 -06:00
stm32l4_pmstop.c STM32L4: Bring power management logic from Motrola MDK into NuttX 2017-02-18 10:18:42 -06:00
stm32l4_pwm.c irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -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 Convert more drivers to use new interrupt argument structure. 2017-02-28 09:05:01 -06:00
stm32l4_qencoder.h Add support for quadrature encoders on STM32L4 2016-10-02 23:26:16 +02:00
stm32l4_qspi.c irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -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 STM32L4: changes needed for STM32L452 and Nucleo-L452RE board 2017-05-04 15:23:38 +03:00
stm32l4_rcc.h STM32L4: changes needed for STM32L452 and Nucleo-L452RE board 2017-05-04 15:23:38 +03:00
stm32l4_rng.c STM32 F7: add stm32 RNG support. This is copied from stm32l4. Tested on STM32F746ZG board. 2017-03-29 07:08:10 -06:00
stm32l4_rtc_lowerhalf.c RTC: add interface for check if RTC time has been set 2017-04-06 09:53:11 -06:00
stm32l4_rtc.h RTC: add interface for check if RTC time has been set 2017-04-06 09:53:11 -06:00
stm32l4_rtcc.c Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
stm32l4_sai.c Port STM32L4 SAI driver from MDK. 2017-02-17 15:13:36 -06:00
stm32l4_sai.h Trivial cosmetic, alignement changes. 2017-02-17 17:50:56 -06:00
stm32l4_sdio.h Add port to the stm32L4 2016-03-10 09:59:16 -06:00
stm32l4_serial.c stm32_serial: fix freezing serial port. Serial interrupt enable/disable functions do not disable interrupts and can freeze device when serial interrupt is received while execution is at those functions. 2017-05-17 06:50:46 -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 More missed enum spi_dev_e forward references. 2017-04-29 08:29:01 -06:00
stm32l4_start.c STM32L4: add support for the STM32L496XX family 2017-04-25 08:47:50 -06:00
stm32l4_tickless.c Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
stm32l4_tim_lowerhalf.c Add argument to timer irq callback 2017-03-01 08:49:14 -06:00
stm32l4_tim.c Add argument to timer irq callback 2017-03-01 08:49:14 -06:00
stm32l4_tim.h Add argument to timer irq callback 2017-03-01 08:49:14 -06:00
stm32l4_timerisr.c irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -06:00
stm32l4_uart.h STM32L4: port stm32l4_serial_get_uart function from STM32F7 2017-05-12 15:54:48 +03: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
stm32l4x3xx_rcc.c STM32L4: changes needed for STM32L452 and Nucleo-L452RE board 2017-05-04 15:23:38 +03:00
stm32l4x6xx_dma.c irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -06:00
stm32l4x6xx_rcc.c STM32L4: modularize Kconfig to support different product lines/families 2017-05-04 15:22:51 +03:00

This is a port of NuttX to the STM32L4 Family

Used development boards are the Nucleo L476RG, Nucleo L496ZG and
STM32L4VGDiscovery

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      : OK, tested (Including DMA)
I2C      : Code written, to be tested
RTC      : works
QSPI     : works in polling, interrupt, DMA, and also memory-mapped modes
CAN      : OK, tested
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), PWM and QE tested OK.
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     : There is some code (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)
HASH     : TODO (SHA-1, SHA-224, SHA-256, HMAC)
DCMI     : TODO (Digital Camera interfaces)
DMA2D    : TODO (Chrom-Art Accelerator for image manipulation)