target/linux/xburst/patches-2.6.35/054-mmc.patch |
1 | | From 34e75141dfd8edae48030b61741c294fd0f952b1 Mon Sep 17 00:00:00 2001 |
| 1 | From 11bc6d97096ab89da31f628c89b19ff37dfdd526 Mon Sep 17 00:00:00 2001 |
2 | 2 | From: Lars-Peter Clausen <lars@metafoo.de> |
3 | 3 | Date: Thu, 15 Jul 2010 20:06:04 +0000 |
4 | 4 | Subject: [PATCH] MMC: Add support for the controller on JZ4740 SoCs. |
... | ... | |
16 | 16 | arch/mips/include/asm/mach-jz4740/jz4740_mmc.h | 15 + |
17 | 17 | drivers/mmc/host/Kconfig | 9 + |
18 | 18 | drivers/mmc/host/Makefile | 1 + |
19 | | drivers/mmc/host/jz4740_mmc.c | 1033 ++++++++++++++++++++++++ |
20 | | 4 files changed, 1058 insertions(+), 0 deletions(-) |
| 19 | drivers/mmc/host/jz4740_mmc.c | 1029 ++++++++++++++++++++++++ |
| 20 | 4 files changed, 1054 insertions(+), 0 deletions(-) |
21 | 21 | create mode 100644 arch/mips/include/asm/mach-jz4740/jz4740_mmc.h |
22 | 22 | create mode 100644 drivers/mmc/host/jz4740_mmc.c |
23 | 23 | |
| 24 | diff --git a/arch/mips/include/asm/mach-jz4740/jz4740_mmc.h b/arch/mips/include/asm/mach-jz4740/jz4740_mmc.h |
| 25 | new file mode 100644 |
| 26 | index 0000000..8543f43 |
24 | 27 | --- /dev/null |
25 | 28 | +++ b/arch/mips/include/asm/mach-jz4740/jz4740_mmc.h |
26 | 29 | @@ -0,0 +1,15 @@ |
... | ... | |
39 | 42 | +}; |
40 | 43 | + |
41 | 44 | +#endif |
| 45 | diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig |
| 46 | index f06d06e..d25e22c 100644 |
42 | 47 | --- a/drivers/mmc/host/Kconfig |
43 | 48 | +++ b/drivers/mmc/host/Kconfig |
44 | | @@ -457,3 +457,12 @@ config MMC_SH_MMCIF |
| 49 | @@ -432,3 +432,12 @@ config MMC_SH_MMCIF |
45 | 50 | This selects the MMC Host Interface controler (MMCIF). |
46 | 51 | |
47 | 52 | This driver supports MMCIF in sh7724/sh7757/sh7372. |
... | ... | |
54 | 59 | + SoCs. |
55 | 60 | + If you have a board based on such a SoC and with a SD/MMC slot, |
56 | 61 | + say Y or M here. |
| 62 | diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile |
| 63 | index e30c2ee..f4e53c9 100644 |
57 | 64 | --- a/drivers/mmc/host/Makefile |
58 | 65 | +++ b/drivers/mmc/host/Makefile |
59 | | @@ -37,6 +37,7 @@ obj-$(CONFIG_MMC_VIA_SDMMC) += via-sdmmc |
60 | | obj-$(CONFIG_GPIOMMC) += gpiommc.o |
| 66 | @@ -36,6 +36,7 @@ obj-$(CONFIG_MMC_CB710) += cb710-mmc.o |
| 67 | obj-$(CONFIG_MMC_VIA_SDMMC) += via-sdmmc.o |
61 | 68 | obj-$(CONFIG_SDH_BFIN) += bfin_sdh.o |
62 | 69 | obj-$(CONFIG_MMC_SH_MMCIF) += sh_mmcif.o |
63 | 70 | +obj-$(CONFIG_MMC_JZ4740) += jz4740_mmc.o |
64 | 71 | |
65 | 72 | obj-$(CONFIG_MMC_SDHCI_OF) += sdhci-of.o |
66 | 73 | sdhci-of-y := sdhci-of-core.o |
| 74 | diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c |
| 75 | new file mode 100644 |
| 76 | index 0000000..ad4f987 |
67 | 77 | --- /dev/null |
68 | 78 | +++ b/drivers/mmc/host/jz4740_mmc.c |
69 | | @@ -0,0 +1,1033 @@ |
| 79 | @@ -0,0 +1,1029 @@ |
70 | 80 | +/* |
71 | 81 | + * Copyright (C) 2009-2010, Lars-Peter Clausen <lars@metafoo.de> |
72 | 82 | + * JZ4740 SD/MMC controller driver |
... | ... | |
830 | 840 | +static int __devinit jz4740_mmc_request_cd_irq(struct platform_device *pdev, |
831 | 841 | + struct jz4740_mmc_host *host) |
832 | 842 | +{ |
833 | | + int ret; |
834 | 843 | + struct jz4740_mmc_platform_data *pdata = pdev->dev.platform_data; |
835 | 844 | + |
836 | | + if (gpio_is_valid(pdata->gpio_card_detect)) |
| 845 | + if (!gpio_is_valid(pdata->gpio_card_detect)) |
837 | 846 | + return 0; |
838 | 847 | + |
839 | 848 | + host->card_detect_irq = gpio_to_irq(pdata->gpio_card_detect); |
840 | | + |
841 | 849 | + if (host->card_detect_irq < 0) { |
842 | 850 | + dev_warn(&pdev->dev, "Failed to get card detect irq\n"); |
843 | 851 | + return 0; |
844 | 852 | + } |
| 853 | + |
845 | 854 | + return request_irq(host->card_detect_irq, jz4740_mmc_card_detect_irq, |
846 | 855 | + IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, |
847 | 856 | + "MMC card detect", host); |
848 | | + |
849 | | + |
850 | | + return ret; |
851 | 857 | +} |
852 | 858 | + |
853 | 859 | +static void jz4740_mmc_free_gpios(struct platform_device *pdev) |
... | ... | |
1100 | 1106 | +MODULE_DESCRIPTION("JZ4740 SD/MMC controller driver"); |
1101 | 1107 | +MODULE_LICENSE("GPL"); |
1102 | 1108 | +MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>"); |
| 1109 | -- |
| 1110 | 1.5.6.5 |
| 1111 | |