Commit Graph

11327 Commits

Author SHA1 Message Date
Gregory Nutt
8c61c2f31b Remove trailing spaces at the end of lines. 2018-08-13 07:39:38 -06:00
Juha Niskanen
2589fc943e arch/arm/src/stm32l4: Add initial support to STM32L4+ chips 2018-08-13 07:06:51 -06:00
Gregory Nutt
17c18a1347 tools/kconfig2html.c: Update tool to handle tristate types. Fix a few errors detected in Kconfig files. 2018-08-10 17:30:17 -06:00
Gregory Nutt
672c6a5405 arch/arm/src/kinetis: Remove annoying typedefs. Discouraged but not prohibited by coding standard 2018-08-10 09:22:27 -06:00
Gregory Nutt
0bc84d74b6 configs/freedom-k66f/nsh/defconfig: Disable DMA in this configuration. 2018-08-10 08:10:35 -06:00
David Sidrane
9ef481ce4b Squashed commit of the following:
Author: Gregory Nutt <gnutt@nuttx.org>
    arch/arm/src/kinetis:  Cosmetic changes from review of coding standard.

Author: David Sidrane <david_s5@nscdg.com>
    Merged in david_s5/nuttx/master_kinetis (pull request #710)

    kinetis:Add DMA and use it as RX FIFOs on Serial

    * Add initial implementation of the DMA

    * Add across Kxx family support [WIP]

    * Incorporate the DMA into the serial

        Add polling to serial

        do DMA initialisation at UART startup and fix DMA mux setting.

        Fix circular DMA handling in the serial driver.

    * Adapt defconfig to enable UART1,4 RXDMA

    * [WIP] - refactor this with new CONFIG DMA settings

    * kinetis/Kconfig:Bring inline with upstream stucture

          1. Use the Serial console configuration from drivers/serial/Kconfig
            and friends.
          2. Prefix arch specific featurs as such
             UARTx_RXDMA->KINETIS_UARTx_RXDMA

    * Kinetis:Serial formatting and clean up

    * kinetis:DMA Formating and Cleanup

    * kinetis:serial Use cleaner DMA API

    * kinetis:Make.defs fix duplicate/errant kinetis_dma.o

    * kinetis:serial Fix warning/error on only one uart using DMA

          The driver can support no DMA on any UART, DMA on some
          UARTs or DMA on all UARTs.

          In the case of no DMA we disable the DMA based variables
          and logic. In the case of all DMA we disable the non
          DMA variables and logic, and in the mixed case both
          DMA and non DMA variable and logic are enabled.

    * kinetis:dma config fix formatting

    * kinetis:chip/dma fix formatting

    * kinetis:DMA config assume Unknown

           Assume KINETIS_DMA_VERSION_UKN for all SoC not versioned
           This is as the code was in nuttx prior to this commit

    * kinetis:DMAMUX contain versioning- use HAS pattern define Unknown

          The pattern for chip versioning is to define 'HAS' constants.
          Define KINETIS_DMAMUX_HAS_MONOTONIC_CHCFG to contain the
          version numbers to the include soc header and use that define
          in the chip headers.

          Define the KINETIS_DMAMUX_VERSION_UKN for the default as prior
          this commit addressing was by default monotonic for CHCFG

    * freedom-k66f:Disable Serial RXDMA

          The application has to add calling of the kinetis
          serial dma poll as it is application specific.

    Approved-by: GregoryN <gnutt@nuttx.org>
2018-08-10 08:03:50 -06:00
David Sidrane
2e23ffe9d2 Squashed commit of the following:
* kinetis:PIT add Liftime and Chaining

    * kinetis:flexcan fix dup line and ordering

    * kinetis:kinetis_lowput.c LPUART data format with parity fix

          The 9-bit data mode is typically used with parity to allow
          eight bits of data plus the parity

    * kinetis:pindma fix warning

    * kinetis:lowputc  LPUART_BAUD_INIT has to be defined

           build fails with test case enable LPUART0 and make
           UART1 console

           if HAVE_LPUART_DEVICE is defined then LPUART_BAUD_INIT
           has to be defined even if the lpuart is not the console

    * kinetis:lpserial fix warning
2018-08-09 09:08:39 -06:00
Daniel P. Carvalho
48a030f7f0 arch/arm/src/stm32l4/chip: Merged stm32l4x2xx and stm32l4x3xx pinmap files. Removed references to stm32l4x2xx_pinmap.h 2018-08-09 07:05:25 -06:00
Juha Niskanen
e402dadf5d arch/arm/src/stm32l4: Avoid using redundant CONFIG_STM32L4_STM32L4X2. This is almost always same as CONFIG_STM32L4_STM32L4X3. Avoid duplication to reduce macro clutter. This patch limits CONFIG_STM32L4_STM32L4X2 usage to dependency tracking and pinmap. Also enable ADC for CONFIG_STM32L4_STM32L4X5 (untested, but same RM). 2018-08-09 06:42:54 -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
Juha Niskanen
84f8e01c17 arch/arm/src/stm32l4: Fix ADC and COMP breakage caused by CONFIG_STM32L4_STM32L4X2 separation in 9223123c 2018-08-08 06:55:25 -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
Juha Niskanen
1d5e8f6066 arch/arm/src/stm32l4/chip/stm32l4x3xx_pinmap.h: Recent commit removed some of the pin definitions for STM32L451xx, and probably some other chips of the STM32L4x3 subfamily, breaking our builds. Some chips of the subfamily don't have these peripherals, but some do, so that is not a valid reason to remove them. 2018-08-06 06:10:41 -06:00
Masayuki Ishikawa
c46741975d Merged in masayuki2009/nuttx.nuttx/fix_http_streaming_with_lc823450 (pull request #705)
Fix http streaming with lc823450

* arch/arm/src/lc823450: Change C-Buffer under-level control

    The under-level setting was changed from 1KB to 55KB.
    In previous implementation, the setting can ben changed
    by the tx threshold but it is fixed at startup.

    Also, check write size and adjust alignment if needed.

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* configs/lc823450-xgevk: Change IOB related params for rndis.

    Since TCP flow control scheme was changed, HTTP audio streaming
    has not been working. These IOB params are not optimized but
    HTTP audio streaming now works.

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-08-06 03:39:45 +00: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
d68b0c35f9 Squashed commit of the following:
configs/olimex-stm32-p407:  Various changes as necessary to get the new kelf configuration working.
    configs/olimex-stm32-p407:  Add kernel ELF (kelf) configuration.
2018-08-04 16:18:51 -06:00
Gregory Nutt
5996d70883 Revise commit 09ccd43d61: That change had the subtle side-effect of unconditionally enabling interrupts in the primask. That may be what we want in most cases, but certainly not all. This does increse the size of the inline function by about 48-bits per instantiation. 2018-08-04 07:37:31 -06:00
Gregory Nutt
679d2875f2 Update some comments. 2018-08-03 16:20:42 -06:00
Gregory Nutt
9b7e5ede0a configs/metro-m4: Add an option to build the Metro M4 image to run out of SRAM. This ought to be a safer and quicker way to do the initial bring-up (having bricked the first Metro M4 due to a bad FLASH image). 2018-08-03 15:26:44 -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
bfc8f9dfdb arch/arm/src/imxrt/imxrt_enet.c: Fix a warning about imxrt_calcethcrc() being defined, but not used. 2018-08-03 10:53:37 -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
ee28cd9aeb include/nuttx/i2c/i2c_master.h: Add a definition to distinguish a new START of messages from a repeated start. No lower-half I2C drivers actually implement this new flag bit, however. drivers/i2c/i2c_writeread.c: Use new repeated START definition where appopriated. Other: Some cosmetic changes, updates to README files, etc. 2018-08-03 07:43:57 -06:00
Gregory Nutt
09ccd43d61 arch/arm/include/armv7-m, arch/arm/include/armv7-m, arch/arm/include/stm32f7: Add a configuration to enable workaround for r0p1 Errata 837070: Increasing priority usingwrite to BASEPRI does not take effect immediately.
This update is required to be serialized to the instruction stream meaning that after this update completes, it takes effect immediately and no exceptions of lower priority than the new boosted priority can pre-empt execution.  Because of this erratum, the priority boosting does not take place immediately, allowing the instruction after the MSR to be interrupted by an exception of lower priority than the new boosted priority. This effect is only limited to the next instruction. Subsequent instructions are guaranteed to see the new boosted priority.

This was raised in Bitbucket issue 113 from Vadzim Dambrouski.
2018-08-02 16:51:58 -06:00
Gregory Nutt
5dec4a6763 configs/metro-m4: Corrrect SERCOM3 pin configuration 2018-08-01 14:56:11 -06:00
Gregory Nutt
b2c978dc83 This commit brings the SAMDL2 USB driver into the SAMD5E5 port.
Squashed commit of the following:

    arch/arm/src/samd5e5/sam_usb.c:  USB driver now compiles with some issues.

    arch/arm/src/samd5e5/chip/sam_fuses.h:  Add fuse definition header file.

    arch/arm/src/samd5e5:  Bring USB driver in from SAMD2L2.
2018-07-30 10:43:11 -06:00
Gregory Nutt
c3d0f65529 configs/metro-m4: Review clock settings and make some corrections to the board.h header file. 2018-07-30 08:01:45 -06:00
Gregory Nutt
c14d97a921 ARMv7-M/ARMv6-M: Review last PR. Rename CONFIG_DEBUG_HARDFAULT to OHNFIG_DEBUG_HARDFAULT_ALERT for consistency. 2018-07-30 06:46:44 -06:00
Masayuki Ishikawa
382a829657 Merged in masayuki2009/nuttx.nuttx/hardfault_info (pull request #699)
hardfault info

* arch/arm: Introduce CONFIG_DEBUG_HARDFAULT_INFO to Kconfig

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* arch/arm/src/armv7-m: Introduce CONFIG_DEBUG_HARDFAULT_INFO to up_hardfault.c

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* arch/arm/src/armv6-m: Introduce CONFIG_DEBUG_HARDFAULT_INFO to up_hardfault.c

    Also, replace _alert() with hfalert()

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-30 12:32:55 +00:00
Gregory Nutt
54db2cadd2 arch/arm/src/samd5e5/sam_start.c: Fix a typo/error when debug features are enabled. 2018-07-29 17:14:51 -06:00
Gregory Nutt
65e102ee6b configs/metro-m4: Fix Metro M4 compile and link. This rippled back to more changes in arch/arm/src/samd5e5, like the sercom logic was not in the compile! Also a great opporunity to improve some naming. 2018-07-29 16:29:54 -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
Gregory Nutt
754c8493ff arch/arm/src/samd5e5: Leverage the SAMD2L2 DMA controller. 2018-07-29 11:31:26 -06:00
Gregory Nutt
a29223c156 arch/arm/src/samd5e5: Fix some compilation issues introduced with last commit. 2018-07-29 08:08:42 -06:00
Gregory Nutt
5e4c63ed58 arch/arm/src/samd5e5: Bring in untested SPI and I2C drivers from SAMD2L2. 2018-07-29 07:43:21 -06:00
Gregory Nutt
9a24e7b724 arch/arm/src/samd5e5/chip/sam_dmac.h: Add DMA register definitions. 2018-07-28 11:41:55 -06:00
Gregory Nutt
5c1a633fbc Squashed commit of the following:
arch/arm/src/samd5e5/sam_clockconfig.c:  Implement DFLL support.  This completes coding the the re-architected clock configuration logic.
    arch/arm/src/samd5e5/sam_clockconfig.c:  Add data structures and definitions to support the FDLL and the DFPLL0/1.
2018-07-28 10:07:35 -06:00
Gregory Nutt
6e1c292400 Squashed commit of the following:
arch/arm/src/samd5e5:  Completes GCLK configuration logic.  Still FDPLL and FDLL support.
    arch/arm/src/samd5e5:  A little more GCLK configuratino logic.  Still incomplete.
    arch/arm/src/smad5e5:  Beginning of GCLK configuration logic.
    arch/arm/src/samd5e5:  Add MCLK configuration logic.
    arch/arm/src/samd5e5:  Add XOSC0/1 configuration logic.
    arch/arm/src/samd5e5:  Add XOSC32 configuration logic.
    arch/arm/src/samd5e5:  Rip out all of the leveraged clock configuration logic and start from scratch.
2018-07-27 15:52:02 -06:00
Gregory Nutt
ad10e7a872 arch/arm/src/samd5e5: Remove redundant sam_eic_irq_enable() function. 2018-07-26 12:40:27 -06:00
Gregory Nutt
a9d713bbcc This is the initial commit the port to the SAMD5x/E5x MCU family and also support for the Adafruit Metro M4 board. It port is untested and unfinished. It currently will not even link due to some missing clock related logic.
Squashed commit of the following:

    arch/arm/src/samd5e5: Clean-up EIC logic.
    arch/arm/src/samd5e5:  Fix some compilation issues; Still issues with the EIC logic from samd2x.
    arch/arm/src/samd5e5:  Fix some compilation issues; bring in some EIC logic from samd2x.
    arch/arm/src/samd5e5:  Add NVMCTRL header file, fix some compiler problems, misc. clean-up.
    configs/metro-m4:  Add LED support.
    arch/arm/src/samd5e5:  Bring in SAML21 clock configuration.  This is a WIP; it cannot possible even compile yet.
    arch/arm/src/samd5e5:  Leverage Cortex-M4 interrupt and SysTick logic from the SAM3/4.
    arch/arm/src/samd5e5: Add SERCOM utility function.
    arch/arm/src/samd5e5:  Bring all SERCOM USART logic from SAMD2L2 to SAMD5E5.  This is a brute coy with nothing more than more that name changes and extension from 5 to 7 SERCOMs.
    arch/arm/src/samd5e5: Add sam_config.h header file
    arch/arm/src/samd5e5/:  Add Generic Clock (GCLK) utility functions.
    arch/arm/src/samd5e5:  Add EVSYS register definition file
    arch/arm/src/samd5e5 and configs/metro-m4:  Use SERCOM3 for the Arduino serial shield as console.
    arch/arm/src/samd5e5/chip:  Add SERCOM USART, SPI, I2C master, and slave register defintions header files
    arch/arm/src/samd5e5/chip:  Add AES, PM, TRNG, and WDT header files.
    arch/arm/src/samd5e5/chip:  Add pin multiplexing header files.
    Various fixes to configuration system; fix metro-m4/nsh defconfig file.
    configs/metro-m4:  Add initial support for the Adafruit Metro M4 board.
    arch/arm/src/samd5e5:  Add peripheral clock helpers.
    arch/arm/src/samd5e5/chip:  Add PAC register definition header file.  Fix some errors in the memory map header file.
    arch/arm/src/samd5e5:  Add chip.h headerf file.
    arch/arm/src/samd5e5:  Add PORT register definitions and support from SAML21.
    arch/arm/include/samd5e5:  Add interrupt vector definitions.
    arch/arm/src/samd5e5:  Add some boilerplate files.  Correct some typos.
    arch/arm/src/samd5e5/chip/sam_eic.h:  Add EIC register definitions.
    arch/arm/src/samd5e5/chip:  Add OSC32KCTRL and OSCCTRL register definitions.
    arch/arm/src/samd5e5/chip:  Add GCLK, MCLK, and RSTC header files.
    arch/arm/src/samd5e5/chip/sam_cmcc.h:  Add CMCC register definitions
    arch/arm/src/samd5e5/chip/sam_supc.h:  Add SUPC header file.
    arch/arm/src/samd5e5:  Add start-up logic.
    arch/arm/src/samd5e5:  Add Make.defs file
    arch/arm/src/samd5e5/chip:  Add memory map header file.
    arch/arm/include/samd5e5:  Add chip.h header file.
    arch/arm/Kconfig and arch/arm/src/samd5e5/Kconfig:  Add configuration logic for the SAMD5x/Ex family.
2018-07-26 12:12:08 -06:00
Jake Choy
bf2a61b8cf I finally got the CRC32 to work properly after the FAE pointed me in the right direction. Here is a patch for the enet driver:
- Added CRC32 functions for multicast address filtering.
- Do not reset PHY settings when doing an ifup
- Use chip's unique id as the device MAC
- Enable discard enet frames with errors at PHY layer
2018-07-26 08:31:40 -06:00
Gregory Nutt
f2d3dc152e arm/src/stm32f0/chip/stm32f0_rcc.h: Fix some typos. 2018-07-26 08:31:40 -06:00
Ivan Ucherdzhiev
579e984d8a arch/arm/src/imxrt/imxrt_serial.c: IMXRT1050 LPUART TERMIOS support added. 2018-07-26 07:08:17 -06:00
Ivan Ucherdzhiev
35fbaf7c4c arch/arm/src/imxrt/chip/imxrt_lpspi.h: IMXRT1050 LPSPI register and bit definitions added. 2018-07-26 07:03:57 -06:00
Gregory Nutt
5a0733d0d6 arch/arm/src/samd2l2: Fix a couple of logic error/typos found in reviewing code for port to SAMD51. 2018-07-25 13:41:09 -06:00
Gregory Nutt
6dc25e1150 arch/arm/src/samd2l2/chip/saml_evsys.h: Complete some unfinished settings. 2018-07-25 11:44:41 -06:00
Gregory Nutt
830faf355b arch/arm/src/samd2l2/Kconfig: Cosmetic re-ordering of some options. 2018-07-25 09:55:04 -06:00
Gregory Nutt
444445744a arch/arm/src/samd2l2/chip: Correct some typos noted in SAML21 header files 2018-07-25 08:46:18 -06:00
Gregory Nutt
e428f3852a arm/Kconfig: Add spurious 'invisible' configuration settings to avoid prompting users for hardfault or memfault debug on systems where such debug is not available. 2018-07-24 05:54:30 -06:00
Masayuki Ishikawa
3b15cae493 Merged in masayuki2009/nuttx.nuttx/debug_memfault (pull request #693)
arch/arm: Add CONFIG_DEBUG_MEMFAULT to Kconfig

Also, fix src/armv7-m/up_memfault.c

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-24 11:42:54 +00:00
Gregory Nutt
1c31036e94 Remove spurious blank line from last PR. 2018-07-23 13:43:07 -06:00
David Sidrane
82fc9986bf Merged in david_s5/nuttx/master_kinetis_sdhc_dma (pull request #692)
kinetis:sdhc fix SDIO driver so that DMA works

There were 2 problems. The first was that the interrupt did
   test DINT and raise a completion events. But since DINT is
   just an indication of DMA completion, TC is a valid way to
   determine that the transfer is complete.

   The second problem is that Software Reset For DAT Line
   SDHC_SYSCTL[RSTD] clears the bits 24-0 in SDHC_PROTO
   this looses the wide bus setting DTW

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-23 19:41:23 +00:00
Frank Benkert
524602fb51 arch/arm/src/samv7/sam_mcan.c: Correct an error in the BUS_OFF reporting. In case of BUS_OFF the old implementation was leading to a package storm. Now it reports the error condition BUS_OFF only once. 2018-07-23 08:21:06 -06:00
Gregory Nutt
62ea8f5805 arm/Kconfig and arm/src/samd2l2/Kconfig: Rename ARCH_CHIP_SAMD to ARCH_CHIP_SAMD2X and ARCH_CHIP_SAML to ARCH_CHIP_SAML2X. 2018-07-22 16:41:13 -06:00
Gregory Nutt
c3b406826e Rename all usage of samdl/SAMDL to samd2l2/SAMD2L2 to make room in the name space for the forthcoming samd5e5/SAMD5E5
Squashed commit of the following:

    Change all remaining occurrences of SAMDL to SAMD2L2.

    configs/:  Change all remaining occurrences of SAMDL to SAMD2L2

    configs/:  Change all occurrences of CONFIG_SAMDL_* to CONFIG_SAMD2L2_*
    arch/arm/src and include:  Rename all directories from samdl to samd2l2.  Change all configuration variable names and other usage from SAMDL to SAMD2L2.
2018-07-22 15:54:12 -06:00
Bob Feretich
f9f56aa254 arch/arm/src/stm32f7/: Fix data timeout errors with multiblock transfers. 2018-07-20 09:52:32 -06:00
Masayuki Ishikawa
9ea6d9aec5 Merged in masayuki2009/nuttx.nuttx/lc823450_protected_build (pull request #689)
lc823450 protected build

* arch/arm/src/lc823450: Add support for mpu and userspace

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* configs/lc823450-xgevk: Add support for userspace

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* configs/lc823450-xgevk: Add kostest

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* configs/lc823450-xgevk: Add knsh

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-20 10:43:07 +00:00
David Sidrane
e9cd6089c9 Merged in david_s5/nuttx/master_kinetis_usbhang (pull request #688)
kinetis:USB0 fix interrupt storm on error

The ERROR bit of USBx_ISTAT needed to be cleared once an
   error occured.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-19 20:13:47 +00:00
Masayuki Ishikawa
4bc2ba3bee Merged in masayuki2009/nuttx.nuttx/lc823450_spi_flash (pull request #687)
lc823450 spi flash

* arch/arm/src/lc823450: Add SPI flash driver for lc823450

    NOTE: Only bus accelerator mode is supported.

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* arch/arm/src/lc823450: Remove unnecessary settings in Kconfig

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-18 11:45:20 +00:00
Daniel P. Carvalho
9223123cd2 arch/arm/src/stm32l4: Added custom pin mapping for STM32L4X2XX processors. 2018-07-16 15:42:13 -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
871bface28 arch/arm/src/stm32: Use of inline function for I/O compensation causes too many issues. No just a plain callable function. 2018-07-16 09:05:53 -06:00
Gregory Nutt
c1a2c55764 arch/arm/src/stm32/stm32_gpio.h: Correct a recently introduced compilation error: Not all STM32s have chip/stm32_syscfg.h 2018-07-16 08:43:28 -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
Gregory Nutt
a74246d14e Squashed commit of the following:
Update some comments
    drivers/usbhost/usbhost_max3421e.c:  Fix issue with uninitialized data.
2018-07-14 13:40:13 -06:00
Gregory Nutt
38073a523a drivers/usbhost/husbhost_max3421e.c: Corret how VBUS power is controlled. 2018-07-14 08:50:08 -06:00
Gregory Nutt
859d032938 This commit adds support for the MAX3421E to the viewtool-stm32107 board support
Squashed commit of the following:

    configs/viewtool-stm32f107:  Clean up some compilation errors.  Now all builds correctly and is ready for test.

    arch/arm/src/stm32:  Do not condition building STM32 USB host logic on CONFIG_USBHOST.  That then precludes building STM32 platforms with external USB host chips like the MAX3421E.  Add an new, STM32-internal variable CONFIG_STM32_USBHOST that does the same job without such side-effects.

    configs/viewtool-stm32f107:  Add support for MAX3421E USB host.
2018-07-13 10:45:08 -06:00
David Sidrane
6e6583f5a3 Merged in david_s5/nuttx/master_singlewire (pull request #680)
Added Single Wire Kconfig knob for H7

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-12 19:47:12 +00: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
c09efb2603 arch/arm/src/stm32h7: Correct naming of global variables that violations the naming requirements of the coding standard. 2018-07-12 13:19:57 -06:00
Gregory Nutt
e569872358 arch/arm/Kconfig: Since the basic STM32H7 port is working, let's remove the EXPERIMENTAL dependency. 2018-07-12 12:35:35 -06:00
Mateusz Szafoni
82e5c6ceea Merged in raiden00/nuttx_h7 (pull request #677)
stm32h7: fix some definitions for uart, add serial driver with FIFO enabled

* stm32h7: stm32_irq.c: extend irqinfo to support H7 family

* stm32h7: fix some definitions for uart, add serial driver with FIFO enabled

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-12 18:31:59 +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
Masayuki Ishikawa
562637391c Merged in masayuki2009/nuttx.nuttx/lc832450_elf_test (pull request #675)
lc832450 elf test

* arch/arm/src/lc823450: Change CONFIG_DEBUG to CONFIG_DEBUG_FEATURES in lc823450_start.c

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* configs/lc823450-xgevk: Call elf_initialize() in lc823450_bringup.c

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* configs/lc823450-xgevk: Add ELF related parameters in Make.defs

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* configs/lc823450-xgevk: Add elf configuration

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-12 12:05:55 +00:00
Mateusz Szafoni
639d75ca3a Merged in raiden00/nuttx_h7 (pull request #674)
stm32h7: stm32_irq.c: extend irqinfo to support H7 family

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-11 19:13:55 +00:00
Daniel Pereira Carvalho
8432164e52 arch/arm/src/stm32l4/chip/: Corrects some mistakes in pin definitions for the STM32L4 family. According to datasheet of STM32L496xx, STM32L475xx and STM32L443XX the AF2 of PE14 is TIM1_BKIN2 not TIM2_BKIN. 2018-07-10 08:01:00 -06:00
Mateusz Szafoni
8271f72b72 Merged in raiden00/nuttx_h7 (pull request #672)
stm32h7: add lowputc, more cosmetic in stm32h7x3xx_rcc.h

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-09 16:32:22 +00: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
Mateusz Szafoni
fa56b1bbc7 Merged in raiden00/nuttx_h7 (pull request #671)
stm32h7

stm32h7: compile with stm32_rcc.c

stm32h7: some PWR definitions

stm32h7: add some RCC defs and change some code style to be more like in other STM ports

stm32h7: basic clocks configuration

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-08 18:28:14 +00:00
Mateusz Szafoni
9e63080b4b Merged in raiden00/nuttx/stm32h7 (pull request #670)
stm32h7x3xx: add flash definitions

* libdsp: initial commit

* libdsp: cosmetics

* stm32f334-disco/buckboost: use a PID controller from libdsp

* stm32_adc.h: fix typo

* stm32_dac.c: set OUTEN bit for DAC1CH2 and DAC2CH1

* stm32_hrtim: cosmetic changes

* power/motor: direction parameter is now int8 + add overload fault

* libdsp: all floats with f-sufix

    libdsp: add precision option for library

    libdsp: add debug option for library and assertions in functions

    libdsp: add current samples correction for SVM3

    libds: add some motor control specific functions

    libdsp: add basic speed observer

    libdsp: fix phase shift in SMO observer

    libdsp: add more logic to FOC

    config/sim/dsptest: add dsptest configuration

* libdsp/lib_motor.c: remove unused comparation

* libdsp/lib_observer.c: update some comments

* stm32h7x3xx: add flash definitions

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-08 13:15:44 +00:00
kxjiang
70dc642da3 The LPC54608 can only run at a maximum frequency of 180Mhz. This configuration requires uses the clk_in, external crystal clock, to drive the PLL. When that input was selected, the board bootup failed waiting for the PLL to lock. After referring the driver from NXP, we should turn on power sources for the ext clock if system pll input select clk_in. NOTE that the LPC54628 did not require this step... perhaps because the system oscillator power was already enabled. 2018-07-08 06:58:14 -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
Mateusz Szafoni
8416d9a966 Merged in raiden00/nuttx (pull request #668)
Master

* libdsp: initial commit

* libdsp: cosmetics

* stm32f334-disco/buckboost: use a PID controller from libdsp

* stm32_adc.h: fix typo

* stm32_dac.c: set OUTEN bit for DAC1CH2 and DAC2CH1

* stm32_hrtim: cosmetic changes

* power/motor: direction parameter is now int8 + add overload fault

* libdsp: all floats with f-sufix

    libdsp: add precision option for library

    libdsp: add debug option for library and assertions in functions

    libdsp: add current samples correction for SVM3

    libds: add some motor control specific functions

    libdsp: add basic speed observer

    libdsp: fix phase shift in SMO observer

    libdsp: add more logic to FOC

    config/sim/dsptest: add dsptest configuration

* libdsp/lib_motor.c: remove unused comparation

* libdsp/lib_observer.c: update some comments

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-07 17:04:57 +00:00
Gregory Nutt
6cb9f8001c Squashed commit of the following:
lpc17, sam34:  Rename some improperly scoped configuration variables; fix some duplicate configuration variable names.
    lpc11, lpc17, lc823450:  Rename some improperly scoped configuration variables; fix some duplicate configuration variable names.
    lpc11, lpc17, lpc43:  Rename some improperly scoped configuration variables; fix one duplicate configuration variable.
2018-07-06 09:15:57 -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
Frank Benkert
317c7c2aff arch/arm/src/samv7: Add ability for CAN BUS_OFF autorecovery according ISO11898-1:2015. With this change we added an ioctl for triggering the autorecovery sequence for BUS_OFF to the CAN-driver and the SAMV7 low-level driver. According the datasheet: If the device goes Bus_Off, it will set MCAN_CCCR.INIT of its own accord, stopping all bus activities. Once MCAN_CCCR.INIT has been cleared by the processor (application), the device will then wait for 129 occurrences of Bus Idle (129 * 11 consecutive recessive bits) before resuming normal operation. At the end of the Bus_Off recovery sequence, the Error Management Counters will be reset. During the waiting time after the resetting of MCAN_CCCR.INIT, each time a sequence of 11 recessive bits has been monitored, a Bit0 Error code is written to MCAN_PSR.LEC, enabling the processor to readily check up whether the CAN bus is stuck at dominant or continuously disturbed and to monitor the Bus_Off recovery sequence. MCAN_ECR.REC is used to count these sequences. 2018-07-04 07:48:59 -06:00
Masayuki Ishikawa
88f8a09a25 Merged in masayuki2009/nuttx.nuttx/lc823450_i2s_tx_threshold (pull request #667)
arch/arm/src/lc823450: Add tx start threshold to lc823450_i2s.c

In addition, lc823450_i2s_send() now accepts byte-aligned stream.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-03 12:59:03 +00: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
Alan Carvalho de Assis
8a1f3d6fa1 arch/arm/src/xmc4/xmc4_gpio.c: Add a specific bit encoding for openprain GPIO pin. 2018-07-02 10:56:58 -06:00
Gregory Nutt
824f1dd3fe Squashed commit of the following:
lpc17:  Removed duplicate configuration variable definitions from Kconfig:  CONFIG_USBHOST_BULK_DISABLE, CONFIG_USBHOST_INT_DISABLE, and USBHOST_ISOC_DISABLE.  These are global USBHOST configurations and are all defined in drivers/usbhost/Kconfig.
    lpc17:  Correct scope of naming of configuration variables:  CONFIG_USBHOST_TDBUFFERS->CONFIG_LPC17_USBHOST_TDBUFFERS, CONFIG_USBHOST_TDBUFSIZE->CONFIG_LPC17_USBHOST_TDBUFSIZE, and CONFIG_USBHOST_IOBUFSIZE->CONFIG_LPC17_USBHOST_IOBUFSIZE
    lpc17:  Correct scope of naming of configuration variables:  CONFIG_USBHOST_NEDS->CONFIG_LPC17_USBHOST_NEDS and CONFIG_USBHOST_NTDS->CONFIG_LPC17_USBHOST_NTDS
    lpc17:  Correct scope of naming of configuration variable:  CONFIG_USBHOST_OHCIRAM_SIZE->CONFIG_LPC17_OHCIRAM_SIZE
2018-07-01 08:38:05 -06:00
Gregory Nutt
d52b65b06d Fix several configuration varaibles that were defined in multiple Kconfig files and/or lacked any scoping and the naming.
Squashed commit of the following:

    lpc17, pic32mx, pic32mz:  Fix duplicated, improperly scoped configuration variable names:  CONFIG_PHY_SPEED100 and CONFIG_PHY_AUTONEG.
    lpc17, pic32mx, pic32mz:  Fix another duplicated configuration variable name:  CONFIG_PHY_FDUPLEX.
    lpc17:  Fix naming scope: CONFIG_NET_HASH -> CONFIG_LPC17_ETH_HASH.
    lpc17:  Fix naming scope: CONFIG_NET_WOL -> CONFIG_LPC17_ETH_WOL.
    lpc17, pic32mx, pic32mz:  Fix naming scope: CONFIG_NET_ -> CONFIG_LPC17_ETH_PRIORITY.
    lpc17, pic32mx, pic32mz:  Fix another duplicated configuration variable name:  CONFIG_NET_NTXDESC and CONFIG_NET_NRXDESC.
    lpc17:  Fix naming scope: CONFIG_NET_EMACRAM_SIZE -> CONFIG_LPC17_EMACRAM_SIZE.
2018-06-30 11:55:41 -06: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