ramips: fix sdhci support on mt7621
authorJohn Crispin <john@phrozen.org>
Thu, 1 Dec 2016 17:29:50 +0000 (18:29 +0100)
committerJohn Crispin <john@phrozen.org>
Thu, 1 Dec 2016 17:30:41 +0000 (18:30 +0100)
the IRQ level was wrong. refresh the patch while at it.

Signed-off-by: John Crispin <john@phrozen.org>
target/linux/ramips/patches-4.4/0046-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
target/linux/ramips/patches-4.4/0085-sdhci-no-wp.patch [deleted file]

index 6905c380bc002088f8a00cd4ef94b17ec840f8dd..67c0b298982f035de7671445841f2c7b9614f5ef 100644 (file)
@@ -1760,7 +1760,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +
 --- /dev/null
 +++ b/drivers/mmc/host/mtk-mmc/sd.c
-@@ -0,0 +1,3060 @@
+@@ -0,0 +1,3067 @@
 +/* Copyright Statement:
 + *
 + * This software/firmware and related documentation ("MediaTek Software") are
@@ -1958,7 +1958,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +      .dat_drv        = 4,
 +      .data_pins      = 4,
 +      .data_offset    = 0,
-+      .flags          = MSDC_SYS_SUSPEND | MSDC_WP_PIN_EN | MSDC_CD_PIN_EN | MSDC_REMOVABLE | MSDC_HIGHSPEED,
++      .flags          = MSDC_SYS_SUSPEND | MSDC_CD_PIN_EN | MSDC_REMOVABLE | MSDC_HIGHSPEED,
 +//    .flags          = MSDC_SYS_SUSPEND | MSDC_WP_PIN_EN | MSDC_CD_PIN_EN | MSDC_REMOVABLE,
 +};
 +
@@ -4509,6 +4509,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +    int ret, irq;
 + 
 +    pdev->dev.platform_data = &msdc0_hw;
++ 
++   if (of_property_read_bool(pdev->dev.of_node, "mtk,wp-en"))
++      msdc0_hw.flags |= MSDC_WP_PIN_EN;
 +  
 +    /* Allocate MMC host for this device */
 +    mmc = mmc_alloc_host(sizeof(struct msdc_host), &pdev->dev);
@@ -4603,7 +4606,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +    spin_lock_init(&host->lock);
 +    msdc_init_hw(host);
 +
-+    ret = request_irq((unsigned int)irq, msdc_irq, IRQF_TRIGGER_LOW, dev_name(&pdev->dev), host);
++      if (ralink_soc == MT762X_SOC_MT7621AT)
++              ret = request_irq((unsigned int)irq, msdc_irq, 0, dev_name(&pdev->dev), host);
++      else 
++              ret = request_irq((unsigned int)irq, msdc_irq, IRQF_TRIGGER_LOW, dev_name(&pdev->dev), host);
++
 +    if (ret) goto release;
 +    // mt65xx_irq_unmask(irq); /* --- by chhung */
 +    
diff --git a/target/linux/ramips/patches-4.4/0085-sdhci-no-wp.patch b/target/linux/ramips/patches-4.4/0085-sdhci-no-wp.patch
deleted file mode 100644 (file)
index 8bb0352..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/drivers/mmc/host/mtk-mmc/sd.c
-+++ b/drivers/mmc/host/mtk-mmc/sd.c
-@@ -195,7 +195,7 @@ struct msdc_hw msdc0_hw = {
-       .dat_drv        = 4,
-       .data_pins      = 4,
-       .data_offset    = 0,
--      .flags          = MSDC_SYS_SUSPEND | MSDC_WP_PIN_EN | MSDC_CD_PIN_EN | MSDC_REMOVABLE | MSDC_HIGHSPEED,
-+      .flags          = MSDC_SYS_SUSPEND | MSDC_CD_PIN_EN | MSDC_REMOVABLE | MSDC_HIGHSPEED,
- //    .flags          = MSDC_SYS_SUSPEND | MSDC_WP_PIN_EN | MSDC_CD_PIN_EN | MSDC_REMOVABLE,
- };
-@@ -2746,6 +2746,9 @@ static int msdc_drv_probe(struct platfor
-     int ret, irq;
-  
-     pdev->dev.platform_data = &msdc0_hw;
-+ 
-+   if (of_property_read_bool(pdev->dev.of_node, "mtk,wp-en"))
-+      msdc0_hw.flags |= MSDC_WP_PIN_EN;
-   
-     /* Allocate MMC host for this device */
-     mmc = mmc_alloc_host(sizeof(struct msdc_host), &pdev->dev);