-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mmc: Add support for the Marvell Dove SDHCI controller
Implement an sdhci-pltfm driver for the controller found in the Marvell Dove SoC. Signed-off-by: Mike Rapoport <mike@compulab.co.il> CC: Saeed Bishara <saeed@marvell.com> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Chris Ball <cjb@laptop.org>
- Loading branch information
Mike Rapoport
authored and
Chris Ball
committed
Jan 9, 2011
1 parent
0c21e3a
commit 985b1aa
Showing
5 changed files
with
86 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
/* | ||
* sdhci-dove.c Support for SDHCI on Marvell's Dove SoC | ||
* | ||
* Author: Saeed Bishara <saeed@marvell.com> | ||
* Mike Rapoport <mike@compulab.co.il> | ||
* Based on sdhci-cns3xxx.c | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program; if not, write to the Free Software | ||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
*/ | ||
|
||
#include <linux/io.h> | ||
#include <linux/mmc/host.h> | ||
|
||
#include "sdhci.h" | ||
#include "sdhci-pltfm.h" | ||
|
||
static u16 sdhci_dove_readw(struct sdhci_host *host, int reg) | ||
{ | ||
u16 ret; | ||
|
||
switch (reg) { | ||
case SDHCI_HOST_VERSION: | ||
case SDHCI_SLOT_INT_STATUS: | ||
/* those registers don't exist */ | ||
return 0; | ||
default: | ||
ret = readw(host->ioaddr + reg); | ||
} | ||
return ret; | ||
} | ||
|
||
static u32 sdhci_dove_readl(struct sdhci_host *host, int reg) | ||
{ | ||
u32 ret; | ||
|
||
switch (reg) { | ||
case SDHCI_CAPABILITIES: | ||
ret = readl(host->ioaddr + reg); | ||
/* Mask the support for 3.0V */ | ||
ret &= ~SDHCI_CAN_VDD_300; | ||
break; | ||
default: | ||
ret = readl(host->ioaddr + reg); | ||
} | ||
return ret; | ||
} | ||
|
||
static struct sdhci_ops sdhci_dove_ops = { | ||
.read_w = sdhci_dove_readw, | ||
.read_l = sdhci_dove_readl, | ||
}; | ||
|
||
struct sdhci_pltfm_data sdhci_dove_pdata = { | ||
.ops = &sdhci_dove_ops, | ||
.quirks = SDHCI_QUIRK_NO_SIMULT_VDD_AND_POWER | | ||
SDHCI_QUIRK_NO_BUSY_IRQ | | ||
SDHCI_QUIRK_BROKEN_TIMEOUT_VAL | | ||
SDHCI_QUIRK_FORCE_DMA, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters