diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-05-29 15:36:48 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-05-29 15:36:48 +0000 |
commit | 45d32292cbec56be065622ae4c991f0cd2f4a9bd (patch) | |
tree | 5a03765cfc363ab13aee346235d77cb372e8ea60 /nuttx | |
parent | 667921a4e294fc5b8b9a99c889307c9f6c93ffae (diff) | |
download | nuttx-45d32292cbec56be065622ae4c991f0cd2f4a9bd.tar.gz nuttx-45d32292cbec56be065622ae4c991f0cd2f4a9bd.tar.bz2 nuttx-45d32292cbec56be065622ae4c991f0cd2f4a9bd.zip |
Prep for 0.4.7 releasenuttx-4.7
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1837 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx')
-rw-r--r-- | nuttx/ChangeLog | 7 | ||||
-rw-r--r-- | nuttx/Documentation/NuttX.html | 124 | ||||
-rw-r--r-- | nuttx/Documentation/NuttxPortingGuide.html | 3 | ||||
-rw-r--r-- | nuttx/ReleaseNotes | 26 | ||||
-rw-r--r-- | nuttx/TODO | 8 | ||||
-rw-r--r-- | nuttx/configs/README.txt | 1 | ||||
-rw-r--r-- | nuttx/configs/eagle100/httpd/defconfig | 3 | ||||
-rw-r--r-- | nuttx/configs/eagle100/nettest/defconfig | 3 | ||||
-rw-r--r-- | nuttx/configs/eagle100/nsh/defconfig | 3 | ||||
-rw-r--r-- | nuttx/configs/eagle100/ostest/defconfig | 3 | ||||
-rw-r--r-- | nuttx/configs/mcu123-lpc214x/nsh/defconfig | 3 | ||||
-rw-r--r-- | nuttx/configs/mcu123-lpc214x/ostest/defconfig | 3 | ||||
-rw-r--r-- | nuttx/configs/mcu123-lpc214x/usbserial/defconfig | 3 | ||||
-rw-r--r-- | nuttx/configs/mcu123-lpc214x/usbstorage/defconfig | 3 | ||||
-rw-r--r-- | nuttx/drivers/mmcsd/mmcsd_spi.c | 49 |
15 files changed, 90 insertions, 152 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index a21520a72..a314430d4 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -722,7 +722,7 @@ * sched/: pthread_create() must return a (non-negated) errno value on failure. * configs/eagle100/nsh: Add a NuttShell (NSH) configuration for the Eagle-100 -0.4.7 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> +0.4.7 2009-05-29 Gregory Nutt <spudmonkey@racsa.co.cr> * arch/arm/src/lm3s: Added an Ethernet driver for the LM3S6918 * configs/eagle100/nettest: Added an examples/nettest configuration for the @@ -747,9 +747,10 @@ it possible to build NuttX for the Eagle100 using CodeSourcery 2009q1 toolchain and the devkitARM GNU toolchain. * configs/mcu123-lpc214x/src: Corrected some logic in the LPC2148 SPI receive block - logic. Re-verified SDC ver1.x support with 1Gb Toshiba SDC, 1Gb PNY SDC, 2Gb SanDisk SDC, - and 4Gb Kingston SDHC. + logic. Re-verified SDC ver1.x support with 1Gb Toshiba SDC, 1Gb PNY SDC, and + 4Gb Kingston SDHC. There are CMD0 issues with the 2Gb SanDisk SDC on this board. * fs/fs_mount.c: Corrected error handling that could cause a deadlock on certain mount() failures. +0.4.8 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html index 4e651caa4..41f583fa5 100644 --- a/nuttx/Documentation/NuttX.html +++ b/nuttx/Documentation/NuttX.html @@ -401,7 +401,7 @@ <td><br></td> <td> <p> - <li>Generic driver for SPI-based MMC/SD cards.</li> + <li>Generic driver for SPI-based MMC/SD/SDH cards.</li> </p> </tr> <tr> @@ -687,8 +687,8 @@ </tr> </table> -<p><b>nuttx-0.4.6</b>. - The 38<sup>th</sup> release of NuttX (nuttx-0.4.6) is available for download +<p><b>nuttx-0.4.7</b>. + The 39<sup>th</sup> release of NuttX (nuttx-0.4.7) was made on May 29, 2009 and is available for download from the <a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a> website. The change log associated with the release is available <a href="#currentrelease">here</a>. @@ -696,20 +696,22 @@ These unreleased changes are listed <a href="#pendingchanges">here</a>. </p> <p> - The release features support for the <a href=" http://www.micromint.com/">Micromint</a> - Eagle-100 development board. - This board is based around, the Luminary LM3S6918 MCU. - This is the first ARM Cortex-M3 architecture supported by Nuttx. - This initial, basic port includes timer and serial console with configurations to execute the NuttX OS test and to run the <a href="NuttShell.html">NuttShell (NSH)</a>. - Work is still underway on this port and current plans are to have I2C, SSI, MMC/SD, and and Ethernet driver in the 0.4.7 release. + This release focuses on cleaning up and extending the Eagle100/LM3S6918 port released + in nuttx-0.4.6 and on improved MMC/SD support. New features include: + <ul> + <li> + Improved reliably and additional drivers for the Eagle-100 board (LM3S6918 + ARM Cortex-M3). Additional drivers include Ethernet, SSI, and support for + the on-board LEDs and microSD cards. + </li> + <li> + The SPI-based MMC/SD driver was extended to support SDHC Version 2.xx cards. + </li> + </ul> </p> <p> - Additional work was done on the MXADS i.MX1 port, however, that work has been set aside - until I complete work on the Eagle-100 (I also need to come up with a 3V power supply). -</p> -<p> - Other changes in this release include: Extensions to the SPI interface definition in order to handle 9-bit interfaces to displays. - Several bugs were fixed (see the <a href="#currentrelease">ChangeLog</a> for a complete list of changes). + In addition, this release includes several important bugfixes for the LM3S6918, the LPC2148, + the SPI-based MMC/SD driver, and to FAT32. See the ChangeLog for details of these bugfixes. </p> <table width ="100%"> @@ -866,11 +868,10 @@ </p> <p> <b>STATUS:</b> - This initial, basic release of this port has been verifed and included in NuttX - version 0.4.6. The basic port includes timer and serial console with configurations - to execute the NuttX OS test and to run the <a href="NuttShell.html">NuttShell (NSH)</a>. - Work is still underway on this port and current plans are to have I2C, SSI, MMC/SD, and - and Ethernet driver in the 0.4.7 release. + The initial, release of this port was included in NuttX version 0.4.6. + The current port includes timer, serial console, Ethernet, SSI, and microSD support. + There are working configurations the NuttX OS test, to run the <a href="NuttShell.html">NuttShell + (NSH)</a>, the NuttX networking test, and the uIP web server. </p> </td> </tr> @@ -1358,30 +1359,35 @@ Other memory: </table> <pre><ul> -nuttx-0.4.6 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> - - * Change SPI interface so that is can accomodate interfaces where the - number of bits per word is greater an 8 (such as with many 9-bit display - interfaces). -- this might have broken a few things which will need to - be retested! - * arch/arm/src/imx: Added i.MX SPI driver - * SPI: Add a method to set the number of bits per word. Also add an - alternative interface for so that (eventually) I can phase the sndblock - and recvblock methods and replace them with a single exchange method - * Build: objcopy fails with toolchains that use newer GCC and binutils. The - following arguments need to be included in the objcopy command line "-R .note - -R .note.gnu.build-id -R .comment" This has bin fixed in arch/arm/src/Makefile, - but other architectures may have the same problem. Thanks to Dave Marples - for verifying this. - * configs/eagle100/ostest: Added support for the MicroMint Eagle100 board. - This board has a Luminary LM3S6918 Cortex-M3. Added a configuration to build - examples/ostest. - * arch/arm/src/lpc214x: Add configuration option to enable fast GPIO (vs. - legacy, "slow" GPIO) for LPC214x. - * arch/arm: Restructured the arch/arm directory structure to better suppor ARM - and Cortex-M3. - * sched/: pthread_create() must return a (non-negated) errno value on failure. - * configs/eagle100/nsh: Add a NuttShell (NSH) configuration for the Eagle-100 +nuttx-0.4.7 2009-05-29 Gregory Nutt <spudmonkey@racsa.co.cr> + + * arch/arm/src/lm3s: Added an Ethernet driver for the LM3S6918 + * configs/eagle100/nettest: Added an examples/nettest configuration for the + Micromint Eagle100 board. + * Documentation/NuttxPortingGuide.html: Added a section on NuttX device drivers. + * configs/eagle100/httpd: Added an examples/uip configuration for the + Micromint Eagle100 board. + * arch/arm/src/lm3s: Added an SSI driver for the LM3S6918 + * examples/nsh: Added MMC/SD support for the LM3S6918 + * arch/arm/src/lm3s: Fix logic for setting and clearing output GPIOs (critical + fix!). + * drivers/mmcsd: Found numerous errors in current MMC/SD SPI driver. Bad frequency + calculation based on CSD settings, inappropriate timeouts, odd code that looks like + a bad search and replace. Also needs support for SDHC ver 2.x. New MMC/SD is + largely redesigned and probably non-functional in the first check-in. + * drivers/mmcsd: Changes verified on 4Gb Kingston microSHDC card and on a 2Gb + SanDisk microSDC card on the Eagle100 platform. + * fs/fat: With the 4Gb card, the first tests of FAT32 were (finally) performed. + Found and corrected a problem that prevented use of FAT32: It was not updating + the sector cache before checking the FAT32 FSINFO sector. + * configs/eagle100/*/Make.defs: Added configuration options that should make + it possible to build NuttX for the Eagle100 using CodeSourcery 2009q1 toolchain + and the devkitARM GNU toolchain. + * configs/mcu123-lpc214x/src: Corrected some logic in the LPC2148 SPI receive block + logic. Re-verified SDC ver1.x support with 1Gb Toshiba SDC, 1Gb PNY SDC, and + 4Gb Kingston SDHC. There are CMD0 issues with the 2Gb SanDisk SDC on this board. + * fs/fs_mount.c: Corrected error handling that could cause a deadlock on certain + mount() failures. pascal-0.1.2 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr> @@ -1412,35 +1418,7 @@ buildroot-0.1.5 2009-04-25 <spudmonkey@racsa.co.cr> </table> <pre><ul> -nuttx-0.4.7 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> - - * arch/arm/src/lm3s: Added an Ethernet driver for the LM3S6918 - * configs/eagle100/nettest: Added an examples/nettest configuration for the - Micromint Eagle100 board. - * Documentation/NuttxPortingGuide.html: Added a section on NuttX device drivers. - * configs/eagle100/httpd: Added an examples/uip configuration for the - Micromint Eagle100 board. - * arch/arm/src/lm3s: Added an SSI driver for the LM3S6918 - * examples/nsh: Added MMC/SD support for the LM3S6918 - * arch/arm/src/lm3s: Fix logic for setting and clearing output GPIOs (critical - fix!). - * drivers/mmcsd: Found numerous errors in current MMC/SD SPI driver. Bad frequency - calculation based on CSD settings, inappropriate timeouts, odd code that looks like - a bad search and replace. Also needs support for SDHC ver 2.x. New MMC/SD is - largely redesigned and probably non-functional in the first check-in. - * drivers/mmcsd: Changes verified on 4Gb Kingston microSHDC card and on a 2Gb - SanDisk microSDC card on the Eagle100 platform. - * fs/fat: With the 4Gb card, the first tests of FAT32 were (finally) performed. - Found and corrected a problem that prevented use of FAT32: It was not updating - the sector cache before checking the FAT32 FSINFO sector. - * configs/eagle100/*/Make.defs: Added configuration options that should make - it possible to build NuttX for the Eagle100 using CodeSourcery 2009q1 toolchain - and the devkitARM GNU toolchain. - * configs/mcu123-lpc214x/src: Corrected some logic in the LPC2148 SPI receive block - logic. Re-verified SDC ver1.x support with 1Gb Toshiba SDC, 1Gb PNY SDC, 2Gb SanDisk SDC, - and 4Gb Kingston SDHC. - * fs/fs_mount.c: Corrected error handling that could cause a deadlock on certain - mount() failures. +nuttx-0.4.8 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> pascal-0.1.3 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> diff --git a/nuttx/Documentation/NuttxPortingGuide.html b/nuttx/Documentation/NuttxPortingGuide.html index 6ab70d961..b2eb55d04 100644 --- a/nuttx/Documentation/NuttxPortingGuide.html +++ b/nuttx/Documentation/NuttxPortingGuide.html @@ -2183,9 +2183,6 @@ extern void up_ledoff(int led); <li> <code>CONFIG_MMCSD_SPICLOCK</code>: Maximum SPI clock to drive MMC/SD card. Default is 20MHz. </li> - <li> - <code>CONFIG_MMCSD_SYNCHRONIZE</code>: Special synchronization logic needed - </li> </ul> <h2>Network Support</h2> diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes index 5900c4f3b..870c7a910 100644 --- a/nuttx/ReleaseNotes +++ b/nuttx/ReleaseNotes @@ -884,3 +884,29 @@ in order to handle 9-bit interfaces to displays. Several bugs were fixed (see t ChangeLog for a complete list of changes). This tarball contains a complete CVS snapshot from May 19, 2009. + +nuttx-0.4.7 +^^^^^^^^^^^ + +This is the 39th release of NuttX. This release focuses on cleaning up and +extending the Eagle100/LM3S6918 port released in nuttx-0.4.6 and on improved +MMC/SD support. New features include: + + o Improved reliably and additional drivers for the Eagle-100 board (LM3S6918 + ARM Cortex-M3). Additional drivers include Ethernet, SSI, and support for + the on-board LEDs and microSD cards. + o The SPI-based MMC/SD driver was extended to support SDHC Version 2.xx cards. + +In addition, this release includes several important bugfixes for the LM3S6918, +the LPC2148, the SPI-based MMC/SD driver, and to FAT32. See the ChangeLog for +details of these bugfixes. + +This tarball contains a complete CVS snapshot from May 19, 2009. + + + + + + + + diff --git a/nuttx/TODO b/nuttx/TODO index 3e3ea0944..33d0e25be 100644 --- a/nuttx/TODO +++ b/nuttx/TODO @@ -22,7 +22,7 @@ NuttX TODO List (Last updated April 12, 2009) (1) ARM/C5471 (arch/arm/src/c5471/) (3) ARM/DM320 (arch/arm/src/dm320/) (2) ARM/i.MX (arch/arm/src/imx/) - (3) ARM/LPC214x (arch/arm/src/lpc214x/) + (8) ARM/LPC214x (arch/arm/src/lpc214x/) (4) ARM/STR71x (arch/arm/src/str71x/) (1) ARM/LM3S6918 (arch/arm/src/lm3s/) (4) pjrc-8052 / MCS51 (arch/pjrc-8051/) @@ -511,6 +511,12 @@ o ARM/LPC214x (arch/arm/src/lpc214x/) Status: Open Priority: Medium + Desription: I am unable to initialize a 2Gb SanDisk microSD card (in adaptor) on the + the mcu123 board. The card fails to accept CMD0. Doesn't seem like a software + issue, but if anyone else sees the problem, I'd like to know. + Status: Open + Priority: Uncertain + o ARM/STR71x (arch/arm/src/str71x/) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/nuttx/configs/README.txt b/nuttx/configs/README.txt index 5443eb75e..36c422f46 100644 --- a/nuttx/configs/README.txt +++ b/nuttx/configs/README.txt @@ -287,7 +287,6 @@ defconfig -- This is a configuration file similar to the Linux Read/Write CONFIG_MMCSD_SPICLOCK - Maximum SPI clock to drive MMC/SD card. Default is 20MHz. - CONFIG_MMCSD_SYNCHRONIZE - Special synchronization logic needed TCP/IP and UDP support via uIP CONFIG_NET - Enable or disable all network features diff --git a/nuttx/configs/eagle100/httpd/defconfig b/nuttx/configs/eagle100/httpd/defconfig index 9c42f6583..8f410917d 100644 --- a/nuttx/configs/eagle100/httpd/defconfig +++ b/nuttx/configs/eagle100/httpd/defconfig @@ -359,13 +359,10 @@ CONFIG_FS_ROMFS=n # Provide read-only access (default is read/write) # CONFIG_MMCSD_SPICLOCK - Maximum SPI clock to drive MMC/SD card. # Default is 20MHz. -# CONFIG_MMCSD_SYNCHRONIZE -# Special synchronization logic needed # CONFIG_MMCSD_NSLOTS=1 CONFIG_MMCSD_READONLY=n CONFIG_MMCSD_SPICLOCK=12500000 -CONFIG_MMCSD_SYNCHRONIZE=n # # TCP/IP and UDP support via uIP diff --git a/nuttx/configs/eagle100/nettest/defconfig b/nuttx/configs/eagle100/nettest/defconfig index 8b501a9d1..96d82f693 100644 --- a/nuttx/configs/eagle100/nettest/defconfig +++ b/nuttx/configs/eagle100/nettest/defconfig @@ -359,13 +359,10 @@ CONFIG_FS_ROMFS=n # Provide read-only access (default is read/write) # CONFIG_MMCSD_SPICLOCK - Maximum SPI clock to drive MMC/SD card. # Default is 20MHz. -# CONFIG_MMCSD_SYNCHRONIZE -# Special synchronization logic needed # CONFIG_MMCSD_NSLOTS=1 CONFIG_MMCSD_READONLY=n CONFIG_MMCSD_SPICLOCK=12500000 -CONFIG_MMCSD_SYNCHRONIZE=n # # TCP/IP and UDP support via uIP diff --git a/nuttx/configs/eagle100/nsh/defconfig b/nuttx/configs/eagle100/nsh/defconfig index 6bd803948..cbd62632f 100644 --- a/nuttx/configs/eagle100/nsh/defconfig +++ b/nuttx/configs/eagle100/nsh/defconfig @@ -358,13 +358,10 @@ CONFIG_FS_ROMFS=n # Provide read-only access (default is read/write) # CONFIG_MMCSD_SPICLOCK - Maximum SPI clock to drive MMC/SD card. # Default is 20MHz. -# CONFIG_MMCSD_SYNCHRONIZE -# Special synchronization logic needed # CONFIG_MMCSD_NSLOTS=1 CONFIG_MMCSD_READONLY=n CONFIG_MMCSD_SPICLOCK=12500000 -CONFIG_MMCSD_SYNCHRONIZE=n # # TCP/IP and UDP support via uIP diff --git a/nuttx/configs/eagle100/ostest/defconfig b/nuttx/configs/eagle100/ostest/defconfig index 2abbbb648..066703054 100644 --- a/nuttx/configs/eagle100/ostest/defconfig +++ b/nuttx/configs/eagle100/ostest/defconfig @@ -358,13 +358,10 @@ CONFIG_FS_ROMFS=n # Provide read-only access (default is read/write) # CONFIG_MMCSD_SPICLOCK - Maximum SPI clock to drive MMC/SD card. # Default is 20MHz. -# CONFIG_MMCSD_SYNCHRONIZE -# Special synchronization logic needed # CONFIG_MMCSD_NSLOTS=1 CONFIG_MMCSD_READONLY=n CONFIG_MMCSD_SPICLOCK=12500000 -CONFIG_MMCSD_SYNCHRONIZE=n # # TCP/IP and UDP support via uIP diff --git a/nuttx/configs/mcu123-lpc214x/nsh/defconfig b/nuttx/configs/mcu123-lpc214x/nsh/defconfig index fd55a8f22..c84aad6df 100644 --- a/nuttx/configs/mcu123-lpc214x/nsh/defconfig +++ b/nuttx/configs/mcu123-lpc214x/nsh/defconfig @@ -309,13 +309,10 @@ CONFIG_FS_ROMFS=n # Provide read-only access (default is read/write) # CONFIG_MMCSD_SPICLOCK - Maximum SPI clock to drive MMC/SD card. # Default is 20MHz. -# CONFIG_MMCSD_SYNCHRONIZE -# Special synchronization logic needed # CONFIG_MMCSD_NSLOTS=1 CONFIG_MMCSD_READONLY=n #CONFIG_MMCSD_SPICLOCK=20000000 -CONFIG_MMCSD_SYNCHRONIZE=y # # SPI-based MMC/SD driver diff --git a/nuttx/configs/mcu123-lpc214x/ostest/defconfig b/nuttx/configs/mcu123-lpc214x/ostest/defconfig index 28dac142b..ad5da5d30 100644 --- a/nuttx/configs/mcu123-lpc214x/ostest/defconfig +++ b/nuttx/configs/mcu123-lpc214x/ostest/defconfig @@ -305,13 +305,10 @@ CONFIG_FS_ROMFS=n # Provide read-only access (default is read/write) # CONFIG_MMCSD_SPICLOCK - Maximum SPI clock to drive MMC/SD card. # Default is 20MHz. -# CONFIG_MMCSD_SYNCHRONIZE -# Special synchronization logic needed # CONFIG_MMCSD_NSLOTS=1 CONFIG_MMCSD_READONLY=n #CONFIG_MMCSD_SPICLOCK=20000000 -CONFIG_MMCSD_SYNCHRONIZE=y # # TCP/IP and UDP support via uIP diff --git a/nuttx/configs/mcu123-lpc214x/usbserial/defconfig b/nuttx/configs/mcu123-lpc214x/usbserial/defconfig index 445cbac4e..0d95664cb 100644 --- a/nuttx/configs/mcu123-lpc214x/usbserial/defconfig +++ b/nuttx/configs/mcu123-lpc214x/usbserial/defconfig @@ -310,13 +310,10 @@ CONFIG_FS_ROMFS=n # Provide read-only access (default is read/write) # CONFIG_MMCSD_SPICLOCK - Maximum SPI clock to drive MMC/SD card. # Default is 20MHz. -# CONFIG_MMCSD_SYNCHRONIZE -# Special synchronization logic needed # CONFIG_MMCSD_NSLOTS=1 CONFIG_MMCSD_READONLY=n #CONFIG_MMCSD_SPICLOCK=20000000 -CONFIG_MMCSD_SYNCHRONIZE=y # # TCP/IP and UDP support via uIP diff --git a/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig b/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig index da601a98f..3cf08afc2 100644 --- a/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig +++ b/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig @@ -310,13 +310,10 @@ CONFIG_FS_ROMFS=n # Provide read-only access (default is read/write) # CONFIG_MMCSD_SPICLOCK - Maximum SPI clock to drive MMC/SD card. # Default is 20MHz. -# CONFIG_MMCSD_SYNCHRONIZE -# Special synchronization logic needed # CONFIG_MMCSD_NSLOTS=1 CONFIG_MMCSD_READONLY=n #CONFIG_MMCSD_SPICLOCK=20000000 -CONFIG_MMCSD_SYNCHRONIZE=y # # TCP/IP and UDP support via uIP diff --git a/nuttx/drivers/mmcsd/mmcsd_spi.c b/nuttx/drivers/mmcsd/mmcsd_spi.c index cadf8bbd8..cd0870616 100644 --- a/nuttx/drivers/mmcsd/mmcsd_spi.c +++ b/nuttx/drivers/mmcsd/mmcsd_spi.c @@ -168,9 +168,6 @@ static void mmcsd_semtake(sem_t *sem); /* Card SPI interface *******************************************************/ -#ifdef CONFIG_MMCSD_SYNCHRONIZE -static inline void mmcsd_synchronize(FAR struct mmcsd_slot_s *slot); -#endif static int mmcsd_waitready(FAR struct mmcsd_slot_s *slot); static uint32 mmcsd_sendcmd(FAR struct mmcsd_slot_s *slot, const struct mmcsd_cmdinfo_s *cmd, uint32 arg); @@ -347,38 +344,6 @@ static void mmcsd_semtake(sem_t *sem) #define mmcsd_semgive(sem) sem_post(sem) /**************************************************************************** - * Name: mmcsd_synchronize - * - * Description: - * Wait until the the card is no longer busy - * - * Assumptions: - * MMC/SD card already selected - * - ****************************************************************************/ - -#ifdef CONFIG_MMCSD_SYNCHRONIZE -static inline void mmcsd_synchronize(FAR struct mmcsd_slot_s *slot) -{ - FAR struct spi_dev_s *spi = slot->spi; - - /* De-select the MMCSD card */ - - SPI_SELECT(spi, SPIDEV_MMCSD, FALSE); - - /* Wait a bit */ - - SPI_SEND(spi, 0xff); - - /* Reselect the card */ - - SPI_SELECT(spi, SPIDEV_MMCSD, TRUE); -} -#else -# define mmcsd_synchronize(slot) /* No synchronization needed */ -#endif - -/**************************************************************************** * Name: mmcsd_waitready * * Description: @@ -848,7 +813,6 @@ static int mmcsd_getcardinfo(FAR struct mmcsd_slot_s *slot, ubyte *buffer, /* Send the CMD9 or CMD10 */ - mmcsd_synchronize(slot); result = mmcsd_sendcmd(slot, cmd, 0); if (result != MMCSD_SPIR1_OK) { @@ -1141,11 +1105,10 @@ static ssize_t mmcsd_read(FAR struct inode *inode, unsigned char *buffer, fvdbg("nbytes=%d byte offset=%d\n", nbytes, offset); } - /* Select the slave and synchronize */ + /* Select the slave */ mmcsd_semtake(&slot->sem); SPI_SELECT(spi, SPIDEV_MMCSD, TRUE); - mmcsd_synchronize(slot); /* Single or multiple block read? */ @@ -1303,11 +1266,10 @@ static ssize_t mmcsd_write(FAR struct inode *inode, const unsigned char *buffer, } mmcsd_dumpbuffer(buffer, nbytes); - /* Select the slave and synchronize */ + /* Select the slave */ mmcsd_semtake(&slot->sem); SPI_SELECT(spi, SPIDEV_MMCSD, TRUE); - mmcsd_synchronize(slot); /* Single or multiple block transfer? */ @@ -1597,11 +1559,9 @@ static int mmcsd_mediainitialize(FAR struct mmcsd_slot_s *slot) do { fvdbg("%d. Send CMD55/ACMD41\n", elapsed); - mmcsd_synchronize(slot); result = mmcsd_sendcmd(slot, &g_cmd55, 0); if (result == MMCSD_SPIR1_IDLESTATE || result == MMCSD_SPIR1_OK) { - mmcsd_synchronize(slot); result = mmcsd_sendcmd(slot, &g_acmd41, 1 << 30); if (result == MMCSD_SPIR1_OK) { @@ -1644,13 +1604,11 @@ static int mmcsd_mediainitialize(FAR struct mmcsd_slot_s *slot) /* Both the MMC card and the SD card support CMD55 */ fvdbg("Send CMD55/ACMD41\n"); - mmcsd_synchronize(slot); result = mmcsd_sendcmd(slot, &g_cmd55, 0); if (result == MMCSD_SPIR1_IDLESTATE || result == MMCSD_SPIR1_OK) { /* But ACMD41 is supported only on SD */ - mmcsd_synchronize(slot); result = mmcsd_sendcmd(slot, &g_acmd41, 0); if (result == MMCSD_SPIR1_IDLESTATE || result == MMCSD_SPIR1_OK) { @@ -1668,11 +1626,9 @@ static int mmcsd_mediainitialize(FAR struct mmcsd_slot_s *slot) if (IS_SD(slot->type)) { fvdbg("%d. Send CMD55/ACMD41\n", elapsed); - mmcsd_synchronize(slot); result = mmcsd_sendcmd(slot, &g_cmd55, 0); if (result == MMCSD_SPIR1_IDLESTATE || result == MMCSD_SPIR1_OK) { - mmcsd_synchronize(slot); result = mmcsd_sendcmd(slot, &g_acmd41, 0); if (result == MMCSD_SPIR1_OK) { @@ -1683,7 +1639,6 @@ static int mmcsd_mediainitialize(FAR struct mmcsd_slot_s *slot) else { fvdbg("%d. Send CMD1\n", i); - mmcsd_synchronize(slot); result = mmcsd_sendcmd(slot, &g_cmd1, 0); if (result == MMCSD_SPIR1_OK) { |