Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3bb5792e authored by Ram Prakash Gupta's avatar Ram Prakash Gupta
Browse files

mmc: host: Add gpio support for mask & match debug feature



Add gpio support for mask & match debug feature.

Change-Id: I61b464cb86faafdc1daff7839ccc20c6b695ba8b
Signed-off-by: default avatarRam Prakash Gupta <rampraka@codeaurora.org>
parent 2abd9f06
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -163,6 +163,8 @@

#define INVALID_TUNING_PHASE	-1
#define sdhci_is_valid_gpio_wakeup_int(_h) ((_h)->pdata->sdiowakeup_irq >= 0)
#define sdhci_is_valid_gpio_testbus_trigger_int(_h) \
	((_h)->pdata->testbus_trigger_irq >= 0)

#define NUM_TUNING_PHASES		16
#define MAX_DRV_TYPES_SUPPORTED_HS200	4
@@ -2969,6 +2971,16 @@ static void sdhci_msm_cfg_sdiowakeup_gpio_irq(struct sdhci_host *host,
	msm_host->is_sdiowakeup_enabled = enable;
}

static irqreturn_t sdhci_msm_testbus_trigger_irq(int irq, void *data)
{
	struct sdhci_host *host = (struct sdhci_host *)data;

	pr_info("%s: match happened against mask\n",
				mmc_hostname(host->mmc));

	return IRQ_HANDLED;
}

static irqreturn_t sdhci_msm_sdiowakeup_irq(int irq, void *data)
{
	struct sdhci_host *host = (struct sdhci_host *)data;
@@ -5672,6 +5684,22 @@ static int sdhci_msm_probe(struct platform_device *pdev)
		}
	}

	msm_host->pdata->testbus_trigger_irq = platform_get_irq_byname(pdev,
							  "tb_trig_irq");
	if (sdhci_is_valid_gpio_testbus_trigger_int(msm_host)) {
		dev_info(&pdev->dev, "%s: testbus_trigger_irq = %d\n", __func__,
				msm_host->pdata->testbus_trigger_irq);
		ret = request_irq(msm_host->pdata->testbus_trigger_irq,
				  sdhci_msm_testbus_trigger_irq,
				  IRQF_SHARED | IRQF_TRIGGER_RISING,
				  "sdhci-msm tb_trig", host);
		if (ret) {
			dev_err(&pdev->dev, "%s: request tb_trig IRQ %d: failed: %d\n",
				__func__, msm_host->pdata->testbus_trigger_irq,
				ret);
		}
	}

	if (of_device_is_compatible(node, "qcom,sdhci-msm-cqe")) {
		dev_dbg(&pdev->dev, "node with qcom,sdhci-msm-cqe\n");
		ret = sdhci_msm_cqe_add_host(host, pdev);
+1 −0
Original line number Diff line number Diff line
@@ -207,6 +207,7 @@ struct sdhci_msm_pltfm_data {
	u32 *sup_clk_table;
	unsigned char sup_clk_cnt;
	int sdiowakeup_irq;
	int testbus_trigger_irq;
	struct sdhci_msm_pm_qos_data pm_qos_data;
	u32 *bus_clk_table;
	unsigned char bus_clk_cnt;