Commit Graph

13721 Commits

Author SHA1 Message Date
Gregory Nutt
7ce881051a lpc43/lpc54 SDMMC: Add missing test for response errors in interrupt handler. 2017-12-23 18:13:53 -06:00
Gregory Nutt
0a5d9af33c lpc43/54 SDMMC: Remove some useless code. lpc54: Fix typos in the IOCON register definition file. Lpcxpresso-Lpc54628: Fix typols in board.h file 2017-12-23 14:25:21 -06:00
Gregory Nutt
b329b8c1e4 Squashed commit of the following:
lpc43/54 SDMMC:  Wading through bits trying to make sense out of what is a event want interrupt which deal mostly with commands+responses and what is a data transfer event.  DTO is the only wildcard.  I think this clear now but DMA transfers will fail with CRC error.
    lpc43/54 SDMMC:  DTO is a wait event, not a transfer event.
    lpc43/54 SDMMC:  Significant simplication to previous design.  More debug output.
    lpc43/54 SDMMC:  Don't allow duplicate events in waitmask and xfrmask.
    lpc43/54 SDMMC:  Not all interrupts were being disabled at the end of a transfer.
    lpc43/54 SDMMC:  Defer enabling DMA transfer interrupts until after command has been sent.
2017-12-23 11:42:04 -06:00
Gregory Nutt
6fa734457d lpc43/lpc54 SDMDC: Don't enable internal DMA in the control register if not doing internal DMA. Clear pending DMA-related interrupts before enabling them. 2017-12-22 15:16:14 -06:00
Gregory Nutt
1117a6e8ce Revert "lpc43xx and lpc54xx: No handling the wide bus MMC/SD interface correctly."
This reverts commit 4d6bf46480.
2017-12-22 14:39:59 -06:00
Gregory Nutt
9994bacf7e Revert "Fix some missing semicolons in conditional logic of last commit."
This reverts commit f0d36ebf1f.
2017-12-22 14:39:47 -06:00
Alan Carvalho de Assis
fa234a7026 configs/bambino-200e: Add LPC43 SDMMC board support to Bambino-200E and fix errors/warns 2017-12-22 12:30:36 -06:00
Gregory Nutt
f0d36ebf1f Fix some missing semicolons in conditional logic of last commit. 2017-12-22 12:28:17 -06:00
Gregory Nutt
4d6bf46480 lpc43xx and lpc54xx: No handling the wide bus MMC/SD interface correctly. 2017-12-22 11:59:45 -06:00
Gregory Nutt
bfb3eb38be LPC54/43: SDMMC driver: Need to disable DMA interrupts at completion of DMA. 2017-12-22 11:03:54 -06:00
Alan Carvalho de Assis
3ce21c5fe1 arch/arm/src/lpc43xx: Fix some small issues on LPC43 SDMMC driver 2017-12-22 10:23:09 -06:00
Gregory Nutt
6ed875a63b Leverage the LPC54xx back to the LPC43xx (where it came from originally)
Squashed commit of the following:

    arch/arm/src/lpc43xx:  SDMMC driver now builds for the LPC43 (provided that the proper definitions appear in the board.h file).
    arch/arm/src/lpc43xx:  Update basic changes to the ported lpc54xx driver for lpc43xx clocking and GPIOs.
    arch/arm/src/lpc43xx:  Brings in the LPC54xx SD/MMC driver with absolutely no changes other than changing all occurences of 54 to 43.
    arm/arm/src/lpc43xx:  Add build support for the lpc54 SDMMC driver.
    lpc54 SDMMC:  Check for successful data transfer last.  Checking first means that we miss errors.
2017-12-22 08:16:19 -06:00
Gregory Nutt
7add46bab5 lpc54 SDMMC. Some trivial naming improvements. 2017-12-22 07:19:13 -06:00
Michael Jung
cd48087c58 arch/arm/src/arm/up_cache.S: Fix cp15_invalidate_dcache. In cases where more than one dcache line was to be invalidated, a missing branch label would result in a false branch target into cp15_flush_idcache. Also the .size macro was fixed for both cp15_invalidate_dcache. 2017-12-22 06:54:37 -06:00
Gregory Nutt
c431177c0f LPC54xx: Update a README; fix a error in a DEBUGASSERTION in the SDMMC driver. 2017-12-21 12:19:15 -06:00
Gregory Nutt
d9f58fad39 Which these changes DMA now works on the LPC54xx
Squashed commit of the following:

    arch/arm/src/lpc54xx:  SDMMC fixes.. DMA should not be enabled on non-DMA transfers, the burst setting in FIFOTH is supposed to match the burst setting in the BMOD reseters, Add DMA error interrupt support.
    arch/arm/src/lpc54xx:  Mostly costmetic changes to the SDMMC driver.
2017-12-21 09:35:36 -06:00
Masayuki Ishikawa
4e64e6b3c3 Merged in masayuki2009/nuttx.nuttx/smp_fixes (pull request #561)
SMP fixes

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-12-21 12:31:04 +00:00
Gintaras Drukteinis
52fccefe4f arch/arm/src/lpc43xx: Add Windowed Watchdog Timer (WWDT) driver. Tested on LPC4357 but should be
compatible for all LPC43xx MCUs.
2017-12-21 06:23:48 -06:00
Masatoshi.Tateishi
5414d68161 arch/arm/src/lc823450: Add SP_DMB() into lc823450_testset.c
In lc823450, ldrex and strex are not supported. So we implemented
up_testset() with H/W Mutex. However, there was a bug in memory
access order. This change ensures correct memory access order in
up_testset() for lc823450.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-12-21 17:39:19 +09:00
Gregory Nutt
b26c70b11f arch/arm/src/lkpc54xx: In SDMMC driver, fix an error which was clobbering the interrupt mask register (xfrmask). Also, add a kludge for the missing DTO interrupt. 2017-12-20 18:39:10 -06:00
Gregory Nutt
eef12f1f91 arch/arm/src/lpc54xx: In SDMMC driver, add logic to transfer data when TXDR or RXDR interrupts occur. Also, add logic to set the RX watermark to 2 when receiving short, non-DMA data transfers. 2017-12-20 17:27:52 -06:00
Gregory Nutt
8938550072 arch/arm/src/lpc54xx: In SDMMC driver, don't do DMA if the entire transfer will fit in the FIFO. 2017-12-20 14:38:09 -06:00
Gregory Nutt
96e6835793 arch/arm/sr/lpc54xx: Add support for power pin to SDMMC driver. Some fixes from initial testing. 2017-12-20 13:42:57 -06:00
Gregory Nutt
31db67cad7 arch/arm/src/lpc54xx: SDMMC pin configurations should have SLEW on and FILTER off. 2017-12-20 11:47:30 -06:00
Gregory Nutt
c867d42018 arch/arm/src/lpc54xx: Add support for card detect and write protect to SDMMC driver. configs/lpcxpresso-lpc54628: Add logic to bring up SDMMC. 2017-12-20 10:52:05 -06:00
Masayuki Ishikawa
c2e50351e4 Merged in masayuki2009/nuttx.nuttx/lc823450_http_streaming (pull request #560)
lc823450 http streaming

* arch/arm/src/lc823450: Use spinlock APIs in lc823450_gpio.c

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

* arch/arm/src/lc823450: Add a warning message in up_ack_irq()

    In SMP mode, H/W interrupts should be handled on CPU0 to avoid deadlocks.

    Other changes:
    Fix a potential race condition in up_enable_irq()
    Use spinlock APIs instead of critical section APIs.

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

* arch/arm/src/lc823450: Enable HRT_TIMER in lc823450_timerisr.c

    Other changes:
    Fix style violations and call up_enable_irq() to assign CPU0 for IRQ handling.
    Use spinlock APIs instead of critical section APIs.

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

* arch/arm/src/lc823450: Fix race conditions in dma/usbdev.

    In SMP mode, critical data must be protected explicitly.

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

* configs/lc823450-xgevk: Update README.txt

    Add notes on .gdbinit and networking. Update comments on SMP.

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

* configs/lc823450-xgevk: Update defconfigs

    Enable HRT_TIMER, LC823450_MTM0_TICK, SPINLOCK_IRQ
    Enable NET_TCP_RWND_CONTROL, NXPLAYER_HTTP_STREAMING_SUPPORT (rndis only)

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

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-12-20 13:33:06 +00:00
Gregory Nutt
793c8b785a arch/arm/src/lpc54: Missed a change in the last commit 2017-12-19 15:11:22 -06:00
Gregory Nutt
321a7a64af arch/arm/src/lpc54xx and configs/lpcxpresso-lpc54628: Correct some SD/MMC clock divider logic. 2017-12-19 14:05:36 -06:00
Gregory Nutt
93b28017ab arch/arm/src/lpc54xx: Make the SPI driver selections EXPERIMENTAL since the SPI peripherals are not fully implemented. 2017-12-19 13:09:15 -06:00
Gregory Nutt
a8933f96bd configs/lpcxpresso-lpc54628: Fix SD/MMC clock divisor. 2017-12-19 12:43:44 -06:00
Gregory Nutt
ba1301a43a arch/arm/src/lpc54xx: Make the SDMCC driver selection EXPERIMENTAL since it has not yet been verified. 2017-12-19 12:23:37 -06:00
Gregory Nutt
5a66684293 Squashed commit of the following:
arch/arm/src/lpc54xx:  Adds the LPC54-specific clock configuration logic to the leveraged SD/MMC driver.
    arch/arm/src/lpc54xx:  Leveraged SD/MMC driver builds without error but is still missing clock configuration logic.
    arch/arm/src/lpc54xx:  Bring in LPC43xx SD/MMC driver from https://github.com/Smoothieware/smoothie-nuttx/tree/master/nuttx/arch/arm/src/lpc43xx
2017-12-19 12:09:22 -06:00
Gregory Nutt
c17651e26e arch/arm/include/lpc54xx: Add SD/MMC header file. 2017-12-19 09:12:42 -06:00
Gregory Nutt
a0004173d4 arch/arm/src/a1x: Fix a compile error introduce in recent commit. 2017-12-18 09:00:41 -06:00
Gregory Nutt
9dd5196741 arch/arm/src/a1x, kl, lpc11xx, lpc31xx, and nuc1xx: Fix some compile warnings that I introduced with a possibly overzealous recent change. 2017-12-17 18:12:19 -06:00
Gregory Nutt
b7391ec599 arch/arm/src/sama5 and samdl: Fix some compile warnings that I introduced with a possibly overzealous recent change. 2017-12-17 17:50:31 -06:00
Gregory Nutt
91f48701ae arch/arm/src/sam34: Fix some compile warnings that I introduced with a possibly overzealous recent change. 2017-12-17 17:43:20 -06:00
Gregory Nutt
7ca9e8c376 Eliminate another warning. 2017-12-17 16:51:20 -06:00
Gregory Nutt
0e6e05bf11 arch/arm/src/kinetis: Fix some compile warnings that I introduced with a possibly overzealous recent change. 2017-12-17 16:26:03 -06:00
Gregory Nutt
87252297d6 arch/arm/src/: Fix a error in last commit that was cloned in three places. 2017-12-17 14:38:20 -06:00
Gregory Nutt
b8ea9e9c64 arch/arm/src/lpc17xx, lpc43xx, and stm32: Fix some compile warnings that I introduced with a possibly overzealous recent change. 2017-12-17 14:29:55 -06:00
Gregory Nutt
664484bf5b configs/indium/include/board.h: Remove extra endif 2017-12-16 19:29:58 -06:00
Gregory Nutt
3dfe0f309c arch/arm/src/lpc54xx: Add WWDT header file. 2017-12-16 17:50:59 -06:00
Gregory Nutt
de4fc5864f arch/arm/src/lpc54xx: Fix some GPIO interrupt configuration errors. Add logic to acknowledge rising/falling edge events. config/lpcxpresso-lpc545628: Add an intermediate interrupt handler to support acknowledgement of rising and falling edge interrupts. 2017-12-16 15:34:41 -06:00
Gregory Nutt
5a12079e53 arch/arm/src/lpc54xx: Implement GPIO interrupt support. configs/lpcxpress-lpc54628: Add support for the USER button. Enable the apps/examples/button test in the NSH configuration. 2017-12-16 13:00:06 -06:00
Bob Feretich
83b382e906 arch/arm/src/stm32f7: Completes support for the STM32F72x/73x family. 2017-12-16 08:01:57 -06:00
Gregory Nutt
4c72f57273 arch/arm/src/lpc54xx: I2C now appears to be functional. Needs more testing. 2017-12-15 14:58:37 -06:00
Gregory Nutt
c8a8eb028f arch/arm/src/lpc54xx: Complete coding of the I2C driver. It is not yet functional and has not yet been seriously tested. config/lpcxpresso-lpc54628: Add support for I2C2 and for the I2C tool to the nsh configuration. 2017-12-15 11:38:55 -06:00
Gregory Nutt
9638f3f065 fs/fat: CONFIG_FAT_MAXFNAME may not exceed NAME_MAX (CONFIG_NAME_MAX) 2017-12-15 06:19:14 -06:00
Gregory Nutt
eed14e5eb1 arch/arm/src/lpc43xx: Add I2C stop logic. 2017-12-14 18:06:40 -06:00