summaryrefslogtreecommitdiff
path: root/drivers/mmc
AgeCommit message (Collapse)Author
2010-01-20tegra: Dynamically control the card clock for SD memory devicesDeepesh Gujarathi
On certain embedded devices, leaving the card clock enabled on SD memory devices with no active transactions can increase power consumption. Enable this option to automatically disable the card clock after a transfer completes. Change-Id: I6da3388c1528bf1334c3534b7251a526812199f1
2009-12-21mmc: don't bug when EMBEDDED_MMC_START_OFFSET > CSD capacityGary King
for sector-addressed cards, the CSD capacity will generally be a small number, and this will often be less than the byte offset of the EMBEDDED_MMC_START_OFFSET. bugging in this case is wrong.
2009-12-21tegra: fix typos in / remove various debug printsGary King
removes some unnecessary status prints in tegra_udc.c and sdhci-tegra.c fixes the type in the tegra driver name in fsl_udc_core.c
2009-12-15tegra: use sdio_platform_data from tegra_devices.h, not sdio_pdataGary King
update sdhci driver to reflect correct typename Change-Id: I350196cdde9c52a8cac7e74d041a15a683f8bc1c
2009-12-14mmc: add MMC driver for NVIDIA Tegra SDIO DDKGary King
Adds an MMC driver for Tegra AP15 and AP16 SoCs using the NVIDIA Tegra SDIO DDK
2009-12-14mmc: Add SDHCI-compliant driver for NVIDIA Tegra SoCsGary King
Tegra's internal MMC controller is SDHCI compliant; this adds an SDHCI driver using NvOdm and NvRm APIs for managing board clocks Change-Id: I019feb4850dc262d8262723f39a34c08ef75fa19
2009-12-08sdhci: add controller-specific override query for max_clkGary King
on some (mostly SoC) controllers, the maximum clock speed reported by the controller may not be achievable on the platform. use a callback function to allow for greater flexibility for these systems
2009-12-08sdhci: move card detection interrupt logic into a callback functionGary King
enables platforms which do not support the standard card detection interrupt to trigger the card detection using a platform-specific handler
2009-12-08sdhci: add controller-specific set_clock callbackGary King
on platforms which support dynamic clock configuration, better performance and power may be obtained by calling a controller's set_clock routine rather than assuming that the input clock to the controller is always max_clk
2009-12-08sdhci: add BROKEN_CTRL_HISPD quirkGary King
don't change CTRL_HISPD bit after switching to high-speed mode on controllers which have this quirk
2009-12-08sdhci: add support for 8 bit data transfersGary King
2009-12-08sdhci: add ENABLE_INTERRUPT_AT_BLOCK_GAP quirkGary King
some controllers need to have INTERRUPT_AT_BLOCK_GAP enabled to detect card interrupts in SDIO mode
2009-12-08sdhci: add BROKEN_WRITE_PROTECT quirkGary King
call a host-specified callback function to detect card read-only status on hosts which do not detect the write protect flag correctly
2009-12-08mmc: add detection for MMC 4.4 boot sectorsGary King
properly unpacks the boot sector extension in MMC 4.4 CID responses
2009-12-07mmc: Add CONFIG_EMBEDDED_MMC_START_OFFSET configurationGary King
enables platforms to specify a non-zero offset for the MBR and kernel-visible file systems, for embedded systems which store proprietary data at the start of the eMMC device.
2009-12-07cherry-pick commit 9feae246963c648b212Gary King
mmc: add MMC_CAP_NONREMOVABLE host capability eMMC's are not removable, so unsafe resume is OK always. To permit this a new host capability MMC_CAP_NONREMOVABLE has been added and suspend / resume updated accordingly. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Acked-by: Matt Fleming <matt@console-pimps.org> Cc: Ian Molton <ian@mnementh.co.uk> Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com> Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com> Cc: Denis Karpov <ext-denis.2.karpov@nokia.com> Cc: Pierre Ossman <pierre@ossman.eu> Cc: Philip Langdale <philipl@overt.org> Cc: "Madhusudhan" <madhu.cr@ti.com> Cc: <linux-mmc@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Conflicts: include/linux/mmc/host.h
2009-12-07mmc: Accept EXT_CSD rev 1.3 since it is backwards compatible with 1.2Jarkko Lavinen
Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
2009-12-07Merge commit 'arm/2.6.28-arm' into android-tegra-2.6.29Gary King
Conflicts: MAINTAINERS arch/arm/Kconfig arch/arm/Makefile arch/arm/boot/compressed/head.S arch/arm/common/Makefile arch/arm/configs/realview-smp_defconfig arch/arm/configs/realview_defconfig arch/arm/configs/versatile_defconfig arch/arm/include/asm/elf.h arch/arm/include/asm/uaccess.h arch/arm/kernel/module.c arch/arm/kernel/signal.c arch/arm/mach-realview/Kconfig arch/arm/mach-realview/Makefile arch/arm/mach-realview/core.c arch/arm/mach-realview/core.h arch/arm/mach-realview/include/mach/board-pba8.h arch/arm/mach-realview/include/mach/debug-macro.S arch/arm/mach-realview/include/mach/hardware.h arch/arm/mach-realview/include/mach/irqs.h arch/arm/mach-realview/include/mach/memory.h arch/arm/mach-realview/include/mach/uncompress.h arch/arm/mach-realview/localtimer.c arch/arm/mach-realview/platsmp.c arch/arm/mach-realview/realview_eb.c arch/arm/mach-realview/realview_pb1176.c arch/arm/mach-realview/realview_pb11mp.c arch/arm/mach-realview/realview_pba8.c arch/arm/mm/Kconfig arch/arm/mm/copypage-v6.c arch/arm/mm/dma-mapping.c arch/arm/mm/proc-v7.S arch/arm/oprofile/op_model_mpcore.c arch/arm/tools/mach-types arch/arm/vfp/vfpmodule.c drivers/mtd/maps/integrator-flash.c drivers/net/smsc911x.c drivers/net/smsc911x.h
2009-10-09mmc: block: Resume multi-block reads after transient read errors.David Ding
Signed-off-by: Bentao Zou <bzou1@motorola.com> Signed-off-by: David Ding <david.j.ding@motorola.com> Signed-off-by: San Mehat <san@google.com>
2009-08-17mmc_block: do not DMA to stackBen Dooks
In the write recovery routine, the data to get from the card is allocated from the stack. The DMA mapping documentation says explicitly stack memory is not mappable by any of the DMA calls. Change to using kmalloc() to allocate the memory for the result from the card and then free it once we've finished with the transaction. [ Changed to GFP_KERNEL allocation - Pierre Ossman ] Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Pierre Ossman <pierre@ossman.eu> Signed-off-by: San Mehat <san@google.com>
2009-08-17mmc: mmc_rescan detects card change in one runSan Mehat
With this patch, mmc_rescan can detect the removal of an mmc card and the insertion of (possibly another) card in the same run. This means that a card change can be detected without having to call mmc_detect_change multiple times. This change generalises the core such that it can be easily used by hosts which provide a mechanism to detect only the presence of a card reader cover, which has to be taken off in order to insert a card. Other hosts ("card detect" or "MMC_CAP_NEEDS_POLL") each receive an event when a card is removed and when a card is inserted, so it is sufficient for them if mmc_rescan handles only one event at a time. "Cover detect" hosts, however, only receive events about the cover status. This means that between 2 subsequent events, both a card removal and a card insertion can occur. In this case, the pre-patch version of mmc_rescan would only detect the removal of the previous card but not the insertion of the new card. Signed-off-by: Jorg Schummer <ext-jorg.2.schummer@nokia.com> Signed-off-by: Pierre Ossman <pierre@ossman.eu> Signed-off-by: San Mehat <san@android.com> Conflicts: drivers/mmc/core/core.c Signed-off-by: San Mehat <san@google.com>
2009-08-17mmc: increase power up delayJosé M. Fernández
The TI controller on Toshiba Tecra M5 needs more time to power up or the cards will init incorrectly or not at all. Signed-off-by: José M. Fernández <josemariafg@gmail.com> Signed-off-by: Pierre Ossman <pierre@ossman.eu> Signed-off-by: San Mehat <san@google.com>
2009-08-17mmc_block: be prepared for oversized requestsPierre Ossman
The block layer does not support very low sector count restrictions so we need to be prepared to handle bigger requests than we can send directly to the controller. Problem found by Manuel Lauss. Signed-off-by: Pierre Ossman <pierre@ossman.eu> Signed-off-by: San Mehat <san@google.com>
2009-08-17mmc: During unsafe resume, select the right volatge for the cardBalaji Rao
During mmc unsafe resume, choose the right voltage for the card after powerup. Although this has not seen to cause trouble, it's the wrong behaviour. Signed-off-by: Balaji Rao <balajirrao@openmoko.org> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: San Mehat <san@google.com>
2009-08-17mmc: Add Extended CSD register to debugfsAdrian Hunter
Extended CSD is a MMC card register. As increasingly interesting fields are being added to Extended CSD, it is helpful to see its value. Note that SD cards do not have an Extended CSD register, so it is MMC only. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: San Mehat <san@google.com>
2009-08-17mmc: add MODALIAS linkage for MMC/SD devicesAndy Whitcroft
Currently we are using an explicit udev rule to trigger loading of the mmc-block module when an MMC or SD card is detected: SUBSYSTEM=="mmc", RUN+="/sbin/modprobe -Qba mmc-block" It makes much more sense for the mmc bus driver and the mmc-block module to share MODALIAS information so that they are linked automatically. There is no real information of use in the MMC system at the current time. All devices inserted require us to load the mmc-block device. Until such time as useful parameters exist simply reflect the module linkage via the module alias below: mmc:block Signed-off-by: Andy Whitcroft <apw@canonical.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: San Mehat <san@google.com>
2009-08-17mmc: delayed_work was never cancelledJorg Schummer
The delayed work item mmc_host.detect is now cancelled before flushing the work queue. This takes care of cases when delayed_work was scheduled for mmc_host.detect, but not yet placed in the work queue. Signed-off-by: Jorg Schummer <ext-jorg.2.schummer@nokia.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: San Mehat <san@google.com>
2009-07-30mmc: sdio: Claim host in sdio_reset_comm()Dmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2009-07-30Revert "mmc: mmcblk: Add new feature 'CONFIG_MMC_BLOCK_PARANOID_RESUME'"San Mehat
This reverts commit 5ca694dfd981a371e9b18cdd4a89c002ffaccbc5. Conflicts: drivers/mmc/card/Kconfig drivers/mmc/card/block.c Signed-off-by: San Mehat <san@google.com>
2009-07-30mmc: card: Add MMC_BLOCK_DEFERRED_RESUME option to KconfigSan Mehat
Signed-off-by: San Mehat <san@google.com>
2009-07-30mmc: mmcblk: Add support for deferred SD bus resumeSan Mehat
Signed-off-by: San Mehat <san@google.com>
2009-07-30mmc: core: Rework mmc_delayed_work wakelock so that the wakelock is only ↵San Mehat
extended if a card is added or removed. Signed-off-by: San Mehat <san@google.com>
2009-07-30mmc: core: Add deferred bus resume policy.San Mehat
A card driver can now specify that the underlying bus should *not* auto-resume with the rest of the system. This is useful for reducing resume latency as well as saving power when the card driver is not using the bus. In the future, we'll add support for manual suspend Signed-off-by: San Mehat <san@google.com>
2009-06-11sdio: fix sdio_reset_comm() error pathDmitry Shmidt
Signed-off-by: San Mehat <san@android.com>
2009-04-07mmc: sd: Remove debugging printkDima Zavin
Signed-off-by: Dima Zavin <dima@android.com>
2009-04-07mmc: core: Hold a wake lock accross delayed work + mmc rescanSan Mehat
Signed-off-by: San Mehat <san@android.com>
2009-04-07mmc: sd: Add retries in re-detectionSan Mehat
Signed-off-by: San Mehat <san@android.com>
2009-04-07mmc: mmcblk: Add new feature 'CONFIG_MMC_BLOCK_PARANOID_RESUME'San Mehat
With this feature enabled, mmcblk will check the card-status before issuing a transaction *only* after being resumed. This protectes us from issuing transactions before the sdcard is ready (which can occur if the host driver deferrs mmc_resume_host() to reduce resume latency) Signed-off-by: San Mehat <san@android.com>
2009-04-07mmc: sd: When resuming, try a little harder to init the cardSan Mehat
Signed-off-by: San Mehat <san@android.com>
2009-04-07mmc: Add new API call 'sdio_reset_comm' for resetting communication with an ↵San Mehat
SDIO device Signed-off-by: San Mehat <san@android.com>
2009-04-07trout: Add functions for WiFiDmitry Shmidt
2009-04-07mmc: Add concept of an 'embedded' SDIO device.San Mehat
This is required to support chips which use SDIO for signaling/ communication but do not implement the various card enumeration registers as required for full SD / SDIO cards. mmc: sdio: Fix bug where we're freeing the CIS tables we never allocated when using EMBEDDED_SDIO mmc: Add max_blksize to embedded SDIO data Signed-off-by: San Mehat <san@google.com>
2009-04-07mmc: sd: Add new CONFIG_MMC_PARANOID_SD_INIT for enabling retries during SD ↵San Mehat
detection Signed-off-by: San Mehat <san@google.com>
2009-03-12mmc: s3cmci: fix s3c2410_dma_config() arguments.Ben Dooks
The s3cmci driver is calling s3c2410_dma_config with incorrect data for the DCON register. The S3C2410_DCON_HWTRIG is implicit in the channel configuration and the device selection of S3C2410_DCON_CH0_SDI is incorrect as the DMA system may not select channel 0. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Acked-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-03-10Add a delay to the MMCI change notificationColin Tuckley
This is needed to allow the hardware to stabilise before reading the SD/MMC card. Signed-off-by: Colin Tuckley <colin.tuckley@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2009-03-08mmc: fix data timeout for SEND_EXT_CSDAdrian Hunter
Commit 0d3e0460f307e84904968aad6cff97bd688583d8 "MMC: CSD and CID timeout values" inadvertently broke the timeout for the MMC command SEND_EXT_CSD. This patch puts it back again. Depending on the characteristics of the controller, this bug may prevent the use of MMC cards. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
2009-03-02sdhci: Add NO_BUSY_IRQ quirk for Marvell CAFE host chipAndres Salomon
As described here: http://lkml.org/lkml/2009/2/20/265 The CAFE chip is broken due to commit e809517f6fa5803a5a1cd5602. Anton added a quirk here: http://lkml.org/lkml/2009/2/20/279 that fixes CAFE's problem. This adds the quirk for CAFE. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
2009-03-02sdhci: Add quirk for controllers with no end-of-busy IRQBen Dooks
The Samsung SDHCI (and FSL eSDHC) controller block seems to fail to generate an INT_DATA_END after the transfer has completed and the bus busy state finished. Changes in e809517f6fa5803a5a1cd56026f0e2190fc13d5c to use the new busy method are the cause of the behaviour change. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
2009-02-18Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: omap_hsmmc: Change while(); loops with finite version omap_hsmmc: recover from transfer failures omap_hsmmc: only MMC1 allows HCTL.SDVS != 1.8V omap_hsmmc: card detect irq bugfix sdhci: fix led naming mmc_test: fix basic read test s3cmci: Fix hangup in do_pio_write() Revert "sdhci: force high speed capability on some controllers" MMC: fix bug - SDHC card capacity not correct
2009-02-18atmel-mci: fix initialization of dma slave dataDan Williams
The conversion of atmel-mci to dma_request_channel missed the initialization of the channel dma_slave information. The filter_fn passed to dma_request_channel is responsible for initializing the channel's private data. This implementation has the additional benefit of enabling a generic client-channel data passing mechanism. Reviewed-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Acked-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>