Commit Graph

14146 Commits

Author SHA1 Message Date
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