svn commit: r50185 - head/en_US.ISO8859-1/htdocs/news/status
Benjamin Kaduk
bjk at FreeBSD.org
Thu Apr 20 04:06:35 UTC 2017
Author: bjk
Date: Thu Apr 20 04:06:34 2017
New Revision: 50185
URL: https://svnweb.freebsd.org/changeset/doc/50185
Log:
Add 2017Q1 entry on eMMC and SD card improvements from marius
Modified:
head/en_US.ISO8859-1/htdocs/news/status/report-2017-01-2017-03.xml
Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2017-01-2017-03.xml
==============================================================================
--- head/en_US.ISO8859-1/htdocs/news/status/report-2017-01-2017-03.xml Thu Apr 20 03:40:07 2017 (r50184)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2017-01-2017-03.xml Thu Apr 20 04:06:34 2017 (r50185)
@@ -954,4 +954,95 @@
<task>Submit the remaining fixes and drivers.</task>
</help>
</project>
+
+ <project cat='proj'>
+ <title>Support for eMMC flash and Faster SD Card Modes</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>Marius</given>
+ <common>Strobl</common>
+ </name>
+ <email>marius at FreeBSD.org</email>
+ </person>
+ </contact>
+
+ <body>
+ <p>In r315430, support for eMMC partitions has been added to
+ <tt>mmc(4)</tt> and <tt>mmcsd(4)</tt> in &os; 12. Besides the
+ user data area, i.e., the default partition, eMMC v4.41 and
+ later devices can additionally provide up to:</p>
+
+ <ul>
+ <li>1 enhanced user data area partition</li>
+
+ <li>2 boot partitions</li>
+
+ <li>1 RPMB (Replay Protected Memory Block) partition</li>
+
+ <li>4 general purpose partitions (optionally with a enhanced
+ or extended attribute)</li>
+ </ul>
+
+ <p>Apart from simply subdividing eMMC flash devices or having
+ UEFI code in the boot partition, as is done on some Intel NUCs,
+ another use case for partition support is the activation of
+ pseudo-SLC mode, which manufacturers of eMMC chips typically
+ associate with the enhanced user data area and/or the enhanced
+ attribute of general purpose partitions.</p>
+
+ <p>In order to be able to partition eMMC devices, r315430 also
+ added a Linux-compatible IOCTL interface to <tt>mmcsd(4)</tt>.
+ This allows for using the GNU <tt>mmc-utils</tt> (found in ports
+ as <tt>sysutils/mmc-utils</tt>) on &os;. Besides partitioning
+ eMMC devices, the <tt>mmc</tt> tool can also be used to query
+ for life time estimate and pre-EOL information of eMMC flash, as
+ well as to query some basic information from SD cards.</p>
+
+ <p>CAVEAT EMPTOR: Partitioning eMMC devices is a one-time
+ operation.</p>
+
+ <p>Additionally, in order to make eMMC flash devices more
+ usable, support for DDR (Dual Data Rate) bus speed mode at a
+ maximum of 52 MHz (DDR52) has been added to <tt>mmc(4)</tt>
+ and <tt>sdhci(4)</tt> in r315598, i.e., in &os; 12. Compared
+ to high speed mode (the previous maximum) at 52 MHz, DDR52
+ mode increases the performance of the tested eMMC chips from
+ ~45 MB/s to ~80 MB/s.</p>
+
+ <p>So far, support for DDR52 mode has been enabled for the eMMC
+ controllers found in Intel Apollo Lake, Bay Trail and Braswell
+ chipsets. Note, however, that the eMMC and SDHCI controllers
+ of the Apollo Lake variant occasionally lock up due to a
+ silicon bug (which is independent of running in DDR52 mode).
+ The only viable workaround for that problem appears to be the
+ implementation of support for ADMA2 mode in <tt>sdhci(4)</tt>
+ (currently, <tt>sdhci(4)</tt> supports the encumbered SDMA
+ mode only, or no DMA at all).</p>
+
+ <p>However, r315598 also already brought in infrastructure and
+ a fair amount of code for using even faster transfer modes with eMMC
+ devices and SD cards respectively, i.e., up to HS400ES with eMMC
+ and the UHS-I modes up to SDR104 with SD cards.</p>
+
+ <p>The intent is to merge these changes back to &os; 10 and 11.</p>
+ </body>
+
+ <help>
+ <task>Add support for eMMC HS200, HS400 and HS400ES transfer
+ modes.</task>
+
+ <task>Add support for SD card UHS-I transfer modes (SDR12 to
+ SDR104).</task>
+
+ <task>Make <tt>mmcsd(4)</tt> more robust and correctly follow
+ the relevant specifications for existing features, e.g.,
+ calculate and handle erase timeouts, do a <tt>SEND_STATUS</tt>
+ when CMD6 is invoked with an R1B response to the extent not
+ already fixed as part of r315430, get the remainder of the
+ existing code to properly check and handle return codes,
+ etc.</task>
+ </help>
+ </project>
</report>
More information about the svn-doc-all
mailing list