Commit Graph

224 Commits

Author SHA1 Message Date
Bob Feretich
17b6c7ba39 drivers/mmcsd/mmcsd_sdio.c: Fix an error that was causing SDIO multiple block transfers from achieving full performance. Also adds a feature controlled by CONFIG_SDIO_BLK_CALLBACK that bypasses the normal mechanism for obtaining sector data for transfer. 2018-07-20 09:55:33 -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
8fdbb1e0a4 Elimate use of the non-standard type systime_t and replace it the equivalent, standard type clock_t
Squashed commit of the following:

    sched:  Rename all use of system_t to clock_t.
    syscall:  Rename all use of system_t to clock_t.
    net:  Rename all use of system_t to clock_t.
    libs:  Rename all use of system_t to clock_t.
    fs:  Rename all use of system_t to clock_t.
    drivers:  Rename all use of system_t to clock_t.
    arch:  Rename all use of system_t to clock_t.
    include:  Remove definition of systime_t; rename all use of system_t to clock_t.
2018-06-16 12:16:13 -06:00
Michał Łyszczek
8de51543a4 Fix a few compilation errors. 2018-04-20 15:55:16 -06:00
Evgeniy Bobkov
7d36a81806 Fixes two bugs in multi-block SD-card operations on the STM32F7 platform. arch/arm/src/stm32f7: DBLOCKSIZE must be the size of SD-card block, not the total amount of transferred bytes. drivers/mmcsd: respect SDIO_CAPS_DMABEFOREWRITE on CMD25. 2018-01-16 12:41:02 -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
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
Gregory Nutt
9568600ab1 Squashed commit of the following:
This commit backs out most of commit b4747286b1.  That change was added because sem_wait() would sometimes cause cancellation points inappropriated.  But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.

    In the OS, all calls to sem_wait() changed to nxsem_wait().  nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.

    In all OS functions (not libraries), change sem_wait() to nxsem_wait().  This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.

    sched/semaphore:  Add the function nxsem_wait().  This is a new internal OS interface.  It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615 Squashed commit of the following:
sched/semaphore:  Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable.  Changed all references to sem_post in the OS to nxsem_post().

    sched/semaphore:  Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable.  Changed all references to sem_destroy() in the OS to nxsem_destroy().

    libc/semaphore and sched/semaphore:  Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable.  Changed all references to sem_setprotocol in the OS to nxsem_setprotocol().  sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552 Squashed commit of the following:
libc/semaphore:  Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable.  Changed all references to sem_getvalue in the OS to nxsem_getvalue().

    sched/semaphore:  Rename all internal private functions from sem_xyz to nxsem_xyz.  The sem_ prefix is (will be) reserved only for the application semaphore interfaces.

    libc/semaphore:  Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable.  Changed all references to sem_init in the OS to nxsem_init().

    sched/semaphore:  Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.

    sched/semaphoate:  Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
28637e644d Eliminate warning of unused global variables in certain configurations. 2017-08-12 16:33:34 -06:00
Julien Lecoeur
165ee0027a Eliminate a warning with arm-none-eabi-gcc 7.1.0 2017-07-06 08:32:51 -06:00
Gregory Nutt
e9a5477506 Add an instance argument to the SPIDEV definitions. 2017-04-29 12:26:52 -06:00
David Sidrane
11d1b2e636 Typo mmcsd/mmcsd_sdio.c 2017-02-13 13:24:47 -10:00
Marc Rechté
d501ffc563 Kinetis SDHC driver fixes. 2017-02-09 11:28:30 -06:00
Alan Carvalho de Assis
248d5d3185 MMC/SD SDIO: Some drivers need to start DMA before sending CMD24 and some AFTER 2017-02-09 11:13:05 -06:00
Gregory Nutt
764f503150 Remove duplicate setting for SDIO_DMA from drivers/mmcsd/Kconfig 2017-02-06 13:16:52 -06:00
Gregory Nutt
3dbdb3bb31 CONFIG_SDIO_DMA: Was been defined in several low-level architecute Kconfig files, but used at the highest levels in the code. Both are bad and both are fixed with this commit 2017-01-31 11:52:00 -06:00
Gregory Nutt
2a4791f4ee Removed dmasupported() method from the SDIO interface. That is now a bit in the cpapability set. 2017-01-31 09:51:15 -06:00
Gregory Nutt
9ac00a355f Add capabilities() method to SDIO interface. Remove CONFIG_SDIO_WIDTH_D1_ONLY. That should not be a global propertie, but rather a capability/limitation of single slot when there may be multiple slots. 2017-01-31 09:16:01 -06:00
Alan Carvalho de Assis
c482437325 MMCSD_SDIO: Only wait for card ejected if card detection is supported 2017-01-26 07:44:17 -06:00
Gregory Nutt
2d9668fbd2 Fix a typo in a comment 2017-01-12 16:24:41 -06:00
Gregory Nutt
4795d58e03 Back out most of 46dbbe837e. The order is correct -- or, rather, the order is the same as the order that response data is provided. Change the order will break all other drivers. 2016-12-15 07:16:24 -06:00
Gregory Nutt
ca92ecafa7 MMC/SD: Format changed from %d to %lu. Must cast argument to unsigned long to avoid crash on 64-bit machine. 2016-12-14 17:44:12 -06:00
Gregory Nutt
f4f32bc740 MMC/SD SDIO (again): This is really an endian-ness issue. Behavior should be different on big- vs little-endian machines. 2016-12-14 17:04:27 -06:00
Alan Carvalho de Assis
3c4a8d05b0 MMC/SD SDIO driver: Change the endianess order to read the return of long response command 2016-12-14 14:17:52 -06:00
Gregory Nutt
46dbbe837e rwbuffer.h moved from include/nuttx/ to include/nuttx/drivers. 2016-07-20 13:54:38 -06:00
Gregory Nutt
6fda036615 Eliminate a warning 2016-07-13 14:09:51 -06:00
Gregory Nutt
43eb04bb8f Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info(). 2016-06-20 11:59:15 -06:00
Gregory Nutt
efb02f2ef1 drivers/: Change some nerr() ERRORS to nwarn() WARNINGS. Anomolous network evernts are not errors. 2016-06-12 08:31:22 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9 Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO 2016-06-11 11:50:18 -06:00
Gregory Nutt
fd896330d8 Remove the final vestiges of up_spiinitialize() 2016-01-27 09:27:56 -06:00
Gregory Nutt
7edf921c5e Remove CONFIG_SPI_OWNBUS: Now it is not just a good idea, it is the law 2016-01-23 18:54:36 -06:00
Gregory Nutt
f6e49caba8 All SPI-based device drivers needs to call SPI_HWFEATURES() with zero in order to co-exist with drivers that use H/W features 2016-01-23 16:18:13 -06:00
Gregory Nutt
f348e68069 Update to use 64-bit timer when available 2016-01-21 11:54:26 -06:00
Gregory Nutt
b682190f52 Rename all head files in main NuttX repository with names like *internal.h, removing the internal 2015-12-29 17:31:17 -06:00
Gregory Nutt
cf14f8d1b5 drivers/: Fixes to spacing and alignement 2015-10-10 10:41:00 -06:00
Gregory Nutt
342f5fe33d Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Gregory Nutt
0476d8168a More missing semicolons after DEBUGASSERT 2015-05-27 13:32:39 -06:00
Gregory Nutt
2aa80e06f5 Remove executable flag from more .c and .h files 2015-04-09 08:20:57 -06:00
Gregory Nutt
e4d2822af8 Make some file section headers more consistent with standard 2015-04-08 07:15:32 -06:00
Gregory Nutt
8783526a5f Fix some bad logic when file system debug is turned on: Arguments to syslog were missing so that garbage was being printed. 2015-03-15 09:34:07 -06:00
Gregory Nutt
c5953bd0e9 Debugging and manuals (this one https://www.sdcard.org/downloads/pls/simplified_specs/part1_410.pdf
and this one https://www.sdcard.org/downloads/pls/simplified_specs/part1_410.pdf) shows that ACMD23
must be preceeded with CMD55 command as any other ACMD commands.

Also, after the block reading wait loop must be inserted before writing the next block of data to
the sd card

From Dmitry Nikolaev via Jussi Kivilinna
2015-03-13 07:26:16 -06:00
Gregory Nutt
82251ccf28 Cosmetic updates from code review 2015-03-04 06:51:56 -06:00
Gregory Nutt
83d6e6403c drivers/mmcsd/Kconfig: ARCH_HAVE_SDIOWAIT_WRCOMPLETE should not depend on MMCSD_SDIO 2015-01-09 07:21:43 -06:00
Gregory Nutt
089e001874 STM32 SDIO: CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE should not be available unless CONFIG_MMCSD_SDIO=y 2015-01-08 18:12:06 -06:00
Gregory Nutt
f787440a04 STM32 SDIO: Don't let architectures select CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE unless they have implemented SDIOWAIT_WRCOMPLETE 2015-01-08 17:47:34 -06:00
Gregory Nutt
1842525cc2 MMCSD SDIO: Add support for a new SDWAIT_WRCOMPLETE condition. The previous logic used a busy-wait loop to pool the card R1 start to determine when the card was ready for the next transfer. That busy-wait can be quite long -- hundreds of milliseconds. And alternative is to look the the SD D0 pin which will change state when the card is no longer busy.
This logic implements a change the avoids the busy-wait poll by reconfiguring the SD D0 pin as a GPIO interrupt, then waiting for the card to becom ready without taking up CPU cycles.

This change is conditioned on CONFIG_MMCSD_SDIOWATI_WRCOMPLETE and is currenlty only implemented for the STM32 SDIO driver.

From David Sidrane
2015-01-08 06:23:42 -06:00
Gregory Nutt
d7d759f7a7 Update everything under nuttx/drivers to use the corrected syslog interfaces 2014-10-08 10:18:58 -06:00
Gregory Nutt
1780810d3d Rename kmalloc to kmm_malloc for consistency 2014-08-31 17:26:36 -06:00
Gregory Nutt
54fa3b0b59 Rename kfree to kmm_free for consistency with other naming conventions 2014-08-31 17:04:02 -06:00
Gregory Nutt
9c80dfb31c Updated README file, cosmetic changes to comments and debug output 2014-07-30 10:19:09 -06:00
Gregory Nutt
be8fe9a311 Costmetic update to comments 2014-07-29 20:03:52 -06:00
Gregory Nutt
8516551e54 Add an MTD layer that will add read-ahead or write buffering to any MTD driver (incomplete) 2014-07-11 11:20:11 -06:00
Gregory Nutt
2abe0dd6dd Change all variadic macros to C99 style 2014-05-22 09:01:51 -06:00
Gregory Nutt
5d7da97a35 SDIO-based MMC/SD improvements from Bob Doiron 2014-04-21 17:15:42 -06:00
Gregory Nutt
056aed1274 Make sure that there is one space between while and condition 2014-04-12 13:09:48 -06:00
Gregory Nutt
303cc1902b Make sure that there is one space between if and condition 2014-04-12 12:53:19 -06:00
Gregory Nutt
27811d28f9 Cosmetic changes to comments and README 2014-04-07 15:28:04 -06:00
Gregory Nutt
6a524b5734 Enhanced the mmcdd_sdio driver to perform DMA preflight operations and fail DMA read/write requests that fail preflighting. From Mike Smith 2013-10-18 08:24:18 -06:00
Gregory Nutt
944e0fe81d Changes to stm32_dmacapable interfaces from Mike Smith 2013-10-18 08:06:23 -06:00
Gregory Nutt
773a693ee2 Cosmetic changes to comments and coding style fixes 2013-09-22 14:48:22 -06:00
Gregory Nutt
bc46b447dc Fix all occurrences of "the the" in documentation and comments 2013-08-27 09:40:19 -06:00
Gregory Nutt
dd3c682443 SAMA5: Some improvements to the HSCMI card removal/insertion logic 2013-08-11 11:13:11 -06:00
Gregory Nutt
82b528e0c8 Serial FIONREAD, FIONWRITE, and TERMIOS I/O processing from Mike Smith, Andrew Tridgell, and and Lorenz Meier 2013-08-10 19:14:05 -06:00
Gregory Nutt
97e13b33ab MMC/SD SDIO: Correct return values when multiple block transfers are suppressed. From Andrew Tridgell via Lorenz Meier 2013-08-10 18:29:22 -06:00
Gregory Nutt
da4cebf572 SAMA5: Fix HSMCI race condition. Now memory card interface is functional with DMA 2013-08-10 18:01:23 -06:00
Gregory Nutt
968b2553cd Rearrange configuration settings so that ARCH_HAVE_SDIO is moved to higher, sharable level 2013-08-10 09:06:53 -06:00
Gregory Nutt
ce9eb71495 SAMA5: A few early, easy bug fixes. The rest will all be difficult 2013-08-06 11:29:53 -06:00
Gregory Nutt
09faaccc02 Created new directories to hold SPI-related files 2013-07-01 08:11:54 -06:00
Gregory Nutt
a60e38e13a Fix error in MMC/SD SPI driver introduced with some recent changes; Update TODO list 2013-06-23 10:45:37 -06:00
Gregory Nutt
161af4bf33 MMC/SD SPI speed field is only used if CONFIG_SPI_OWNBUS is not defined 2013-06-17 18:27:25 -06:00
Gregory Nutt
b9ad057972 MMC/SD driver needs to manage SPI mode and data width as well 2013-06-17 12:31:24 -06:00
Gregory Nutt
dd2983e26a SAM MMCSD/SPI related changes 2013-06-15 17:00:52 -06:00
patacongo
d9992b32c7 LPC17 LCD driver is code complete and in need of testing
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5788 42af7a65-404d-4744-a932-0658087f49c3
2013-03-26 20:06:53 +00:00
patacongo
18ca1965b6 AT91SAM3 now supports kernel-mode heap; SAM3U-EK knsh configuration converted to use kconfig-frontends tool
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5726 42af7a65-404d-4744-a932-0658087f49c3
2013-03-10 19:31:10 +00:00
patacongo
7d20a67179 Fixes to STM32 SPI, USB MSC class driver, and MMC/SD SPI driver from Petteri Aimonen
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5688 42af7a65-404d-4744-a932-0658087f49c3
2013-02-28 17:34:57 +00:00
patacongo
153984b9c9 Several patches from Petteri Aimonen
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5625 42af7a65-404d-4744-a932-0658087f49c3
2013-02-08 15:28:07 +00:00
patacongo
4587760eee Additional patches from Petteri Aimonen for FAT, STM32 SPI, and AT25
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5593 42af7a65-404d-4744-a932-0658087f49c3
2013-02-01 15:32:39 +00:00
patacongo
ad430fc198 Add syslog.h; rename lib_rawprintf() to syslog()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5578 42af7a65-404d-4744-a932-0658087f49c3
2013-01-28 21:55:16 +00:00
patacongo
29cdbe6143 Beginnings of definitions for the LPC1788; convert olimex-lpc1766stk to use kconfig-frontends
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5533 42af7a65-404d-4744-a932-0658087f49c3
2013-01-18 16:37:37 +00:00
patacongo
8010efe1f5 Misc fixes for LM3S kconfig-frontends build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5472 42af7a65-404d-4744-a932-0658087f49c3
2013-01-02 14:02:07 +00:00
patacongo
afa9c90b38 Add board support at configs/zp214xpa for the The0.net ZP213X/4XPA board with the LPC2148; Add configurations sim/nxlines. convert mcu123-lpc214x/nsh to use the kconfig-frontends.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5465 42af7a65-404d-4744-a932-0658087f49c3
2012-12-28 23:40:54 +00:00
patacongo
e3712f62e6 ZNEO configurations updated to use ZDS-II version 5.0.1
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5400 42af7a65-404d-4744-a932-0658087f49c3
2012-11-29 16:48:29 +00:00
patacongo
2def0d877d A few native window build updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5387 42af7a65-404d-4744-a932-0658087f49c3
2012-11-25 20:58:39 +00:00
patacongo
4ee266d94b Centralized the definition of the INCDIR script in tools/Config.mk
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5346 42af7a65-404d-4744-a932-0658087f49c3
2012-11-13 20:24:30 +00:00
patacongo
bad470ae32 Fix apps/netutils/webclient build problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5317 42af7a65-404d-4744-a932-0658087f49c3
2012-11-06 16:59:45 +00:00
patacongo
8b5fb4c1f6 Patch to removed MMCSD NSLOTS warning from Freddie Chopin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5316 42af7a65-404d-4744-a932-0658087f49c3
2012-11-06 14:57:01 +00:00
patacongo
e162e760f7 Fixes for warnings from Freddie Chopin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5294 42af7a65-404d-4744-a932-0658087f49c3
2012-11-01 21:21:54 +00:00
patacongo
7a9457bb07 Email address change in nuttx/
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5145 42af7a65-404d-4744-a932-0658087f49c3
2012-09-13 18:32:24 +00:00
patacongo
08ea0ce740 Some error handling bugs noted by Ronen Vainish
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5122 42af7a65-404d-4744-a932-0658087f49c3
2012-09-09 22:24:52 +00:00
patacongo
d2ef49c64e More Shenzhou board logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5111 42af7a65-404d-4744-a932-0658087f49c3
2012-09-08 02:10:56 +00:00
patacongo
7b5b9fe825 SD card now works on the PIC32MX7 MMB board
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4799 42af7a65-404d-4744-a932-0658087f49c3
2012-06-03 16:09:59 +00:00
patacongo
a65d283e96 Fix some warnings and fix some simulator builds
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4688 42af7a65-404d-4744-a932-0658087f49c3
2012-05-02 15:36:19 +00:00
patacongo
1dc41e329b Kconfig update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4599 42af7a65-404d-4744-a932-0658087f49c3
2012-04-13 14:27:44 +00:00
patacongo
330b89ca0e Add kconfig documentation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4567 42af7a65-404d-4744-a932-0658087f49c3
2012-04-06 16:45:52 +00:00
patacongo
4b8c0c41c8 Adding skeleton Kconfig files (part 1 of 2)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4564 42af7a65-404d-4744-a932-0658087f49c3
2012-04-06 15:49:35 +00:00