* [PATCH v3 0/2] add support for the Marvell Dove SDHCI controller @ 2010-10-28 12:25 ` Mike Rapoport 0 siblings, 0 replies; 12+ messages in thread From: Mike Rapoport @ 2010-10-28 12:25 UTC (permalink / raw) To: linux-mmc; +Cc: linux-arm-kernel, Chris Ball, Saeed Bishara, Mike Rapoport These patches add support for the Marvell Dove SDHCI controller. v3 changes: * finally remove unneeded includes from the driver v2 changes: * rename drivers/mmc/host/sdhci-mv.c to drivers/mmc/host/sdhci-dove.c and update Kconfig and Makefile respectively * add dependancy on ARCH_DOVE * remove unneeded includes from the driver Mike Rapoport (2): MMC: add support for the Marvell Dove SDHCI controller [ARM] Dove: rename SDCHI devices to "sdhci-dove" arch/arm/mach-dove/common.c | 4 +- drivers/mmc/host/Kconfig | 13 +++++++ drivers/mmc/host/Makefile | 1 + drivers/mmc/host/sdhci-dove.c | 70 ++++++++++++++++++++++++++++++++++++++++ drivers/mmc/host/sdhci-pltfm.c | 3 ++ drivers/mmc/host/sdhci-pltfm.h | 1 + 6 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 drivers/mmc/host/sdhci-dove.c -- 1.7.3.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 0/2] add support for the Marvell Dove SDHCI controller @ 2010-10-28 12:25 ` Mike Rapoport 0 siblings, 0 replies; 12+ messages in thread From: Mike Rapoport @ 2010-10-28 12:25 UTC (permalink / raw) To: linux-arm-kernel These patches add support for the Marvell Dove SDHCI controller. v3 changes: * finally remove unneeded includes from the driver v2 changes: * rename drivers/mmc/host/sdhci-mv.c to drivers/mmc/host/sdhci-dove.c and update Kconfig and Makefile respectively * add dependancy on ARCH_DOVE * remove unneeded includes from the driver Mike Rapoport (2): MMC: add support for the Marvell Dove SDHCI controller [ARM] Dove: rename SDCHI devices to "sdhci-dove" arch/arm/mach-dove/common.c | 4 +- drivers/mmc/host/Kconfig | 13 +++++++ drivers/mmc/host/Makefile | 1 + drivers/mmc/host/sdhci-dove.c | 70 ++++++++++++++++++++++++++++++++++++++++ drivers/mmc/host/sdhci-pltfm.c | 3 ++ drivers/mmc/host/sdhci-pltfm.h | 1 + 6 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 drivers/mmc/host/sdhci-dove.c -- 1.7.3.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/2] MMC: add support for the Marvell Dove SDHCI controller 2010-10-28 12:25 ` Mike Rapoport @ 2010-10-28 12:25 ` Mike Rapoport -1 siblings, 0 replies; 12+ messages in thread From: Mike Rapoport @ 2010-10-28 12:25 UTC (permalink / raw) To: linux-mmc; +Cc: linux-arm-kernel, Chris Ball, Saeed Bishara, Mike Rapoport Implement an sdhci-pltfm driver for the controller found on Marvell Dove SoC Signed-off-by: Mike Rapoport <mike@compulab.co.il> CC: Saeed Bishara <saeed@marvell.com> --- drivers/mmc/host/Kconfig | 13 +++++++ drivers/mmc/host/Makefile | 1 + drivers/mmc/host/sdhci-dove.c | 70 ++++++++++++++++++++++++++++++++++++++++ drivers/mmc/host/sdhci-pltfm.c | 3 ++ drivers/mmc/host/sdhci-pltfm.h | 1 + 5 files changed, 88 insertions(+), 0 deletions(-) create mode 100644 drivers/mmc/host/sdhci-dove.c diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index 68d1279..4958839 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -130,6 +130,19 @@ config MMC_SDHCI_CNS3XXX If unsure, say N. +config MMC_SDHCI_DOVE + bool "SDHCI support on Marvell's Dove SoC" + depends on ARCH_DOVE + depends on MMC_SDHCI_PLTFM + select MMC_SDHCI_IO_ACCESSORS + help + This selects the Secure Digital Host Controller Interface in + Marvell's Dove SoC. + + If you have a controller with this interface, say Y or M here. + + If unsure, say N. + config MMC_SDHCI_S3C tristate "SDHCI support on Samsung S3C SoC" depends on MMC_SDHCI && PLAT_SAMSUNG diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile index 840bcb5..9e1c418 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -40,6 +40,7 @@ obj-$(CONFIG_MMC_JZ4740) += jz4740_mmc.o obj-$(CONFIG_MMC_SDHCI_PLTFM) += sdhci-platform.o sdhci-platform-y := sdhci-pltfm.o sdhci-platform-$(CONFIG_MMC_SDHCI_CNS3XXX) += sdhci-cns3xxx.o +sdhci-platform-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o obj-$(CONFIG_MMC_SDHCI_OF) += sdhci-of.o sdhci-of-y := sdhci-of-core.o diff --git a/drivers/mmc/host/sdhci-dove.c b/drivers/mmc/host/sdhci-dove.c new file mode 100644 index 0000000..561167c --- /dev/null +++ b/drivers/mmc/host/sdhci-dove.c @@ -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, +}; diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c index e045e3c..28d818e 100644 --- a/drivers/mmc/host/sdhci-pltfm.c +++ b/drivers/mmc/host/sdhci-pltfm.c @@ -161,6 +161,9 @@ static const struct platform_device_id sdhci_pltfm_ids[] = { #ifdef CONFIG_MMC_SDHCI_CNS3XXX { "sdhci-cns3xxx", (kernel_ulong_t)&sdhci_cns3xxx_pdata }, #endif +#ifdef CONFIG_MMC_SDHCI_DOVE + { "sdhci-dove", (kernel_ulong_t)&sdhci_dove_pdata }, +#endif { }, }; MODULE_DEVICE_TABLE(platform, sdhci_pltfm_ids); diff --git a/drivers/mmc/host/sdhci-pltfm.h b/drivers/mmc/host/sdhci-pltfm.h index 900f329..718d837 100644 --- a/drivers/mmc/host/sdhci-pltfm.h +++ b/drivers/mmc/host/sdhci-pltfm.h @@ -14,5 +14,6 @@ #include <linux/sdhci-pltfm.h> extern struct sdhci_pltfm_data sdhci_cns3xxx_pdata; +extern struct sdhci_pltfm_data sdhci_dove_pdata; #endif /* _DRIVERS_MMC_SDHCI_PLTFM_H */ -- 1.7.3.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 1/2] MMC: add support for the Marvell Dove SDHCI controller @ 2010-10-28 12:25 ` Mike Rapoport 0 siblings, 0 replies; 12+ messages in thread From: Mike Rapoport @ 2010-10-28 12:25 UTC (permalink / raw) To: linux-arm-kernel Implement an sdhci-pltfm driver for the controller found on Marvell Dove SoC Signed-off-by: Mike Rapoport <mike@compulab.co.il> CC: Saeed Bishara <saeed@marvell.com> --- drivers/mmc/host/Kconfig | 13 +++++++ drivers/mmc/host/Makefile | 1 + drivers/mmc/host/sdhci-dove.c | 70 ++++++++++++++++++++++++++++++++++++++++ drivers/mmc/host/sdhci-pltfm.c | 3 ++ drivers/mmc/host/sdhci-pltfm.h | 1 + 5 files changed, 88 insertions(+), 0 deletions(-) create mode 100644 drivers/mmc/host/sdhci-dove.c diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index 68d1279..4958839 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -130,6 +130,19 @@ config MMC_SDHCI_CNS3XXX If unsure, say N. +config MMC_SDHCI_DOVE + bool "SDHCI support on Marvell's Dove SoC" + depends on ARCH_DOVE + depends on MMC_SDHCI_PLTFM + select MMC_SDHCI_IO_ACCESSORS + help + This selects the Secure Digital Host Controller Interface in + Marvell's Dove SoC. + + If you have a controller with this interface, say Y or M here. + + If unsure, say N. + config MMC_SDHCI_S3C tristate "SDHCI support on Samsung S3C SoC" depends on MMC_SDHCI && PLAT_SAMSUNG diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile index 840bcb5..9e1c418 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -40,6 +40,7 @@ obj-$(CONFIG_MMC_JZ4740) += jz4740_mmc.o obj-$(CONFIG_MMC_SDHCI_PLTFM) += sdhci-platform.o sdhci-platform-y := sdhci-pltfm.o sdhci-platform-$(CONFIG_MMC_SDHCI_CNS3XXX) += sdhci-cns3xxx.o +sdhci-platform-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o obj-$(CONFIG_MMC_SDHCI_OF) += sdhci-of.o sdhci-of-y := sdhci-of-core.o diff --git a/drivers/mmc/host/sdhci-dove.c b/drivers/mmc/host/sdhci-dove.c new file mode 100644 index 0000000..561167c --- /dev/null +++ b/drivers/mmc/host/sdhci-dove.c @@ -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, +}; diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c index e045e3c..28d818e 100644 --- a/drivers/mmc/host/sdhci-pltfm.c +++ b/drivers/mmc/host/sdhci-pltfm.c @@ -161,6 +161,9 @@ static const struct platform_device_id sdhci_pltfm_ids[] = { #ifdef CONFIG_MMC_SDHCI_CNS3XXX { "sdhci-cns3xxx", (kernel_ulong_t)&sdhci_cns3xxx_pdata }, #endif +#ifdef CONFIG_MMC_SDHCI_DOVE + { "sdhci-dove", (kernel_ulong_t)&sdhci_dove_pdata }, +#endif { }, }; MODULE_DEVICE_TABLE(platform, sdhci_pltfm_ids); diff --git a/drivers/mmc/host/sdhci-pltfm.h b/drivers/mmc/host/sdhci-pltfm.h index 900f329..718d837 100644 --- a/drivers/mmc/host/sdhci-pltfm.h +++ b/drivers/mmc/host/sdhci-pltfm.h @@ -14,5 +14,6 @@ #include <linux/sdhci-pltfm.h> extern struct sdhci_pltfm_data sdhci_cns3xxx_pdata; +extern struct sdhci_pltfm_data sdhci_dove_pdata; #endif /* _DRIVERS_MMC_SDHCI_PLTFM_H */ -- 1.7.3.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* RE: [PATCH v3 1/2] MMC: add support for the Marvell Dove SDHCI controller 2010-10-28 12:25 ` Mike Rapoport @ 2010-10-28 12:28 ` Saeed Bishara -1 siblings, 0 replies; 12+ messages in thread From: Saeed Bishara @ 2010-10-28 12:28 UTC (permalink / raw) To: Mike Rapoport, linux-mmc; +Cc: linux-arm-kernel, Chris Ball >-----Original Message----- >From: Mike Rapoport [mailto:mike@compulab.co.il] >Sent: Thursday, October 28, 2010 2:25 PM >To: linux-mmc@vger.kernel.org >Cc: linux-arm-kernel@lists.infradead.org; Chris Ball; Saeed >Bishara; Mike Rapoport >Subject: [PATCH v3 1/2] MMC: add support for the Marvell Dove >SDHCI controller > >Implement an sdhci-pltfm driver for the controller found on Marvell >Dove SoC > >Signed-off-by: Mike Rapoport <mike@compulab.co.il> >CC: Saeed Bishara <saeed@marvell.com> >--- > drivers/mmc/host/Kconfig | 13 +++++++ > drivers/mmc/host/Makefile | 1 + > drivers/mmc/host/sdhci-dove.c | 70 >++++++++++++++++++++++++++++++++++++++++ > drivers/mmc/host/sdhci-pltfm.c | 3 ++ > drivers/mmc/host/sdhci-pltfm.h | 1 + > 5 files changed, 88 insertions(+), 0 deletions(-) > create mode 100644 drivers/mmc/host/sdhci-dove.c > >diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig >index 68d1279..4958839 100644 >--- a/drivers/mmc/host/Kconfig >+++ b/drivers/mmc/host/Kconfig >@@ -130,6 +130,19 @@ config MMC_SDHCI_CNS3XXX > > If unsure, say N. > >+config MMC_SDHCI_DOVE >+ bool "SDHCI support on Marvell's Dove SoC" >+ depends on ARCH_DOVE >+ depends on MMC_SDHCI_PLTFM >+ select MMC_SDHCI_IO_ACCESSORS >+ help >+ This selects the Secure Digital Host Controller Interface in >+ Marvell's Dove SoC. >+ >+ If you have a controller with this interface, say Y or M here. >+ >+ If unsure, say N. >+ > config MMC_SDHCI_S3C > tristate "SDHCI support on Samsung S3C SoC" > depends on MMC_SDHCI && PLAT_SAMSUNG >diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile >index 840bcb5..9e1c418 100644 >--- a/drivers/mmc/host/Makefile >+++ b/drivers/mmc/host/Makefile >@@ -40,6 +40,7 @@ obj-$(CONFIG_MMC_JZ4740) += jz4740_mmc.o > obj-$(CONFIG_MMC_SDHCI_PLTFM) += sdhci-platform.o > sdhci-platform-y := sdhci-pltfm.o > sdhci-platform-$(CONFIG_MMC_SDHCI_CNS3XXX) += sdhci-cns3xxx.o >+sdhci-platform-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o > > obj-$(CONFIG_MMC_SDHCI_OF) += sdhci-of.o > sdhci-of-y := sdhci-of-core.o >diff --git a/drivers/mmc/host/sdhci-dove.c >b/drivers/mmc/host/sdhci-dove.c >new file mode 100644 >index 0000000..561167c >--- /dev/null >+++ b/drivers/mmc/host/sdhci-dove.c >@@ -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, >+}; >diff --git a/drivers/mmc/host/sdhci-pltfm.c >b/drivers/mmc/host/sdhci-pltfm.c >index e045e3c..28d818e 100644 >--- a/drivers/mmc/host/sdhci-pltfm.c >+++ b/drivers/mmc/host/sdhci-pltfm.c >@@ -161,6 +161,9 @@ static const struct platform_device_id >sdhci_pltfm_ids[] = { > #ifdef CONFIG_MMC_SDHCI_CNS3XXX > { "sdhci-cns3xxx", (kernel_ulong_t)&sdhci_cns3xxx_pdata }, > #endif >+#ifdef CONFIG_MMC_SDHCI_DOVE >+ { "sdhci-dove", (kernel_ulong_t)&sdhci_dove_pdata }, >+#endif > { }, > }; > MODULE_DEVICE_TABLE(platform, sdhci_pltfm_ids); >diff --git a/drivers/mmc/host/sdhci-pltfm.h >b/drivers/mmc/host/sdhci-pltfm.h >index 900f329..718d837 100644 >--- a/drivers/mmc/host/sdhci-pltfm.h >+++ b/drivers/mmc/host/sdhci-pltfm.h >@@ -14,5 +14,6 @@ > #include <linux/sdhci-pltfm.h> > > extern struct sdhci_pltfm_data sdhci_cns3xxx_pdata; >+extern struct sdhci_pltfm_data sdhci_dove_pdata; > > #endif /* _DRIVERS_MMC_SDHCI_PLTFM_H */ >-- >1.7.3.1 > > Looks fine to me ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/2] MMC: add support for the Marvell Dove SDHCI controller @ 2010-10-28 12:28 ` Saeed Bishara 0 siblings, 0 replies; 12+ messages in thread From: Saeed Bishara @ 2010-10-28 12:28 UTC (permalink / raw) To: linux-arm-kernel >-----Original Message----- >From: Mike Rapoport [mailto:mike at compulab.co.il] >Sent: Thursday, October 28, 2010 2:25 PM >To: linux-mmc at vger.kernel.org >Cc: linux-arm-kernel at lists.infradead.org; Chris Ball; Saeed >Bishara; Mike Rapoport >Subject: [PATCH v3 1/2] MMC: add support for the Marvell Dove >SDHCI controller > >Implement an sdhci-pltfm driver for the controller found on Marvell >Dove SoC > >Signed-off-by: Mike Rapoport <mike@compulab.co.il> >CC: Saeed Bishara <saeed@marvell.com> >--- > drivers/mmc/host/Kconfig | 13 +++++++ > drivers/mmc/host/Makefile | 1 + > drivers/mmc/host/sdhci-dove.c | 70 >++++++++++++++++++++++++++++++++++++++++ > drivers/mmc/host/sdhci-pltfm.c | 3 ++ > drivers/mmc/host/sdhci-pltfm.h | 1 + > 5 files changed, 88 insertions(+), 0 deletions(-) > create mode 100644 drivers/mmc/host/sdhci-dove.c > >diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig >index 68d1279..4958839 100644 >--- a/drivers/mmc/host/Kconfig >+++ b/drivers/mmc/host/Kconfig >@@ -130,6 +130,19 @@ config MMC_SDHCI_CNS3XXX > > If unsure, say N. > >+config MMC_SDHCI_DOVE >+ bool "SDHCI support on Marvell's Dove SoC" >+ depends on ARCH_DOVE >+ depends on MMC_SDHCI_PLTFM >+ select MMC_SDHCI_IO_ACCESSORS >+ help >+ This selects the Secure Digital Host Controller Interface in >+ Marvell's Dove SoC. >+ >+ If you have a controller with this interface, say Y or M here. >+ >+ If unsure, say N. >+ > config MMC_SDHCI_S3C > tristate "SDHCI support on Samsung S3C SoC" > depends on MMC_SDHCI && PLAT_SAMSUNG >diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile >index 840bcb5..9e1c418 100644 >--- a/drivers/mmc/host/Makefile >+++ b/drivers/mmc/host/Makefile >@@ -40,6 +40,7 @@ obj-$(CONFIG_MMC_JZ4740) += jz4740_mmc.o > obj-$(CONFIG_MMC_SDHCI_PLTFM) += sdhci-platform.o > sdhci-platform-y := sdhci-pltfm.o > sdhci-platform-$(CONFIG_MMC_SDHCI_CNS3XXX) += sdhci-cns3xxx.o >+sdhci-platform-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o > > obj-$(CONFIG_MMC_SDHCI_OF) += sdhci-of.o > sdhci-of-y := sdhci-of-core.o >diff --git a/drivers/mmc/host/sdhci-dove.c >b/drivers/mmc/host/sdhci-dove.c >new file mode 100644 >index 0000000..561167c >--- /dev/null >+++ b/drivers/mmc/host/sdhci-dove.c >@@ -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, >+}; >diff --git a/drivers/mmc/host/sdhci-pltfm.c >b/drivers/mmc/host/sdhci-pltfm.c >index e045e3c..28d818e 100644 >--- a/drivers/mmc/host/sdhci-pltfm.c >+++ b/drivers/mmc/host/sdhci-pltfm.c >@@ -161,6 +161,9 @@ static const struct platform_device_id >sdhci_pltfm_ids[] = { > #ifdef CONFIG_MMC_SDHCI_CNS3XXX > { "sdhci-cns3xxx", (kernel_ulong_t)&sdhci_cns3xxx_pdata }, > #endif >+#ifdef CONFIG_MMC_SDHCI_DOVE >+ { "sdhci-dove", (kernel_ulong_t)&sdhci_dove_pdata }, >+#endif > { }, > }; > MODULE_DEVICE_TABLE(platform, sdhci_pltfm_ids); >diff --git a/drivers/mmc/host/sdhci-pltfm.h >b/drivers/mmc/host/sdhci-pltfm.h >index 900f329..718d837 100644 >--- a/drivers/mmc/host/sdhci-pltfm.h >+++ b/drivers/mmc/host/sdhci-pltfm.h >@@ -14,5 +14,6 @@ > #include <linux/sdhci-pltfm.h> > > extern struct sdhci_pltfm_data sdhci_cns3xxx_pdata; >+extern struct sdhci_pltfm_data sdhci_dove_pdata; > > #endif /* _DRIVERS_MMC_SDHCI_PLTFM_H */ >-- >1.7.3.1 > > Looks fine to me ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to "sdhci-dove" 2010-10-28 12:25 ` Mike Rapoport @ 2010-10-28 12:25 ` Mike Rapoport -1 siblings, 0 replies; 12+ messages in thread From: Mike Rapoport @ 2010-10-28 12:25 UTC (permalink / raw) To: linux-mmc; +Cc: linux-arm-kernel, Chris Ball, Saeed Bishara, Mike Rapoport Signed-off-by: Mike Rapoport <mike@compulab.co.il> CC: Saeed Bishara <saeed@marvell.com> --- arch/arm/mach-dove/common.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c index f7a1258..fe627ab 100644 --- a/arch/arm/mach-dove/common.c +++ b/arch/arm/mach-dove/common.c @@ -770,7 +770,7 @@ static struct resource dove_sdio0_resources[] = { }; static struct platform_device dove_sdio0 = { - .name = "sdhci-mv", + .name = "sdhci-dove", .id = 0, .dev = { .dma_mask = &sdio_dmamask, @@ -798,7 +798,7 @@ static struct resource dove_sdio1_resources[] = { }; static struct platform_device dove_sdio1 = { - .name = "sdhci-mv", + .name = "sdhci-dove", .id = 1, .dev = { .dma_mask = &sdio_dmamask, -- 1.7.3.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to "sdhci-dove" @ 2010-10-28 12:25 ` Mike Rapoport 0 siblings, 0 replies; 12+ messages in thread From: Mike Rapoport @ 2010-10-28 12:25 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Mike Rapoport <mike@compulab.co.il> CC: Saeed Bishara <saeed@marvell.com> --- arch/arm/mach-dove/common.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c index f7a1258..fe627ab 100644 --- a/arch/arm/mach-dove/common.c +++ b/arch/arm/mach-dove/common.c @@ -770,7 +770,7 @@ static struct resource dove_sdio0_resources[] = { }; static struct platform_device dove_sdio0 = { - .name = "sdhci-mv", + .name = "sdhci-dove", .id = 0, .dev = { .dma_mask = &sdio_dmamask, @@ -798,7 +798,7 @@ static struct resource dove_sdio1_resources[] = { }; static struct platform_device dove_sdio1 = { - .name = "sdhci-mv", + .name = "sdhci-dove", .id = 1, .dev = { .dma_mask = &sdio_dmamask, -- 1.7.3.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* RE: [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to "sdhci-dove" 2010-10-28 12:25 ` Mike Rapoport @ 2010-10-28 12:28 ` Saeed Bishara -1 siblings, 0 replies; 12+ messages in thread From: Saeed Bishara @ 2010-10-28 12:28 UTC (permalink / raw) To: Mike Rapoport, linux-mmc; +Cc: linux-arm-kernel, Chris Ball >-----Original Message----- >From: Mike Rapoport [mailto:mike@compulab.co.il] >Sent: Thursday, October 28, 2010 2:25 PM >To: linux-mmc@vger.kernel.org >Cc: linux-arm-kernel@lists.infradead.org; Chris Ball; Saeed >Bishara; Mike Rapoport >Subject: [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to >"sdhci-dove" > >Signed-off-by: Mike Rapoport <mike@compulab.co.il> >CC: Saeed Bishara <saeed@marvell.com> >--- > arch/arm/mach-dove/common.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > >diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c >index f7a1258..fe627ab 100644 >--- a/arch/arm/mach-dove/common.c >+++ b/arch/arm/mach-dove/common.c >@@ -770,7 +770,7 @@ static struct resource dove_sdio0_resources[] = { > }; > > static struct platform_device dove_sdio0 = { >- .name = "sdhci-mv", >+ .name = "sdhci-dove", > .id = 0, > .dev = { > .dma_mask = &sdio_dmamask, >@@ -798,7 +798,7 @@ static struct resource dove_sdio1_resources[] = { > }; > > static struct platform_device dove_sdio1 = { >- .name = "sdhci-mv", >+ .name = "sdhci-dove", > .id = 1, > .dev = { > .dma_mask = &sdio_dmamask, >-- >1.7.3.1 > > Looks fine to me ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to "sdhci-dove" @ 2010-10-28 12:28 ` Saeed Bishara 0 siblings, 0 replies; 12+ messages in thread From: Saeed Bishara @ 2010-10-28 12:28 UTC (permalink / raw) To: linux-arm-kernel >-----Original Message----- >From: Mike Rapoport [mailto:mike at compulab.co.il] >Sent: Thursday, October 28, 2010 2:25 PM >To: linux-mmc at vger.kernel.org >Cc: linux-arm-kernel at lists.infradead.org; Chris Ball; Saeed >Bishara; Mike Rapoport >Subject: [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to >"sdhci-dove" > >Signed-off-by: Mike Rapoport <mike@compulab.co.il> >CC: Saeed Bishara <saeed@marvell.com> >--- > arch/arm/mach-dove/common.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > >diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c >index f7a1258..fe627ab 100644 >--- a/arch/arm/mach-dove/common.c >+++ b/arch/arm/mach-dove/common.c >@@ -770,7 +770,7 @@ static struct resource dove_sdio0_resources[] = { > }; > > static struct platform_device dove_sdio0 = { >- .name = "sdhci-mv", >+ .name = "sdhci-dove", > .id = 0, > .dev = { > .dma_mask = &sdio_dmamask, >@@ -798,7 +798,7 @@ static struct resource dove_sdio1_resources[] = { > }; > > static struct platform_device dove_sdio1 = { >- .name = "sdhci-mv", >+ .name = "sdhci-dove", > .id = 1, > .dev = { > .dma_mask = &sdio_dmamask, >-- >1.7.3.1 > > Looks fine to me ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to "sdhci-dove" 2010-10-28 12:28 ` Saeed Bishara @ 2010-10-28 14:49 ` saeed bishara -1 siblings, 0 replies; 12+ messages in thread From: saeed bishara @ 2010-10-28 14:49 UTC (permalink / raw) To: Saeed Bishara; +Cc: Mike Rapoport, linux-mmc, linux-arm-kernel, Chris Ball >>Subject: [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to please fix the typo in the subject SDHCI instead of SDCHI saeed ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to "sdhci-dove" @ 2010-10-28 14:49 ` saeed bishara 0 siblings, 0 replies; 12+ messages in thread From: saeed bishara @ 2010-10-28 14:49 UTC (permalink / raw) To: linux-arm-kernel >>Subject: [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to please fix the typo in the subject SDHCI instead of SDCHI saeed ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2010-10-28 14:49 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2010-10-28 12:25 [PATCH v3 0/2] add support for the Marvell Dove SDHCI controller Mike Rapoport 2010-10-28 12:25 ` Mike Rapoport 2010-10-28 12:25 ` [PATCH v3 1/2] MMC: " Mike Rapoport 2010-10-28 12:25 ` Mike Rapoport 2010-10-28 12:28 ` Saeed Bishara 2010-10-28 12:28 ` Saeed Bishara 2010-10-28 12:25 ` [PATCH v3 2/2] [ARM] Dove: rename SDCHI devices to "sdhci-dove" Mike Rapoport 2010-10-28 12:25 ` Mike Rapoport 2010-10-28 12:28 ` Saeed Bishara 2010-10-28 12:28 ` Saeed Bishara 2010-10-28 14:49 ` saeed bishara 2010-10-28 14:49 ` saeed bishara
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.