mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
mmc: core: Parse and use the new max-sd-hs-hz DT property
Introduce a new device tree flag to cap the maximum High-Speed (HS) mode frequency for SD cards, accommodating board-specific electrical limitations which cannot support the default 50Mhz HS frequency and others. Signed-off-by: Sarthak Garg <quic_sartgarg@quicinc.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
98682689a1
commit
f338529ca9
|
|
@ -302,6 +302,8 @@ int mmc_of_parse(struct mmc_host *host)
|
|||
/* f_max is obtained from the optional "max-frequency" property */
|
||||
device_property_read_u32(dev, "max-frequency", &host->f_max);
|
||||
|
||||
device_property_read_u32(dev, "max-sd-hs-hz", &host->max_sd_hs_hz);
|
||||
|
||||
/*
|
||||
* Configure CD and WP pins. They are both by default active low to
|
||||
* match the SDHCI spec. If GPIOs are provided for CD and / or WP, the
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ static int mmc_read_switch(struct mmc_card *card)
|
|||
}
|
||||
|
||||
if (status[13] & SD_MODE_HIGH_SPEED)
|
||||
card->sw_caps.hs_max_dtr = HIGH_SPEED_MAX_DTR;
|
||||
card->sw_caps.hs_max_dtr = card->host->max_sd_hs_hz ?: HIGH_SPEED_MAX_DTR;
|
||||
|
||||
if (card->scr.sda_spec3) {
|
||||
card->sw_caps.sd3_bus_mode = status[13];
|
||||
|
|
|
|||
|
|
@ -576,6 +576,7 @@ struct mmc_host {
|
|||
int hsq_depth;
|
||||
|
||||
u32 err_stats[MMC_ERR_MAX];
|
||||
u32 max_sd_hs_hz;
|
||||
unsigned long private[] ____cacheline_aligned;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user