]> git.baikalelectronics.ru Git - kernel.git/commit
mmc: core: eMMC bus width may not work on all platforms
authorPhilip Rakity <prakity@marvell.com>
Wed, 25 May 2011 01:14:58 +0000 (18:14 -0700)
committerChris Ball <cjb@laptop.org>
Wed, 25 May 2011 20:52:32 +0000 (16:52 -0400)
commit2d07ccfe6f9a6c959017db2dceaedf2b616d8dee
treeb36819e6b52c9fd939dd6c886af734cb6ccbc45f
parent10fc73ba100ce6d4e625eb0f2bc7db5e9f8f7945
mmc: core: eMMC bus width may not work on all platforms

CMD19 -- The offical way to validate bus widths from the JEDEC spec
does not work on all platforms.  Some platforms that use PCI/PCIe
to connect their SD controllers are known to fail.

If the quirk MMC_BUS_WIDTH_TEST is not defined we try to figure out
the bus width by reading the ext_csd at different bus widths and
compare this against the ext_csd read in 1 bit mode.  If no ext_csd
is available we default to 1 bit operations.

Code has been tested on mmp2 against 8 bit eMMC and Transcend 2GB
card that is known to not work in 4 bit mode.  The physical pins
on the card are not present to support 4 bit operation.

Signed-off-by: Philip Rakity <prakity@marvell.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/mmc.c