ARM: tegra: fix Tegra186 SDHCI clock/reset names

The Tegra SDHCI binding dictates that the reseet name for the Tegra SDHCI
clock be "sdhci" not "sdmmc", and that the clock is accessed by index
rather than by name. Fix the Tegra186 DT and MMC driver to honor this.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
master
Stephen Warren 8 years ago committed by Tom Warren
parent b4ee081e5a
commit eb3f68afbc
  1. 6
      arch/arm/dts/tegra186.dtsi
  2. 6
      drivers/mmc/tegra_mmc.c

@ -120,9 +120,8 @@
compatible = "nvidia,tegra186-sdhci";
reg = <0x0 0x03400000 0x0 0x200>;
resets = <&bpmp TEGRA186_RESET_SDMMC1>;
reset-names = "sdmmc";
reset-names = "sdhci";
clocks = <&bpmp TEGRA186_CLK_SDMMC1>;
clock-names = "sdmmc";
interrupts = <GIC_SPI 62 0x04>;
status = "disabled";
};
@ -131,9 +130,8 @@
compatible = "nvidia,tegra186-sdhci";
reg = <0x0 0x03460000 0x0 0x200>;
resets = <&bpmp TEGRA186_RESET_SDMMC4>;
reset-names = "sdmmc";
reset-names = "sdhci";
clocks = <&bpmp TEGRA186_CLK_SDMMC4>;
clock-names = "sdmmc";
interrupts = <GIC_SPI 31 0x04>;
status = "disabled";
};

@ -648,12 +648,12 @@ static int mmc_get_config(const void *blob, int node, struct mmc_host *host,
struct udevice dev;
int ret;
dev.of_offset = node;
ret = reset_get_by_name(&dev, "sdmmc", &host->reset_ctl);
ret = reset_get_by_name(&dev, "sdhci", &host->reset_ctl);
if (ret) {
debug("reset_get_by_index() failed: %d\n", ret);
debug("reset_get_by_name() failed: %d\n", ret);
return ret;
}
ret = clk_get_by_name(&dev, "sdmmc", &host->clk);
ret = clk_get_by_index(&dev, 0, &host->clk);
if (ret) {
debug("clk_get_by_index() failed: %d\n", ret);
return ret;

Loading…
Cancel
Save