diff options
author | Tom Rini <trini@konsulko.com> | 2023-04-07 15:55:50 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-04-07 15:55:50 -0400 |
commit | 965f74b5b3602fe681421bda5676c7300ee3975e (patch) | |
tree | b8b001d60dbeea07ad4fdda6950aa73a3114d2e9 /drivers/mmc/tmio-common.c | |
parent | 19d0c64f89ee5a0d5d3077e5d7ec7dafd74a0d45 (diff) | |
parent | 36b63c92c3ffb5a8673f58e2111f3ee3273e6952 (diff) |
Merge branch 'master_sh/gen4/initial' of https://source.denx.de/u-boot/custodians/u-boot-sh
- Initial R-Car Generation 4 support
Diffstat (limited to 'drivers/mmc/tmio-common.c')
-rw-r--r-- | drivers/mmc/tmio-common.c | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/drivers/mmc/tmio-common.c b/drivers/mmc/tmio-common.c index e9c7d3a2e0..8d7ee481d6 100644 --- a/drivers/mmc/tmio-common.c +++ b/drivers/mmc/tmio-common.c @@ -369,22 +369,23 @@ static bool tmio_sd_addr_is_dmaable(struct mmc_data *data) if (!IS_ALIGNED(addr, TMIO_SD_DMA_MINALIGN)) return false; -#if defined(CONFIG_RCAR_GEN3) - if (!(data->flags & MMC_DATA_READ) && !IS_ALIGNED(addr, 128)) - return false; - /* Gen3 DMA has 32bit limit */ - if (addr >> 32) - return false; -#endif + if (IS_ENABLED(CONFIG_RCAR_64)) { + if (!(data->flags & MMC_DATA_READ) && !IS_ALIGNED(addr, 128)) + return false; + /* Gen3 DMA has 32bit limit */ + if (sizeof(addr) > 4 && addr >> 32) + return false; + } -#if defined(CONFIG_ARCH_UNIPHIER) && !defined(CONFIG_ARM64) && \ - defined(CONFIG_SPL_BUILD) - /* - * For UniPhier ARMv7 SoCs, the stack is allocated in the locked ways - * of L2, which is unreachable from the DMA engine. - */ - if (addr < CONFIG_SPL_STACK) - return false; +#ifdef CONFIG_SPL_BUILD + if (IS_ENABLED(CONFIG_ARCH_UNIPHIER) && !CONFIG_IS_ENABLED(CONFIG_ARM64)) { + /* + * For UniPhier ARMv7 SoCs, the stack is allocated in locked + * ways of L2, which is unreachable from the DMA engine. + */ + if (addr < CONFIG_SPL_STACK) + return false; + } #endif return true; @@ -622,25 +623,22 @@ static void tmio_sd_set_clk_rate(struct tmio_sd_priv *priv, struct mmc *mmc) static void tmio_sd_set_pins(struct udevice *dev) { __maybe_unused struct mmc *mmc = mmc_get_mmc_dev(dev); - -#ifdef CONFIG_DM_REGULATOR struct tmio_sd_priv *priv = dev_get_priv(dev); - if (priv->vqmmc_dev) { + if (CONFIG_IS_ENABLED(DM_REGULATOR) && priv->vqmmc_dev) { if (mmc->signal_voltage == MMC_SIGNAL_VOLTAGE_180) regulator_set_value(priv->vqmmc_dev, 1800000); else regulator_set_value(priv->vqmmc_dev, 3300000); regulator_set_enable(priv->vqmmc_dev, true); } -#endif -#ifdef CONFIG_PINCTRL - if (mmc->signal_voltage == MMC_SIGNAL_VOLTAGE_180) - pinctrl_select_state(dev, "state_uhs"); - else - pinctrl_select_state(dev, "default"); -#endif + if (CONFIG_IS_ENABLED(PINCTRL)) { + if (mmc->signal_voltage == MMC_SIGNAL_VOLTAGE_180) + pinctrl_select_state(dev, "state_uhs"); + else + pinctrl_select_state(dev, "default"); + } } int tmio_sd_set_ios(struct udevice *dev) @@ -734,11 +732,12 @@ int tmio_sd_probe(struct udevice *dev, u32 quirks) if (!priv->regbase) return -ENOMEM; -#ifdef CONFIG_DM_REGULATOR - device_get_supply_regulator(dev, "vqmmc-supply", &priv->vqmmc_dev); - if (priv->vqmmc_dev) - regulator_set_value(priv->vqmmc_dev, 3300000); -#endif + if (CONFIG_IS_ENABLED(DM_REGULATOR)) { + device_get_supply_regulator(dev, "vqmmc-supply", + &priv->vqmmc_dev); + if (priv->vqmmc_dev) + regulator_set_value(priv->vqmmc_dev, 3300000); + } ret = mmc_of_parse(dev, &plat->cfg); if (ret < 0) { |