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

Commit d1955c3a authored by Suneel Garapati's avatar Suneel Garapati Committed by Ulf Hansson
Browse files

mmc: sdhci: add quirk SDHCI_QUIRK_CLOCK_DIV_ZERO_BROKEN



adds quirk for controllers whose clock divider zero is broken,
sdhci_set_clock function will incorporate this modification.

Signed-off-by: default avatarSuneel Garapati <suneel.garapati@xilinx.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 6464b714
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1210,6 +1210,9 @@ void sdhci_set_clock(struct sdhci_host *host, unsigned int clock)
			}
			real_div = div;
			div >>= 1;
			if ((host->quirks2 & SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN)
				&& !div && host->max_clk <= 25000000)
				div = 1;
		}
	} else {
		/* Version 2.00 divisors must be a power of 2. */
+2 −0
Original line number Diff line number Diff line
@@ -409,6 +409,8 @@ struct sdhci_host {
#define SDHCI_QUIRK2_SUPPORT_SINGLE			(1<<13)
/* Controller broken with using ACMD23 */
#define SDHCI_QUIRK2_ACMD23_BROKEN			(1<<14)
/* Broken Clock divider zero in controller */
#define SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN		(1<<15)

	int irq;		/* Device IRQ */
	void __iomem *ioaddr;	/* Mapped address */