nuttx/arch/arm/src/stm32l4
2020-11-06 18:31:32 -03:00
..
hardware Add injected channel support. 2020-11-06 18:31:32 -03:00
chip.h Rename arch/arm/src/stm32l4/chip to arch/arm/src/stm32l4/hardware. 2019-05-24 18:06:01 -06:00
Kconfig Add injected channel support. 2020-11-06 18:31:32 -03:00
Make.defs stm32l4: add support for booting into DFU mode 2020-06-26 09:59:40 -03:00
README.txt Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
stm32l4_1wire.c sched/: Make more naming consistent 2020-05-17 14:01:00 -03:00
stm32l4_1wire.h Fix some typos 2019-09-17 10:46:23 -06:00
stm32l4_adc.c Add injected channel support. 2020-11-06 18:31:32 -03:00
stm32l4_adc.h Add injected channel support. 2020-11-06 18:31:32 -03:00
stm32l4_allocateheap.c arch/arm, board/arm: Rename all up_* functions to arm_* 2020-05-01 18:28:13 +01:00
stm32l4_can.c arch/arm/src/stm32l4/stm32l4_can.c: Fix nxstyle issues. 2020-11-06 18:28:27 -03:00
stm32l4_can.h Fix use of undefined pp-token #errror, other typos. 2019-09-19 18:19:18 -06:00
stm32l4_comp.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_comp.h Rename arch/arm/src/stm32l4/chip to arch/arm/src/stm32l4/hardware. 2019-05-24 18:06:01 -06:00
stm32l4_dac.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_dac.h Rename arch/arm/src/stm32l4/chip to arch/arm/src/stm32l4/hardware. 2019-05-24 18:06:01 -06:00
stm32l4_dbgmcu.h Rename arch/arm/src/stm32l4/chip to arch/arm/src/stm32l4/hardware. 2019-05-24 18:06:01 -06:00
stm32l4_dfsdm.c Merged in jussi_kivilinna/nuttx/stm32l4r_add_dmamux (pull request #1062) 2019-10-25 13:05:56 +00:00
stm32l4_dfsdm.h Rename arch/arm/src/stm32l4/chip to arch/arm/src/stm32l4/hardware. 2019-05-24 18:06:01 -06:00
stm32l4_dfumode.c stm32l4 dfumode: move initialization point of bootloader jump instruction to correct place 2020-06-26 09:59:40 -03:00
stm32l4_dfumode.h stm32l4: add support for booting into DFU mode 2020-06-26 09:59:40 -03:00
stm32l4_dma.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
stm32l4_dma.h Merged in jussi_kivilinna/nuttx/stm32l4r_add_dmamux (pull request #1062) 2019-10-25 13:05:56 +00:00
stm32l4_dumpgpio.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_exti_alarm.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_exti_comp.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_exti_gpio.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_exti_pwr.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_exti_pwr.h Standardization of some function headers. 2018-03-13 09:52:27 -06:00
stm32l4_exti_wakeup.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_exti.h Rename arch/arm/src/stm32l4/chip to arch/arm/src/stm32l4/hardware. 2019-05-24 18:06:01 -06:00
stm32l4_firewall.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_firewall.h Rename arch/arm/src/stm32l4/chip to arch/arm/src/stm32l4/hardware. 2019-05-24 18:06:01 -06:00
stm32l4_flash.c arch/arm/stm32, stm32f7, stm32l4: Rename up_waste to stm32_waste 2020-05-03 16:42:19 +01:00
stm32l4_flash.h Check the return of nxsem_wait_uninterruptible() (#724) 2020-04-04 14:57:22 -06:00
stm32l4_freerun.c
stm32l4_freerun.h
stm32l4_fsmc.h Ensure all source code end with one and only one newline 2020-02-08 07:25:56 -06:00
stm32l4_gpio.c style fixes 2020-06-16 01:00:45 +01:00
stm32l4_gpio.h Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
stm32l4_hsi48.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_hsi48.h arch/arm/src/stm32l4: Make STM32L4 CRS synchronization source board configurable. 2019-05-21 10:21:57 -06:00
stm32l4_i2c.c style fixes 2020-06-17 13:17:38 -03:00
stm32l4_i2c.h Fix some typos 2019-09-17 10:46:23 -06:00
stm32l4_idle.c arch/: Trivial typos, mostly "their is" to "there is" 2020-09-09 14:09:43 -04:00
stm32l4_irq.c Run all .c and .h modified by this PR through nxstyle 2020-05-01 16:55:33 -03:00
stm32l4_iwdg.c Rename clock_systime[r|spec] to clock_systime_[ticks|timespec] 2020-05-10 14:35:50 -06:00
stm32l4_lcd.h Ensure all source code end with one and only one newline 2020-02-08 07:25:56 -06:00
stm32l4_lowputc.c arch/arm, board/arm: Rename all up_* functions to arm_* 2020-05-01 18:28:13 +01:00
stm32l4_lowputc.h Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
stm32l4_lptim.c stm32l4_lptim: nxstyle fixes 2020-04-24 14:47:07 -03:00
stm32l4_lptim.h stm32l4_lptim: nxstyle fix 2020-04-24 14:47:07 -03:00
stm32l4_lse.c Run all .c and .h files modified by this PR through nxstyle. 2020-05-03 16:42:19 +01:00
stm32l4_lsi.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_mpuinit.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
stm32l4_mpuinit.h STM32L476VG Discovery: Add a knsh configuration that may be used to test the PROTECTED build mode. 2017-08-17 09:15:12 -06:00
stm32l4_oneshot_lowerhalf.c Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
stm32l4_oneshot.c stm32l4 oneshot: style fix 2020-06-25 11:04:14 +01:00
stm32l4_oneshot.h
stm32l4_otgfs.h Merged in jussi_kivilinna/nuttx/stm32l4r_otgfs (pull request #1063) 2019-10-25 13:07:15 +00:00
stm32l4_otgfsdev.c arch/arm, board/arm: Rename all up_* functions to arm_* 2020-05-01 18:28:13 +01:00
stm32l4_otgfshost.c sched/: Make more naming consistent 2020-05-17 14:01:00 -03:00
stm32l4_pm.h arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_pminitialize.c arch/arm, board/arm: Rename all up_* functions to arm_* 2020-05-01 18:28:13 +01:00
stm32l4_pmlpr.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_pmsleep.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_pmstandby.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_pmstop.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_pwm.c Sources and Docs: Fix typos and nxstyle issues 2020-10-02 04:54:52 +02:00
stm32l4_pwm.h Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
stm32l4_pwr.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_pwr.h STM32L4 PWR/RCC: nxstyle 2020-04-24 12:34:17 -06:00
stm32l4_qencoder.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_qencoder.h Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
stm32l4_qspi.c sched/wdog: Remove MAX_WDOGPARMS and related stuff 2020-08-14 08:19:50 -06:00
stm32l4_qspi.h Make sure that labeling is used consistently in all function headers. 2018-02-01 10:00:02 -06:00
stm32l4_rcc.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_rcc.h arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_rng.c sched/: Make more naming consistent 2020-05-17 14:01:00 -03:00
stm32l4_rtc_lowerhalf.c Fix wait loop and void cast (#24) 2020-01-02 10:54:43 -06:00
stm32l4_rtc.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_rtc.h Rename arch/arm/src/stm32l4/chip to arch/arm/src/stm32l4/hardware. 2019-05-24 18:06:01 -06:00
stm32l4_sai.c sched/wdog: Remove MAX_WDOGPARMS and related stuff 2020-08-14 08:19:50 -06:00
stm32l4_sai.h Rename arch/arm/src/stm32l4/chip to arch/arm/src/stm32l4/hardware. 2019-05-24 18:06:01 -06:00
stm32l4_sdmmc.c sched/wdog: Remove MAX_WDOGPARMS and related stuff 2020-08-14 08:19:50 -06:00
stm32l4_sdmmc.h Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
stm32l4_serial.c arch: serial: fix all TCGETS retrieving zero baud rate 2020-10-20 14:43:19 +08:00
stm32l4_spi.c arch/arm: spi: fix incorrect comment about nbits being clobbered 2020-10-31 10:40:41 -07:00
stm32l4_spi.h Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
stm32l4_start.c Fix nxstyle warning 2020-09-16 06:57:29 -07:00
stm32l4_start.h Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
stm32l4_tickless.c Call xxx_timer_initialize from clock subsystem 2020-02-08 07:40:06 -06:00
stm32l4_tim_lowerhalf.c arch/arm/src/stm32l4: Add getstatus and getperiod method to the timer driver (includes coding standard changes made prior to commit) 2018-09-05 08:48:24 -06:00
stm32l4_tim.c Add fuction to set timer frequency. 2020-11-05 11:36:40 -03:00
stm32l4_tim.h Add fuction to set timer frequency. 2020-11-05 11:36:40 -03:00
stm32l4_timerisr.c arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4_uart.h Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
stm32l4_uid.c Rename arch/arm/src/stm32l4/chip to arch/arm/src/stm32l4/hardware. 2019-05-24 18:06:01 -06:00
stm32l4_uid.h
stm32l4_usbdev.c arch/arm, board/arm: Rename all up_* functions to arm_* 2020-05-01 18:28:13 +01:00
stm32l4_usbdev.h Fix nxstyle stm32l4 (#726) 2020-04-04 14:41:34 -06:00
stm32l4_usbhost_trace.c Fix nxstyle to stm32l4 files (#721) 2020-04-04 09:50:33 -06:00
stm32l4_usbhost.h Fix nxstyle to stm32l4 files (#721) 2020-04-04 09:50:33 -06:00
stm32l4_userspace.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
stm32l4_userspace.h Fix nxstyle to stm32l4 files (#721) 2020-04-04 09:50:33 -06:00
stm32l4_waste.c Run all .c and .h files modified by this PR through nxstyle. 2020-05-03 16:42:19 +01:00
stm32l4_waste.h Run all .c and .h files modified by this PR through nxstyle. 2020-05-03 16:42:19 +01:00
stm32l4_wdg.h Fix nxstyle to stm32l4 files (#721) 2020-04-04 09:50:33 -06:00
stm32l4.h arch/arm: Rename all up_*.h files to arm_*.h 2020-05-01 03:43:44 +01:00
stm32l4x3xx_rcc.c Fix nxstyle to stm32l4 files (#721) 2020-04-04 09:50:33 -06:00
stm32l4x5xx_rcc.c Fix nxstyle to stm32l4 files (#721) 2020-04-04 09:50:33 -06:00
stm32l4x6xx_dma.c arch/arm, board/arm: Rename all up_* functions to arm_* 2020-05-01 18:28:13 +01:00
stm32l4x6xx_rcc.c stm32l4 RCC: configure flash wait states early, otherwise execution is corrupted when clock is increased before that 2020-06-28 13:25:05 -03:00
stm32l4xrxx_dma.c arch/arm, board/arm: Rename all up_* functions to arm_* 2020-05-01 18:28:13 +01:00
stm32l4xrxx_rcc.c Fix typos in comments and documentation (#750) 2020-04-08 06:45:35 -06:00

This is a port of NuttX to the STM32L4 Family

Used development boards are the Nucleo L476RG, Nucleo L496ZG,
Nucleo L452RE, Nucleo L432KC, STM32L4VG Discovery and
Motorola MDK.

Most code is copied and adapted from the STM32 and STM32F7 ports.

The various supported STM32L4 families are:

-----------------------------------------------------------------
| NuttX config      | Manual | Chips
|
| Not supported     | RM0392 | STM32L471xx
|
| STM32L4_STM32L4X1 | RM0394 | Subset of STM32L4_STM32L4X3 [*]
|
| STM32L4_STM32L4X2 | RM0394 | Subset of STM32L4_STM32L4X3 [*]
|
| STM32L4_STM32L4X3 | RM0394 | STM32L43xxx/44xxx/45xxx/46xxx
|
| STM32L4_STM32L4X5 | RM0351 | STM32L475xx (was RM0395 in past)
|
| STM32L4_STM32L4X6 | RM0351 | STM32L476xx, STM32L486xx,
|                              STM32L496xx, STM32L4A6xx
|
| STM32L4_STM32L4XR | RM0432 | STM32L4Rxxx, STM32L4Sxxx (STM32L4+)
------------------------------------------------------------------

[*]: Please avoid depending on CONFIG_STM32L4_STM32L4X1 and
     CONFIG_STM32L4_STM32L4X2 as the MCUs are of the same subfamily
     as CONFIG_STM32L4_STM32L4X3.

TODO list
---------

Peripherals with implementation in STM32 port:

IRQs     : OK
GPIO     : OK
EXTI     : OK
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
SPI      : OK, tested (including DMA)
I2C      : works
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     : works
SDMMC    : works
ADC      : works
DAC      : works
DMA2D    : TODO (Chrom-Art Accelerator for image manipulation)

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

FIREWALL : Code written, to be tested, requires support from ldscript
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)
LPTIM    : Code written, to be tested (Low power TIMER)
OPAMP    : TODO (Analog operational amplifier)
COMP     : There is some code (Analog comparators)
DFSDM    : There is some code (Digital Filter for Sigma-Delta Modulators)
LCD      : TODO (Segment LCD controller)
SAIPLL   : works (PLL For Digital Audio interfaces, and other things)
SAI      : There is some code (Digital Audio interfaces, I2S, SPDIF, etc)
HASH     : TODO (SHA-1, SHA-224, SHA-256, HMAC)
DCMI     : TODO (Digital Camera interfaces)

New peripherals only in STM32L4+:

DMAMUX1    : TODO
DSI        : TODO
GFXMMU     : TODO
LTDC       : TODO
OCTOSPI    : TODO
OCTOSPIIOM : TODO