652 Commits

Author SHA1 Message Date
Beat Küng
729af004c0
fix stm32_spibus_initialize: ensure leave_critical_section is called
in case the requested SPI bus is invalid or not configured.
2020-02-06 08:05:21 +01:00
Xiang Xiao
5c80b94820 Replace #include <semaphore.h> to #include <nuttx/semaphore.h>
Since the kernel side should call nxsem_xxx instead and remove the unused inclusion
2020-02-01 08:27:30 -06:00
Xiang Xiao
80277d1630
Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
Xiang Xiao
68951e8d72 Remove exra whitespace from files (#189)
* Remove multiple newlines at the end of files
* Remove the whitespace from the end of lines
2020-01-31 09:24:49 -06:00
Xiang Xiao
1e3f457c9e Remove TIME_EXTENDED option to more conform C standard
Gregory Nutt <gnutt@nuttx.org>

    Run all .c and .h files modified in this PR through nxstyle and correct all coding standard problems.

Xiang Xiao <xiaoxiang@xiaomi.com>

    Remove TIME_EXTENDED option to more conform C standard

    Note: the code/data size increment is small
2020-01-23 08:17:22 -06:00
Nathan Hartman
d1dd2841c5 Fix typos in comments and README.txt.
No functional changes.
2020-01-15 10:09:34 -06:00
patacongo
f00569816f Fix a few errors concerning use of section block comments in .c files: (#95)
1. No .c file should include a "Public Types" section.  Only a header file can define a public type.  A .c file can only define a private type.  Several files contained private type definitions.  The section that they were defined in, however, was incorrectly named "Public Types."  Those were easilty changed to "Private Types" which is what they are.

2. No .c file should include a "Public Function Prototypes" section.  All global function prototypes should be provided via a header file and never declared with a .c file.

For No. 2, I corrected as many cases as was reasonable for the time that I had available.  But there are still a dozen or so .c files that declare "Public Function Prototypes" within a .c file.  This is bad programming style.  These declarations should all be moved to the proper header files.
2020-01-14 00:37:54 +01:00
Björn Brandt
38b043da9f arch/arm/src/stm32f7/: Apply fix introduced by 0947b31fbbd for STM32F7[6/7]XX to STM32F7[2/3/4/5]XX.
In RCC configuration, STM32_RCC_DCKCFGR2 has nothing to do with PLLI2S; PLLI2S is not dependent on LTDC, instead on SAICLK1/2 generated from PLLI2S
2020-01-08 07:11:59 -06:00
patacongo
5d5897c309
Merge pull request #41 from wingunder/wingunder_fix_compilation_bug_irq_f7_h7
Fixed a compilation error, with irq debugging for stm32f7 and stm32h7 archs.
2020-01-05 16:07:20 -06:00
Pieter du Preez
00df2f0fe2 Fixed a compilation error, with irq debugging for stm32f7 and stm32h7 archs.
This commit fixes a compilation error that occurs when enabling the
following configuration items for stm32f7 and stm32h7 architectures:

   CONFIG_DEBUG_FEATURES=y
   CONFIG_DEBUG_ERROR=y
   CONFIG_DEBUG_WARN=y
   CONFIG_DEBUG_INFO=y
   CONFIG_DEBUG_IRQ=y
   CONFIG_DEBUG_IRQ_ERROR=y
   CONFIG_DEBUG_IRQ_WARN=y
   CONFIG_DEBUG_IRQ_INFO=y

The compiler error for stm32f7:

make[1]: Entering directory '/home/pdupreez/dev/wingunder/nuttx/arch/arm/src'
CC:  chip/stm32_irq.c
chip/stm32_irq.c: In function 'up_irqinitialize':
chip/stm32_irq.c:497:29: error: 'STM32_IRQ_NIRQS' undeclared (first use in this function); did you mean 'STM32_IRQ_FIRST'?
   stm32_dumpnvic("initial", STM32_IRQ_NIRQS);
                                ^~~~~~~~~~~~~~~
                             STM32_IRQ_FIRST
chip/stm32_irq.c:497:29: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [Makefile:172: stm32_irq.o] Error 1
make[1]: Leaving directory '/home/pdupreez/dev/wingunder/nuttx/arch/arm/src'

And the compiler error for stm32h7:

make[1]: Entering directory '/home/pdupreez/dev/wingunder/nuttx/arch/arm/src'
CC:  chip/stm32_irq.c
chip/stm32_irq.c: In function 'stm32_dumpnvic':
chip/stm32_irq.c:164:4: warning: #warning Missing logic [-Wcpp]
 #  warning Missing logic
     ^~~~~~~
     chip/stm32_irq.c: In function 'up_irqinitialize':
     chip/stm32_irq.c:522:29: error: 'STM32_IRQ_NIRQS' undeclared (first use in this function); did you mean 'STM32_IRQ_CRS'?
        stm32_dumpnvic("initial", STM32_IRQ_NIRQS);
                                     ^~~~~~~~~~~~~~~
                                  STM32_IRQ_CRS
chip/stm32_irq.c:522:29: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [Makefile:172: stm32_irq.o] Error 1
make[1]: Leaving directory '/home/pdupreez/dev/wingunder/nuttx/arch/arm/src'

This commit replaces all STM32_IRQ_NIRQS defines with the NR_IRQS
define, which seems to be consistent with the rest of the code in
Nuttx.
2020-01-05 21:24:16 +00:00
Minamiya_Natsuki
390ebd504f arch/arm/src/stm32h7: Port QSPI driver from STM32F7 to STM32H7 2020-01-05 07:45:30 -06:00
Xiang Xiao
6a3c2aded6 Fix wait loop and void cast (#24)
* Simplify EINTR/ECANCEL error handling

1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx

* Unify the void cast usage

1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
David Sidrane
eba8eec74b STM32F7 and STM32H7 SDMMC internal pull up usage fixed
Code was flawed in that the Pins are defined with the
    pullups in the definition. Since there are no alterntes pins
    there is no way to remove them. So not enabling the CONFIG
    pull up did nothing as did enabling them.

    Code also ignored the use of D0 for ready detection causing
    3X+ the chatter.

    This is now a compile time feature as there was no reason for
    it to be a run time. It wasted both flash and ram.
2019-12-24 10:52:09 -06:00
Xiang Xiao
87cf5c58ae Correct some problems with network timed events when there are multiple network devices in the configuration.
Squashed commit of the following:

Author: Gregory Nutt <gnutt@nuttx.org>

    Ran nxstyle against many of the affected files.  But this job was too big for today.  Many of the network drivers under arch are highly non-compiant and generate many, many faults from nxstyle.  Those will have to be visited again another day.

Author: Xiang Xiao <xiaoxiang@xiaomi.com>

    This effects all network drivers as well as timing related portions of net/: devif_poll_tcp_timer shouldn't be skipped in the multiple card case.  devif_timer will be called multiple time in one period if the multiple card exist, the elapsed time calculated for the first callback is right, but the flowing callback in the same period is wrong(very short) because the global variable g_polltimer is used in the calculation.  So let's pass the delay time to devif_timer and remove g_polltimer.
2019-12-24 10:37:30 -06:00
Nathan Hartman
9655730ef8 Fix various typos and spelling errors. 2019-12-12 07:41:51 -06:00
Gregory Nutt
cb288fdfe2 arch/arm/src/stm32f7/stm32_serial.c: Fix a new warning found in build testing. 2019-12-07 13:14:50 -06:00
David Sidrane
1c05846f92 Merged in david_s5/nuttx-5/David-Sidrane/archarmsrcstm32f7stm32_serialc-fix-typo-1575381167793 (pull request #1087)
arch/arm/src/stm32f7/stm32_serial.c:  Fix typo in UART7

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-12-03 14:25:08 +00:00
David Sidrane
92a3a8e026 arch/arm/src/stm32f7/stm32_serial.c: Serial nxsyle fixes (sans long table lines). 2019-12-03 07:23:14 -06:00
David Sidrane
baeaf54c6c arch/arm/src/stm32f7/stm32_serial.c: Add Tx U[S]ART DMA. 2019-12-03 07:21:58 -06:00
David Sidrane
d3e0d5ee72 arch/arm/src/stm32f7/stm32_serial.c: CONFIG_USART_DMAPRIO->CONFIG_USART_RXDMAPRIO. 2019-12-03 07:18:42 -06:00
Gregory Nutt
736a0da8ec Fix various coding standard problems in last PR, mostly as reported by tools/nxstyle. 2019-12-01 20:17:57 -06:00
OSer
498fb6d15f Merged in OSer916/nuttx/stm32f746g-disco_sai (pull request #1081)
boards/arm/stm32f7/stm32f746g-disco: add SAI driver

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-12-02 01:55:29 +00:00
David Sidrane
43a6e43a0f arch/arm/src/stm32f7/stm32_ethernet.c: Add some delays so that ifup() does not hog the CPU. 2019-11-29 17:19:06 -06:00
Gregory Nutt
f691d774cc STM32 F7 SDMMC: Cosmetic changes from application of tools/nxstyle to all files modified in last PR. 2019-11-25 08:00:45 -06:00
OSer
56f8af5db3 Merged in OSer916/nuttx/stm32f746g_disco_sd_card (pull request #1075)
Stm32f746g disco sd card

* arch/arm/src/stm32f7/stm32_sdmmc.c: fix compile error

* boards/arm/stm32f7/stm32f746g-disco: add SD/TF Card Support

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-11-25 13:54:45 +00:00
Gregory Nutt
27b6132601 Run files changed in last PR through tools/nxstyle, fix several coding standard violations. 2019-11-21 07:50:37 -06:00
OSer
e1f904c943 Merged in OSer916/nuttx/stm32f746g-disco-n25q (pull request #1074)
stm32f746g-disco board add n25q128 support

* arch/arm/src/stm32f7/hardware/stm32f74xx75xx_pinmap.h: fix QSPI pin
    config.

* arch/arm/src/stm32f7/stm32_qspi.c: fix gpio_dumpgpioconfig() function,
    fix qspi_command() function

* boards/arm/stm32f7/stm32f746g-disco/README.txt: fix board path

* boards/arm/stm32f7/stm32f746g-disco: add n25q128 function

* boards/arm/stm32f7/stm32f746g-disco/scripts/Make.defs: use st-flash tool to write fireware on Linux

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-11-21 13:39:45 +00:00
David Sidrane
19015f7e26 Merged in david_s5/nuttx/px4_firmware_nuttx-8.1+_siglewire (pull request #1070)
single wire Allow selection of pull{up|down|none}

* tioctl:Allow selection of pull{up|down|none}

* stm32:Single Wire add pull{up|down|none} tioctl

* stm32f0l0g0:Single Wire add pull{up|down|none} tioctl

* stm32f7:Single Wire add pull{up|down|none} tioctl

* stm32h7:Single Wire add pull{up|down|none} tioctl

* stm32l4:Single Wire add pull{up|down|none} tioctl

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-11-10 12:27:47 +00:00
Gregory Nutt
894a108743 arch/arm/src/stm32f7/stm32_otghost.c: OTGFS_EPTYPE_INTR should e OTG_EPTYPE_INTR. 2019-10-29 13:22:45 -06:00
David Sidrane
24f646a417 arch/arm/src/stm32f7/stm32_sdmmc.c: SDMMC Fix system hang on card eject. 2019-10-29 09:38:02 -06:00
Daniel Pereira Volpato
8c62600cc1 arch/arm/src/stm32h7/hardware/stm32_tim.h: Fix ATIM_BDTR_BK2P define
arch/arm/src/stm32h7/hardware/stm32_tim.h: Fix ATIM_AF2 bitfields wrongly allocated to ATIM_AF1
arch/arm/src/stm32f7/hardware/stm32f76xx77xx_tim.h: Fix ATIM_AF2 bitfields wrongly allocated to ATIM_AF1
arch/arm/src/stm32h7/stm32_tim.c: Fix some copy'n'paste errors on defines
2019-10-07 21:59:28 -06:00
Xiang Xiao
3bc62f1ccc Change space to tab and help to ---help--- in Kconfig files. 2019-10-05 21:39:12 -06:00
Nathan Hartman
46aaec7ba0 Fix minor typos in docs and comments. 2019-09-29 12:52:20 -06:00
Juha Niskanen
c3d24571fb Fix some typos. Mostly inital->initial. 2019-09-27 06:32:32 -06:00
Juha Niskanen
e8b5dd4528 Fix use of undefined pp-token #errror, other typos. 2019-09-19 18:19:18 -06:00
David Sidrane
c6689b3093 stm32h7 SDMMC support IDMA, Interrupt driven, pullups and SDIO
* stm32h7:Supports ARMV7M Stack check
* stm32h7:sdmmc bug fix writting address 0
* stm32h7:sdmmc Clean up timming
* stm32f7:Kconfig typos, formating
* stm32f7:sdmmc use binary not
* stm32f7:nxstyle formatting
* stm32h7:SDMMC Kconfig add Block Setup, Preflight, Delayed Invalidate
* stm32h7:Correct value of ICR reset
* stm32h7:SDMMC support IDMA, Interrupt driven, pullups and SDIO
* stm32h7:Add AXI
* stm32h7:Workaround for Errata 2.2.9 Reading from AXI SRAM may lead to data read corruption
2019-09-19 16:13:24 +00:00
Juha Niskanen
ebc6f51641 Fix some typos 2019-09-17 10:46:23 -06:00
Gregory Nutt
20f4e05b09 arch/arm/src/stm32h7/stm32_ethernet.c: Bazooka Joe's fix to the STM32 F7 Ethernet driver (ec4a7be5c2540207042669e10cc4134e108dae02) should be applied to the H7 as well. The other STM32 Ethernet driver already has the change. 2019-09-16 08:24:58 -06:00
Bazooka Joe
ec4a7be5c2 Merged in BazookaJoe1900/nuttx/pr-network_stm32_freebuffer (pull request #1030)
Large ethernet packet can leads network halt

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-09-16 13:52:56 +00:00
Nathan Hartman
366053e464 Fix typos, 1 in a #define, others in comments. This changes one definition: _MQ_TIMEDRECIEVE is changed to _MQ_TIMEDRECEIVE. It appears this symbol is not used anywhere. 2019-09-11 08:56:56 -06:00
Adam Porter
1da921c00f STM32, STM32F7, STM32H7, STM32L4, and EFM32 USB Host: This change was required to get my devices (CDC-MBIM) to enumerate. Initially the system timed out retrieving the USB configuration descriptor. Ctrl IN requests got nothing but NAKs. I found that the initial SETUP packet and corresponding IN transfer were fine; it was the Status OUT phase that was getting the NAK. After receiving a NAK on the Status OUT, the code would loop back and issue another ctrl IN, which will always fail because the data was already transferred before. Thus the entire transfer would 'timeout'. The fix I implemented moves the DATANAK timeout loop to only apply to the Status OUT. Of course this worked for my devices, but maybe isn't the right solution in general. I think that both the ctrl IN and the Status OUT need their own retry loops? 2019-09-09 17:08:31 -06:00
Gregory Nutt
726ea3c8a9 stm32f7/h7/l4 OTG host: Adam porters fix for STM32 FS/HS probably should be applied to STM32 F7, H7, and L4 OTG host which are very similar. 2019-09-08 06:50:47 -06:00
Juha Niskanen
822bb06967 Fix some typos. Also minor update to stm32f7/nucleo-144/README.txt and stm32l4/nucleo-l496zg/README.txt board documentation. 2019-09-05 08:12:50 -06:00
Augusto Fraga Giachero
68bbc8438c drivers/timers/pwm.c: Move the pwm/pwm.c driver to timers/pwm.c, The drivers/pwm contained only one .c file (pwm.c), so to avoid the proliferation of sub-directories inside drivers/ is better to move the pwm.c driver to drivers/timers. The pwm.h header was moved to include/nuttx/timers to keep consistency, so all files referencing it need to be updated. 2019-09-02 07:57:10 -06:00
David Sidrane
8493312f00 arch/arm/src/stm32f7/stm32_sdmmc.c: Fix warning when DMA is not enabled. 2019-08-28 06:47:54 -06:00
Gregory Nutt
1f021add53 arm/arm/src/stm32f7 and h7: Fix coding standard problems found by tools/nxstyle in files modified/added in last PR. 2019-08-17 08:20:31 -06:00
David Sidrane
1bbf5c9449 Merged in david_s5/nuttx/master_h7 (pull request #1002)
stm32h7 RTC and friends  support

* stm32h7:Removed f7 in file path

* stm32f7:Fix overwritten IRQ enabled

       System boot order calls clock_initialize then up_initalize.
       clock_initialize was setting up the alarm IRQ
       up_initalize is initializing the NVIC.

       This most likely worked in the past due to a bug in the
       NVIC init code that failed to clear the Interrupt enables.
       That was fixed in 510b0f7e arch/arm/src: Correct all ARMv7-M
       architectures.  Interrupts were not be disabled correctly
       on power up.

* stm32h7:Ported over F7 RTC

* nucleo-h743zi:Add RTC

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-17 14:01:28 +00:00
Beat Küng
ef233507db Merged in bkueng/nuttx/serial_single-wire_pullup (pull request #994)
serial single-wire: add possibility to specify pull-up instead of open drain

Approved-by: David Sidrane <david.sidrane@nscdg.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-15 21:58:52 +00:00
David Sidrane
77c3a06fea Merged in david_s5/nuttx/master_h7 (pull request #995)
Master h7

* stm327f:Kconfig add depends on BBSRAM

* stm32h7:memorymap fix BBSRAM name

* stm32h7:Add BBSRAM support

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-15 15:42:48 +00:00
Anthony Merlino
e649d6c21e Merged in antmerlino/nuttx/stm32f7_progmem (pull request #989)
arch/arm/src/stm32f7: Exposes stm32_flash_xxx functions.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-10 18:36:46 +00:00