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

Commit 788a19a8 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mmc: core: add tunable delay waiting for power to be stable"

parents 6ff054c4 17fd4e70
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3141,7 +3141,7 @@ void mmc_power_up(struct mmc_host *host, u32 ocr)
	 * This delay should be sufficient to allow the power supply
	 * to reach the minimum voltage.
	 */
	mmc_delay(10);
	mmc_delay(host->ios.power_delay_ms);

	mmc_pwrseq_post_power_on(host);

@@ -3154,7 +3154,7 @@ void mmc_power_up(struct mmc_host *host, u32 ocr)
	 * This delay must be at least 74 clock sizes, or 1 ms, or the
	 * time required to reach a stable voltage.
	 */
	mmc_delay(10);
	mmc_delay(host->ios.power_delay_ms);

	mmc_host_clk_release(host);
}
+1 −0
Original line number Diff line number Diff line
@@ -731,6 +731,7 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
	host->max_req_size = PAGE_SIZE;
	host->max_blk_size = 512;
	host->max_blk_count = PAGE_SIZE / 512;
	host->ios.power_delay_ms = 10;

	return host;
}
+3 −0
Original line number Diff line number Diff line
@@ -1996,6 +1996,9 @@ struct sdhci_msm_pltfm_data *sdhci_msm_populate_pdata(struct device *dev,
	if (!pdata)
		goto out;

	device_property_read_u32(dev, "post-power-on-delay-ms",
                                &msm_host->mmc->ios.power_delay_ms);

	pdata->status_gpio = of_get_named_gpio_flags(np, "cd-gpios", 0, &flags);
	if (gpio_is_valid(pdata->status_gpio) && !(flags & OF_GPIO_ACTIVE_LOW))
		pdata->caps2 |= MMC_CAP2_CD_ACTIVE_HIGH;
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ struct mmc_ios {
	unsigned int	old_rate;       /* saved clock rate */
	unsigned long	clk_ts;         /* time stamp of last updated clock */
	unsigned short	vdd;
	unsigned int    power_delay_ms;         /* waiting for stable power */

/* vdd stores the bit number of the selected voltage range from below. */