Commit Graph

660 Commits

Author SHA1 Message Date
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
raiden00pl
5ed743d58a Merged in raiden00/nuttx_f334 (pull request #974)
Master

* Revert "Merged in yanqil-br/feature-multi_chan_pwm (pull request #973)"

    This reverts commit aef0e0b538.

* arch/arm/src/{stm32/stm32f7/stm32h7/stm32l4}/stm32_pwm.c: configure multi-channel duty only if channel specified. This allows you to update duty cycle for a single channel

* nucleo-f303re/configs: add basic NSH configuration

* nucleo-f303re/configs/pwm: enable console on UART2 and set entry point to nsh_main

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-10 15:14:19 +00:00
Anthony Merlino
7eaa47072f Merged in antmerlino/nuttx/stm32f7-usart1-dma (pull request #972)
stm32f7: USART1_RXDMA is dependent on STM32F7_DMA2 not STM32F7_DMA1

Approved-by: David Sidrane <david.sidrane@nscdg.com>
Approved-by: Alan Carvalho de Assis <acassis@gmail.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-09 18:24:13 +00:00
David Sidrane
786d3453a2 Merged in david_s5/nuttx/master_f7_eth (pull request #970)
stm32f7:ethernet add timeout on MAC reset

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-08 16:17:57 +00:00
Gregory Nutt
240926c995 Beginning to update comments to reflect new organization of the boards/ sub-directory. 2019-08-08 08:46:54 -06:00
David S. Alessio
ced0dc1e16 arch/arm/src/armv7-m: Add ARMv7-M setjmp/longjump functions. 2019-08-06 15:59:19 -06:00
Gregory Nutt
615c0ea7ee Change naming configs/ to boards in comments, Documentation, etc. Still a few more to go. 2019-08-05 07:13:48 -06:00
Alin Jerpelea
a1c991d921 Merged in alinjerpelea/nuttx (pull request #963)
Move boards to boards folder

* boards: rename configs folder to boards

    This is the proposed layout after the change:

    boards: - folder containing board folders
            <board>: - name of each board
                    drivers: - extra drivers specific for platform
                    include: - header files for the boars
                    scripts: - extra scripts specific for platform
                        src: - board specific code
                      tools: - extra tools specific for platform
                    <config>: - board specific configuration(s)

    Note:
    <xxx> names are dependent on platform

    This is a logical change to aim to the arch layout but this is a
    huge change it should be done in several steps to lower the risk.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* Kconfig: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* Makefile: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* Makefile.*: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* Make.defs: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* .sh: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* .mk: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* .c & .h: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* .bat: replace configs with boards

    The change is needed after the path change

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-05 12:04:14 +00:00
Nathan Hartman
68d43d3679 Fix typos. 2019-08-04 14:50:28 -06:00
David Sidrane
2204b6506b Merged in david_s5/nuttx/master_stm_hw_hs (pull request #961)
stm32{L4|F4|H7}:serial add HW HS on UART 4 & 5

* stm32:serial add HW HS on UART 4 & 5

* stm32f7:serial update copyright date

* stm32h7:serial add HW HS on UART 4 & 5

* stm32l4:serial add HW HS on UART 4 & 5

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-01 19:52:43 +00:00
David Sidrane
7712d15867 Merged in david_s5/nuttx/master_f7_uart4_5_hw_hs (pull request #960)
stm32f7:serial add HW HS on UART 4 & 5

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-01 00:16:29 +00:00
Gregory Nutt
a54d660842 configs/stm32f769i-disco/src/stm32_bringup.c: Fix more errors found in build testing. 2019-07-28 16:52:55 -06:00
David Sidrane
08460ba5b1 Merged in david_s5/nuttx/master_f7 (pull request #956)
stm32f7:If only one SDMMC it is slot 0

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-26 14:16:26 +00:00
Anthony Merlino
96f019a822 Merged in antmerlino/nuttx/stm32f7_otghs (pull request #951)
stm32f7: Fixes bad preprocessor logic preventing USB OTG HS to work when used without external ULPI.

Approved-by: David Sidrane <david.sidrane@nscdg.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-22 17:47:37 +00:00
Beat Küng
1395938260 arch/arm/src/stm32f7/stm32_serial.c: This adds the ability to invert and swap RX/TX on STM32F7 UARTs. I added the TIOCGINVERT as well to reserve the IOCTL number, but did not implement it. This is the same as for TIOCGSINGLEWIRE. 2019-07-03 09:23:18 -06:00
Adam Porter
37c4fb5477 In stm32_ctrlout() in the HS and FS host drivers, the data buffer isn't sent. This patch passes the buffer and buflen to the stm32_ctrl_senddata() function. With this change, I am able to send MBIM control messages to my USB modem, and read the response. 2019-06-23 07:05:21 -06:00
Adam Porter
af9b70ca5d STM32,F7,H7,L4 OTG FS/HS: Fix constant using in comparison to determine endpoint is interrupt type. 2019-06-20 06:58:35 -06:00
Juha Niskanen
abc49a6a13 arch/arm/src/stm32l4: if SRAM3 is used as heap, do not power it off in stop 2 mode. 2019-06-13 05:52:40 -06:00
Gregory Nutt
491520350a Fix a spelling error that was cloned in many files. 2019-05-31 07:24:19 -06:00
Gregory Nutt
3ec7c17c16 arch/arm/src/stm32f7: Fix another error related to chip/->hardware/ name change. 2019-05-27 10:41:44 -06:00
Daniel Agar
642c0f8df6 Merged in dagar/nuttx/pr-stm32f7_dtcm_profcs (pull request #875)
STM32F7 DTCM add procfs register

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-05-25 19:57:26 +00:00
Gregory Nutt
2cf0d6a3aa Rename arch/arm/src/stm32f7/chip to arch/arm/src/stm32f7/hardware. 2019-05-24 16:48:06 -06:00
Gregory Nutt
b49be4bb20 Squashed commit of the following:
arch/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    sched/ audio/ crypto/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    Documentation/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    fs/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    graphics/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    net/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    drivers/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    include/, syscall/, wireless/:  Removed all references to CONFIG_DISABLE_POLL.  The standard POSIX poll() can not longer be disabled.
    configs/:  Remove all references to CONFIG_DISABLE_POLL.  Standard POSIX poll can no longer be disabled.
2019-05-21 18:57:54 -06:00
Juha Niskanen
2df7235536 arch/arm/src/stm32l4: Make STM32L4 CRS synchronization source board configurable.
configs/nucleo-l432kc:  Add new configuration settings to board.h
configs/nucleo-l452re: ditto
configs/nucleo-l496zg: ditto
configs/stm32l476vg-disco: ditto
2019-05-21 10:21:57 -06:00
Gregory Nutt
abf6965c24 Squashed commit of the following:
libs/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    syscall/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    wireless/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    Documentation/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    include/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    drivers/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    sched/:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    configs:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    arch/xtensa:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    arch/z80:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    arch/x86:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    arch/renesas and arch/risc-v:  Remove references to CONFIG_DISABLE_SIGNALS.  Signals can no longer be disabled.
    arch/or1k:  Remove all references to CONFIG_DISABLE_SIGNALS.  Signals are always enabled.
    arch/misoc:  Remove all references to CONFIG_DISABLE_SIGNALS.  Signals are always enabled.
    arch/mips:  Remove all references to CONFIG_DISABLE_SIGNALS.  Signals are always enabled.
    arch/avr:  Remove all references to CONFIG_DISABLE_SIGNALS.  Signals are always enabled.
    arch/arm:  Remove all references to CONFIG_DISABLE_SIGNALS.  Signals are always enabled.
2019-04-29 14:52:05 -06:00
Juha Niskanen
d02ec6373c arch/arm/src/stm32l4: Add USB FS device support. 2019-04-29 08:09:33 -06:00
Anthony Merlino
78f48f476f Merged in antmerlino/nuttx/stm32f7-pinmap-revert (pull request #857)
arch/arm/src/stm32f7: stm32f76xx77xx_pinmap.h:  Adds additional pin alternate function for SPI2

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-04-17 17:06:23 +00:00
Anthony Merlino
b13cf7833a Merged in antmerlino/nuttx/stm32f76xx7xx_spi_pin (pull request #856)
arch/arm/src/stm32f7: stm32f76xx77xx_pinmap.h:  Adds additional pin alternate function for SPI2

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-04-17 17:04:13 +00:00
David Sidrane
9c08d7fa42 Merged in david_s5/nuttx/master_f7_i2c_txe_fix (pull request #854)
stm32f7:i2c track bad state

The previous commit was true draconian.
   Now we track bad state and so the SW
   reset only when it occurs.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-04-17 13:50:11 +00:00
David Sidrane
dd1a2b5ddb Merged in david_s5/nuttx/master_f7_i2c_txe_fix (pull request #853)
stm32f7:i2c interrupt storm fix

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-04-16 22:45:40 +00:00
Valmantas Paliksa
c38b6cb068 arch/arm/src/stm32f7/stm32_can.c: CAN fixes. 2019-04-12 11:40:34 -06:00
Valmantas Paliksa
2bb15a49a6 arch/arm/src/stm32f7/stm32_uid.c: Add UID access. 2019-04-12 08:46:02 -06:00
Valmantas Paliksa
29164c5706 arch/arm/src/stm32f7/stm32_flash.c: Add flash block mapping support for progmem. 2019-04-12 08:43:16 -06:00
Valmantas Paliksa
c574e71c89 arch/arm/src/stm32f7/stm32_ethernet.c: Autogenerate Ethernet MAC address from device unique ID. 2019-04-12 08:31:57 -06:00
Valmantas Paliksa
17176480df arch/arm/src/stm32f7/stm32_spi.c: Add SPI DMA threshold configuration. 2019-04-12 08:14:17 -06:00
Valmantas Paliksa
8cea24fdf0 arch/arm/src/stm32f: Added support for TICKLESS mode. 2019-04-12 08:10:02 -06:00
Ramtin Amin
e74e46aa7f arch/arm/src/stm32f7/stm32_otgdev.c: Correct hardcoded FIFO size that is wrong for OTG FS. 2019-04-11 10:37:40 -06:00
Gregory Nutt
fb04ad1e82 arch/arm/src/stm32f7/stm32_otgdev.c: Fix some comments that were screwed up by indent.sh. 2019-04-11 09:04:39 -06:00
Eduard Niesner
d4a5204e1e arch/arm/src/stm32f7: Ported the PWM from F4 to F7. 2019-04-08 07:15:48 -06:00
Matthew Koch
33f4505c55 ^Merged in mjkoch/nuttx (pull request #851)
Kconfig warnings: defaults for choice values not supported

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-04-08 03:29:28 +00:00
Matthew Koch
f8495006a5 Merged in mjkoch/nuttx (pull request #850)
I2C1 config on stm32f746g-disco. Typo in stm32f7/stm32_i2c.c

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-04-08 01:06:33 +00:00
Ramtin Amin
7d2bd2371f arch/arm/src/stm32f7: USB High speed for STM32F7 series 2019-04-07 19:05:06 -06:00
oao Matos
880029d994 arch/arm/src/stm32f7/stm32_fmc.h: Updated stm32_fmc.h with more FMC definitions. 2019-04-04 11:42:10 -06:00
Anthony Merlino
9bda8c5472 Merged in antmerlino/nuttx/stm32f7-usbotg-fix (pull request #846)
arch/arm/stm32f7: Fixes some macros related to OTGFS/OTGHS preventing OTGHS from working.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-04-03 19:38:08 +00:00
Anthony Merlino
079a0ada7b Merged in antmerlino/nuttx/stm32f7-hsebypclk (pull request #845)
arch/arc/stm32f7: Add support for using the HSE in bypass mode, configured by board.h

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-04-03 19:36:52 +00:00
Anthony Merlino
370dc27c60 Merged in antmerlino/nuttx/stm32f7-sdmmc-bypclk (pull request #844)
arch/stm32f7: Support bypassing the input clock divider on the SDMMC interface. This enables using the full clock speed provided to the SDMMC interface with no dividing.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-04-03 19:36:21 +00:00
Pierre-Olivier Vauboin
055835f20a arch/arm/src/stm32f7/stm32_qspi.c: Fix QuadSPI interrupts. This commit essentially replaces wrongly named configuration variables STM32F7_QSPI_INTERRUPTS into CONFIG_STM32F7_QSPI_INTERRUPTS. Also fixes some getreg/putreg where register addresses were used
instead of register offsets
2019-03-25 11:21:45 -06:00
Valmantas Paliksa
f88597203d arch/arm/src/stm32f7/stm32_qspi.c: Fix QuadSPI priority constants. 2019-03-21 07:21:57 -06:00
Gregory Nutt
b290160b3b Rename sched_process_timer to nxsched_process_timer. That is the appropriate name for an internal sched/ function (still many named incorrectly). 2019-03-20 19:27:40 -06:00
Gregory Nutt
3c27f133fd arch/arm/src/stm32f7/stm32_qspi.c: Grr.. Its been a long day. Correct name of header file barriers.h. 2019-03-20 13:55:52 -06:00
Gregory Nutt
05dab30e84 arch/arm/src/stm32f7/stm32_qspi.c: Fix a warning about ARM_DSB() being implicitly defined. 2019-03-20 13:53:34 -06:00
Gregory Nutt
609b7f8229 arch/arm/src/stm32f7/stm32_qspi.c: Fix a warning about QSPI_DMA_PRIO being redefined. 2019-03-20 13:44:12 -06:00
Gregory Nutt
d7851cf38d arch/arm/src/stm32f7/stm32_qspi.c: Update for new universal cache conrols. 2019-03-20 09:49:26 -06:00
Valmantas Paliksa
6e886de2ec arch/arm/src/stm32f7/stm32_qspi.c: Added stm32f7 Quad SPI support. 2019-03-20 07:19:47 -06:00
Valmantas Paliksa
5645cb5e51 arch/arm/src/stm32f7/stm32_can.c: Fix bittiming calculation. 2019-03-20 06:51:48 -06:00
Valmantas Paliksa
91bb1f0b9f arch/arm/src/stm32f7: Add ITM syslog support. 2019-03-20 06:46:53 -06:00
Valmantas Paliksa
8443f088da arch/arm/src/stm32f7/stm32_can.c: Add CAN driver with support for three bxCAN interfaces. 2019-03-20 06:43:39 -06:00
Valmantas Paliksa
d09dc74488 arch/arm/src/stm32f7/stm32_tim_lowerhalf.c: Add timer lowerhalf driver for stm32f7. 2019-03-20 06:31:20 -06:00
Valmantas Paliksa
72d8aa5b7b arch/arm/src/stm32f7/stm32_tim.c: dd OUTTOGGLE mode for STM32f7 timer 2019-03-20 06:23:35 -06:00
Gregory Nutt
c8ffde6647 arch/arm: Fix more errors resulting from universal cache interfaces. The old cache-specific head file also provided a sneak way to include other necessary header files. With the old cache.h removed, those files all fail to build. 2019-03-19 14:13:45 -06:00
Gregory Nutt
348a03287d arch/arm: The last big change that unified the cache interfaces had a bad side-effect: It also removed the memory barrier definitions that were also in the removed architecture-specific cache.h header files. Fixed by adding a new barriers.h header file that provides these definitions. 2019-03-19 13:12:19 -06:00
Xiang Xiao
64252a298f arch/: Unify the cache interface for all architectures 2019-03-19 10:37:13 -06:00
Gregory Nutt
82b276a34c binfmt/nxflat.c: Trivial design simplification. 2019-03-12 10:09:03 -06:00
Gregory Nutt
e29e02529d arch/arm/src/stm32/stm32_otgfsdev.c/stm32_otghsdev, stm32f7/stm32_otgdev.c, and stm32l4/stm32l4_otgfsdev.c: Fix a warnings due to a function prototype mismatch. 2019-03-08 14:15:55 -06:00
Gregory Nutt
dc8c814ca3 Squashed commit of the following:
Fixed coding standard error in several files.  Use of while( is incorrect; a space is required between while and (.  Also ran tools/nxstyle and fix thoses complaints as well in most files.

    Changes to comply with coding standard.  Mostly focused on files with missing space after keyword in if(, switch(, and for(.  Offending files also got changes to comply with tools nxstyle.  If there were logs of nxstyle complaints, the file also got a taste of tools/indent.sh.  Still need to fix occurrences of while( with missing space.  There are a lot of them.
2019-02-27 08:41:08 -06:00
David Sidrane
44919b6723 arch/arm/src/stm32f7/stm32_i2c.c: Fix another memory access issue on a bus error. 2019-02-19 14:47:05 -06:00
Gregory Nutt
a2e62f557d Squashed commit of the following:
sched/init/nx_bringup.c:  Fix a naming collision.
    sched/init:  Rename os_start() to nx_start()
    sched/init:  Rename os_smp* to nx_smp*
    sched/init:  Rename os_bringup to nx_bringup
    sched/init:  rename all internal static functions to begin with nx_ vs os_
2019-02-04 16:20:35 -06:00
Gregory Nutt
732bef73a7 include/net/if.h: Fix some macro definitions overlooked in commit d105dc9b5e. Also corrects the name of a structure: mii_ioctl_notify_s vs mii_iotcl_notify_s. 2019-01-27 16:43:42 -06:00
Gregory Nutt
4b9abfa3c2 Every file that uses serial IOCTLs (TIOC*) must explicity include nuttx/fs/ioctl.h. This was included previously via sneak path in the now deleted arch/serial.h. 2019-01-27 13:41:44 -06:00
Xiang Xiao
d105dc9b5e drivers/net/phy_notify.c and all network drivers that support PHY notifications: Support the signal notification through SIGEV_THREAD 2019-01-27 08:57:23 -06:00
Xiang Xiao
818d8dda1e Remove empty seria.h and all references 2019-01-26 15:08:14 -06:00
Gregory Nutt
df64811269 up_initialize(): As noted by Roland Takacs in Bitbucket issue 141, there is a compilation error for STM32 if CONFIG_NET and CONFIG_NETDEV_LATEINIT are selected. That was due in part to commit 19e16cb which extended up_netinitialize() with a !defined(CONFIG_NETDEV_LATEINIT) guard but did not add the guard to concrete implementations. I say "in part" because I don't think that the original intent of commit 19e16cb was to enable an alternative initialization of MCU internal Ethernet support but rather to enable support of external Ethernet devices that may have dependencies on, for example, SPI. However, this is still a proper fix to avoid the compilation error that can occur with this combination of configuration options. 2019-01-25 07:21:03 -06:00
Juha Niskanen (Haltian)
079e9161f1 arch/arm/src/stm32l4/stm32l4_lse.c: Ports Jussi Kivilinna's recent STM32F7 LSE change to STM32L4. 2019-01-24 06:58:45 -06:00
Jussi Kivilinna
434cad4d17 arch/arm/src/stm32f7/stm32_lse.c: Add configuration of LSE oscillator drive capability 2019-01-22 06:37:02 -06:00
Jussi Kivilinna
d7f1dc56cf STM32F7 and L4 I2cC: Use clock_t for ticks instead of uint32_t to hold system time. 2019-01-09 07:28:34 -06:00
Gregory Nutt
a7f75b4ee8 Revert "arch/: Fix an error found in build testing. The protoype of mpu_log2regionfloor() changed; an additional parameter was added. However, none of the calls to mpu_log2regionfloor() were updated to pass the new, additional parameter."
Commit 8b63d02309 was reverted.  This related commit must now also be reverted to avoid compilation errors.

This reverts commit e8270defc9.
2019-01-08 15:21:29 -06:00
Daniel Agar
3b55f35bb3 Merged in dagar/nuttx/pr-stm32f7_SPI_DMA_per_bus (pull request #798)
stm32f7 enable separate DMA per SPI configuration

Approved-by: GregoryN <gnutt@nuttx.org>
2019-01-02 18:50:40 +00:00
Gregory Nutt
6fad6607bf arch/arm/src: Masayuki Ishikawa's change to go_os_start() should be applied to all MCU-specific start-up functions that support go_os_start(). 2018-12-25 08:14:55 -06:00
David Sidrane
f47e0da90c arch/arm/src/stm32f7/stm32_sdmmc.c: Fix build error if CONFIG_ARCH_HAVE_SDIO_DELAYED_INVLDT is not defined. 2018-12-18 07:40:42 -06:00
Ouss4
5de4fef4f2 arch/arm/src: In most I2C drivers, correct upper index value in I2C trace dump. Eliminates the extra NONE event from the trace dump output. 2018-12-08 12:49:58 -06:00
Gregory Nutt
931a0dc8f4 STM32F7 and STML4: Ooops removed a little too much in the last commit. 2018-12-06 13:50:04 -06:00
Gregory Nutt
5832c150d7 arch/arc/src: Remove all driver-specific logic to set the interrupt priority. There is no good reason to change the interrupt priority unless you just want to debug a difficult problem. OR is you want to use high priority interrupts. In that case the specific interrupt priorities will need to be set by board-specific logic. 2018-12-06 13:34:41 -06:00
David Sidrane
f43451b7df Merged in david_s5/nuttx/master_f7_i2c (pull request #774)
stm32f7:i2c out of bounds access on priv->msgv

Error in if statment. It was checking for msgc > 0.
   If message count is 1, only index 0 is valid on
   priv->msgv. There for random values in memory were
   used to set next_norestart.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-05 21:24:59 +00:00
Dave Marples
d0cda60442 In the current implementation we only use very high priority interrupts (levels 0, 0x10 and 0x20 in CORTEX-M speak) but that means there are loads of lower priority ones that are effectively unused. I have *not* changed the semantics of these levels but have 'shifted' them to be based around the midpoint of the available interrupts (0x80) rather than at the top end....that allows for interrupts to be defined above (or, indeed, below) them as needed by the application. This should have no functional effect on existing code but adds in a clean capability to define higher priority interrupts. 2018-12-03 17:41:59 -06:00
Gregory Nutt
8983f1c82e STM32F7, STM32H7, and STM32L4: Port Dave Marples STM32 fix to other STM32 spi drivers 2018-12-03 13:24:42 -06:00
Gregory Nutt
da379a5c97 arch/arm/src/stm32f7/stm32_sdmmc.c: Fix a pre-processor error found in build testing. 2018-11-25 15:54:51 -06:00
Gregory Nutt
09f4dee6bc All network drivers! Change pre-processor logic that selects the high priority work queue or gives preferential treatment to the high priority work. All network logic must run on the low priority work queue! Or suffer the consequences. 2018-11-21 07:57:26 -06:00
Bob Feretich
c6851201c0 This commit adds a new function arch_invalidate_dcache_by_addr(). It takes the same parameters as arch_invalidate_dcache(), but performs invalidation of only the lines in cache that need to be invalidated. This new function could be used as a a direct replacement for arch_invalidate_dcache().
The user of this invalidation are mmcsd_sdio currently.  The mmcsd_sdio driver makes calls for dcache invalidation through the chip specific architecture function SDIO_DMARECVSETUP(). I changed the arch/arm/stm32f7 chips to use arch_invalidate_dcache_by_addr() instead of arch_invalidate_dcache().

This commit includes additional changes to mmcsd_sdio.c.  I created SDIO_DMADELYDINVLDT() (DMA delayed invalidate) to invalidate store-into mode dcaches after the DMA transfer.  I have been using SDIO_DMADELYDINVLDT() for several weeks now and it has fixed the problems that I previously reported regarding non-cache aligned buffer invalidation errors (for my store-through dcache). However, it does not permit use of unaligned DMA buffers for store-into mode dcaches.

SDIO_DMADELYDINVLDT() is a NoOp unless the chip specific Kconfig file selects CONFIG_ARCH_HAVE_SDIO_DELAYED_INVLDT. I have modified all the stm32f7 chips to select it.
2018-11-20 14:03:42 -06:00
Gregory Nutt
7a45fc6f1c arch/arm/src/max326xx: Add framework for MAX326XX standard DMA support. 2018-11-20 08:09:03 -06:00
Eduard Niesner
b905888d2c arch/arm/src/stm32f7: Ported the QEncoder from F4 to F7 2018-11-19 07:51:41 -06:00
Anthony Merlino
7f10234468 Merged in antmerlino/nuttx/spi-initialize (pull request #746)
This change is needed specifically for the case where a bootloader sets the SPE bit before starting NuttX.  In that case, the test in the SPI driver is bogus.  This change fixes that by assuring that NuttX has booted and initialized at least once (whether or not SPE is set) before the driver starts refusing to initialize.

arch/arm/stm32*: Don't rely on SPI_CR1_SPE to determine if peripheral has been initialized yet.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-11-01 16:00:27 +00:00
Gregory Nutt
6d93658ff8 Add new configuratin CONFIG_NET_MCASTGROUP. This option is selected automatically if either CONFIG_NET_IGMP or CONFIG_NET_MLD are selected. Most conditional logic based on CONFIG_NET_IGMP replaced with conditioning on CONFIG_NET_MCASTGROUP. 2018-10-31 15:03:51 -06:00
Jussi Kivilinna
06c6b0ce1b arch/arm/src/stm32f7/stm32_flash.c: Allow programming OTP blocks through progmem interface 2018-10-22 06:17:18 -06:00
Juha Niskanen
4a32325e3c stm32f0, stm32f7, stm32h7, stm32l4 serial: fix use of CONFIG_SERIAL_IFLOWCONTROL for CONFIG_SERIAL_OFLOWCONTROL 2018-10-10 06:29:29 -06:00
Juha Niskanen
167663462f arch/arm/src/stm32f7/stm32_serial.c: force invalidate of data cache after DMA re-enable when returning from low-power mode 2018-10-09 06:35:43 -06:00
Ramtin Amin
b539d04cfb drivers/wireless/ieee802.11: Add capabilility for Broadcom chips to get firmware and CLM data from a mounted file system vs. in-memory data structures. 2018-10-07 10:03:39 -06:00
Gregory Nutt
b9823ce1d7 EFM32, STM32 (FS/HS), STM32F7, and STM32L4 OTGFS/HS: Th epin_configure() function used the same eptype as the TxFIFO number for all endpoints. This should probably be the physical EP number, not the EP type. Suggested by Key Two. 2018-10-02 10:10:56 -06:00
Gregory Nutt
510b0f7e07 arch/arm/src: Correct all ARMv7-M architectures. Interrupts were not be disabled correctly on power up. Writing zero to the NVIC SET-ENABLE registers has no effect. In order to disable interrupts, it is necessary to write all ones to the NVIC CLEAR-ENABLE register. Noted by David Sidrane. 2018-09-21 21:32:50 -06:00
Gregory Nutt
2c0a0aef9f arch/arm/src/stm32f7: Remove adhoc PM interfaces and add CONFIG_PM serial suspend. 2018-09-21 06:44:23 -06:00
EunBong Song
0f18e8cc32 Merged in ebsong/nuttx (pull request #722)
Pull request for mtd/progmem refactoring.

* mtd/progmem: change up_progmem_npages to up_progmem_neraseblocks

    page is a unit for read/write operation.
    eraseblock is a unit for erase operation.
    up_progmem_npages is a little bit confusing because it returns number of
    erase blocks in flash memory. This patch changes up_progmem_npages to
    up_progmem_neraseblocks. There is no logical change.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* mtd/progmem: up_progmem_erasesize.

    Change argument name to be more readable.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* mtd/progmem: up_progmem_eraseblock

    Change up_progmem_erasepage to up_progmem_eraseblock.
    eraseblock is more readable name than erasepage.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* mtd/progmem: change up_progmem_eraseblock's return value.

    up_progmem_eraseblock erase a block. so it's better to return the erase block
    size than page size.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* arm/cortex-r : fix wrong cp15_flash_dcache.

    change mcrne to mcr for unconditional dcache.

    Signed-off-by: sungduk.cho <sungduk.cho@samsung.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-09-21 03:18:38 +00:00
Juha Niskanen
069e9b899c arch/arm/src/stm32f7: Port the low-level PM functions to STM32F7. 2018-09-04 07:18:12 -06:00
Daniel Agar
b699bdef3b Merged in dagar/nuttx/pr-stm32f7_stackcheck-upstream (pull request #714)
stm32f7 add up_stackcheck.c

Approved-by: GregoryN <gnutt@nuttx.org>
2018-08-31 18:01:46 +00:00
Gregory Nutt
f8bfbd58c5 arch/arm/src/armv7-m/up_trigger_irq.c: Add logic to trigger ARMv7-M interrupts and exceptions. 2018-08-25 10:23:21 -06:00
Gregory Nutt
9bc951a335 Rename devif_loopback_out to devi_loopback 2018-08-25 08:33:21 -06:00
Gregory Nutt
e8270defc9 arch/: Fix an error found in build testing. The protoype of mpu_log2regionfloor() changed; an additional parameter was added. However, none of the calls to mpu_log2regionfloor() were updated to pass the new, additional parameter. 2018-08-24 16:40:37 -06:00
Xiang Xiao
0074afa0ac net/netdev: add devif_loopback_out() to check the loopback case where a packet is being sent to itself. Modify the net driver to call this function in this case. This function will simply re-inject the packet back into the network and the network driver will not put anything on the wire. 2018-08-24 09:21:33 -06:00
Xiang Xiao
e1202d2ed3 Replace all ASSERT with DEBUGASSERT to save the code space 2018-08-24 06:58:30 -06:00
Xiang Xiao
467d2a58ea Replace non critical PANIC with DEBUGPANIC to save the code space 2018-08-24 06:21:15 -06:00
Evgeniy Bobkov
df7565e557 arch/arm/src/stm32f7/stm32_serial.c: Previous logic would invalidate the data cache as each byte was read from the DMA buffer. This change adds logic to invalidate the data cache less frequently by monitoring the state of the Rx DMA buffer cache coherency and invalidating only regions as necessary. This commit also reverts commit e17d8c719e which has a logic error in cases where data is removed from the Rx DMA buffer at a rate higher than it is added to the Rx DMA buffer. 2018-08-21 06:20:23 -06:00
Gregory Nutt
0e7fa2c9b0 Update some comments. 2018-08-20 22:06:04 -06:00
Gregory Nutt
e17d8c719e arch/arm/src/stm32f7/stm32_serial.c: Previous logic would invalidate the data cache as each byte was read from the DMA buffer. This change moves one line of code: The cache invalidation moved from the single character read logic to the DMA complete interrupt handler. It is only necessary to invalidate the DMA buffer at the time that the Rx DMA completes. 2018-08-20 19:07:40 -06:00
Juha Niskanen
c90ee015e4 arch/arm/src/stm32, stm32f7, stm32l4: Make STM32F4XX RTC depend on CONFIG_STM32_RTC, cosmetic changes to comments 2018-08-16 08:05:24 -06:00
Gregory Nutt
8c61c2f31b Remove trailing spaces at the end of lines. 2018-08-13 07:39:38 -06:00
Gregory Nutt
5433c9f6d1 Revert "arch/arm/src/stm32, stm32f7, stm32l4 Kconfig files: The option to select the STM32 RTC should not be available if the external RTC option is selected."
While this is a good idea and a proper thing to do, it also creates a circular dependency and errors during configuration.  RTC depends on STM32_RTC which depends on RTC_EXTERNAL with depends on RTC.  No can do.

This reverts commit 714e8c1f9e.
2018-08-08 12:51:40 -06:00
Gregory Nutt
714e8c1f9e arch/arm/src/stm32, stm32f7, stm32l4 Kconfig files: The option to select the STM32 RTC should not be available if the external RTC option is selected. 2018-08-08 12:49:01 -06:00
Gregory Nutt
8d68d9ca43 arch/arm/src/stm32, stm32f7, stm32l4, and related defconfig files: The STM32 RTC driver was being selected by the global CONFIG_RTC option. That is in correct. For example, if you want to disabled the STM32 RTC and use an external RTC you cannot because the external RTC also depends on the global CONFIG_RTC. The solution is to add a new CONFIG_STM32xx_RTC configuration option the permits to you select or deselect the STM32 RTC but still be able to selecte the external RTC. 2018-08-08 12:42:04 -06:00
Evgeniy Bobkov
67287e89d0 This commit basically reverts my version of the change bbee0d70de in favor of Evgeniy Bobkov's version per request of Juha Niskanen. 2018-08-06 06:22:19 -06:00
Gregory Nutt
4e5cf1229c drivers/mmcsd/Kconfig: three configuration settings were within ifdef/endif and led to warning: xxx selects xxxx which has unmet direct dependencies. Fix by moving settings to drivers/Kconfig and outside of the ifdef-endif. Also renamed CONFIG_SDIO_PREFLIGHT to CONFIG_ARCH_HAVE_SDIO_PREFLIGHT to follow naming of similar hidden architecture capability configurations. 2018-08-05 17:58:17 -06:00
Gregory Nutt
c2267a57a0 Kconfig files: Fix several errors noted by Alex Denisov in Bitbucket issue 115. 2018-08-05 10:48:02 -06:00
Gregory Nutt
bbee0d70de arch/arm/src/stm32f7: Fix an error introduced by the patch by Evgeniy Bobkov in Issue #114. That patch brok all STM32 F7 builds. 2018-08-03 14:26:29 -06:00
Evgeniy Bobkov
caa7fa7327 This commit ports the stm32f20xxf40xx_flash.c driver to the STM32F7 platform and fixes some relevant problems in the header files. 2018-08-03 11:02:59 -06:00
Gregory Nutt
10069067c1 include/nuttx/i2c/i2c_master.h: Rename I2C_M_NORESTART to I2C_M_NOSTART since it may be used in other contexts than a repeated start. Add comments to clarilfy setup for repeated start. 2018-08-03 08:51:55 -06:00
Gregory Nutt
41666dafa8 drivers/usbhost/usbhost_max3421e.c: Fix an error in reading the pending interrupts. Aos fix a number of typos and update a README. 2018-07-29 15:06:44 -06:00
Bob Feretich
f9f56aa254 arch/arm/src/stm32f7/: Fix data timeout errors with multiblock transfers. 2018-07-20 09:52:32 -06:00
Gregory Nutt
4d648625e3 arch/arm/src/stm32fy: IO compensation is non longer an inline function, just a plain callable function. Not really necessary for the F7, but now the implementation is identical to the F2 and F4. 2018-07-16 09:50:10 -06:00
Gregory Nutt
f09f186375 arch/arm/src/stm32f7: Port Bob Feritich's change (2c699d7812) to STM32 F2 and F4 which appear to have identical SD support and I/O compensation requirements. 2018-07-15 17:46:58 -06:00
Gregory Nutt
0c093f800d arch/arm/src/stm32f7: Port Bob Feritich's change (2c699d7812) to SDMMC2 and to all other STM32F7 architectures. Also add a conifiguration option to automatically enable I/O compensation. 2018-07-15 16:17:41 -06:00
Gregory Nutt
2c699d7812 arch/arm/src/stm32f7/chip/stm32f72xx73xx_pinmap.h: All of the SDMMC pins were set to 50 MHz, but not the clock. This sets the clock to 50 MHz also. This combined with turning on I/O compensation makes intermittent failures go away. 2018-07-15 15:23:39 -06:00
David Sidrane
fbe5f56dd5 Merged in david_s5/nuttx/master_singlewire (pull request #679)
Added Single Wire Kconfig knob

* stm32f0:Added Kconfig knob for STM32F0_USART_SINGLEWIRE

* stm32f7:Added Kconfig knob for STM32F7_USART_SINGLEWIRE

* stm32l4:Corrected comment in Kconfig STM32L4_USART_SINGLEWIRE

* stm32:Added Kconfig knob for STM32_USART_SINGLEWIRE

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-12 19:30:43 +00:00
Gregory Nutt
f3c12215cf arch/arm/src/stm32, stm32f0, stm32f7, stm32: Correct naming of global variables that violations the naming requirements of the coding standard. 2018-07-12 10:54:51 -06:00
Alan Carvalho de Assis
283b73edc5 Fix lots of typos in C comments and Kconfig help text 2018-07-08 18:24:45 -06:00
Gregory Nutt
1783d344dc Eliminate some new warnings found in build testing. 2018-07-08 13:44:39 -06:00
Gregory Nutt
1450c0c2f2 arch/arm/src/stm32f7/stm32_sdmmc.c: Fix some missing right parentheses. 2018-07-07 15:23:46 -06:00
Ramtin Amin
f39c611d64 arch/arm/src/stm32f7/stm32_sdmmc.c: Add SDIO coard support. 2018-07-05 07:31:41 -06:00
Gregory Nutt
22cd0d47fa This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE.
This makes the user interface a little hostile.  People thing of an MTU of 1500 bytes, but the corresponding packet is really 1514 bytes (including the 14 byte Ethernet header).  A more friendly solution would configure the MTU (as before), but then derive the packet buffer size by adding the MAC header length.  Instead, we define the packet buffer size then derive the MTU.

The MTU is not common currency in networking.  On the wire, the only real issue is the MSS which is derived from MTU by subtracting the IP header and TCP header sizes (for the case of TCP).  Now it is derived for the PKTSIZE by subtracting the IP header, the TCP header, and the MAC header sizes.  So we should be all good and without the recurring 14 byte error in MTU's and MSS's.

Squashed commit of the following:

    Trivial update to fix some spacing issues.
    net/: Rename several macros containing _MTU to _PKTSIZE.
    net/: Rename CONFIG_NET_SLIP_MTU to CONFIG_NET_SLIP_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_6LOWPAN_MTU to CONFIG_NET_6LOWPAN_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_ETH_MTU to CONFIG_NET_ETH_PKTSIZE.  This is not the MTU which does not include the size of the link layer header.  This is the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename the file d_mtu in the network driver structure to d_pktsize.  That value saved there is not the MTU.  The packetsize is the memory large enough to hold the maximum packet PLUS the size of the link layer header.  The MTU does not include the link layer header.
2018-07-04 14:10:40 -06:00
Marcin Wyrwas
898fdbded0 Merged in plwm/nuttx/stm32f746g-disco-sdram (pull request #665)
Add support for STM32F746G-disco board SDRAM

* add support for STM32F746G-disco board SDRAM

* changed fb config to use SDRAM and fixed compilation

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-02 23:49:55 +00:00
Gregory Nutt
576b8b1841 stm32, stm32f0, stm32f7, stm32h7, stm32l4: Fix another duplicated configuration variable name: CONFIG_SERIAL_DISABLE_REORDERING. 2018-06-30 09:43:51 -06:00
Gregory Nutt
f24f523e4e arch/arm/src/imxrt,stm32,stm32f0,stm32f7,stm32l4: Fix scope of naming. CONFIG_PM_SERIAL_ACTIVITY->CONFIG_STM32_PM_SERIAL_ACTIVITY, for example. 2018-06-28 16:18:15 -06:00
Gregory Nutt
7dec38b18f drivers/Kconfig: Global configuration variable CONFIG_FB_TRANSPARENCY is only defined in architecture-specific Kconfig files and then multiple times. Add the single global definition in drivers/Kconfig. arch/arm/src/stm32, stm32f7, and same5: Rename the architecture-specific variables appropriately. Selecting the architecture-specific version will also select the global version. 2018-06-28 12:31:51 -06:00
Gregory Nutt
ba53219821 drivers/Kconfig: Global configuration variable CONFIG_FB_CMAP is only defined in architecture-specific Kconfig files and then multiple times. Add the single global definition in drivers/Kconfig. arch/arm/src/stm32 and stm32f7: Rename the architecture-specific variables appropriately. Selecting the architecture-specific version will also select the global version. 2018-06-28 12:01:55 -06:00
David Sidrane
06c7b9a5bc Merged in david_s5/nuttx/master_f7_i2cfix (pull request #664)
stm32f7:I2C reset Configure I2C pins as GPIO output

Pins were reset to inputs in the deinit. This resets
   them to outputs.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-06-27 18:35:34 +00:00
Gregory Nutt
691470c1cd arch/arm/src/stm32,stm32l4,stm32f7: Fix duplicated configuration options. All should be unique. 2018-06-27 10:20:14 -06:00
Gregory Nutt
d6ed50a370 arch/arm/src/stm32f7/chip/stm32f72xx73xx_dma.h: Macros did not account for the increase from 8 to 16 DMA channels. 2018-06-26 10:12:35 -06:00