diff --git a/arch/arm/mach-bcm283x/include/mach/msg.h b/arch/arm/mach-bcm283x/include/mach/msg.h index 478b1f1c50170ca394b496e7958b63910d7cbcd5..d055480ba11484de39405e4afaff369936df35bf 100644 --- a/arch/arm/mach-bcm283x/include/mach/msg.h +++ b/arch/arm/mach-bcm283x/include/mach/msg.h @@ -18,9 +18,10 @@ int bcm2835_power_on_module(u32 module); /** * bcm2835_get_mmc_clock() - get the frequency of the MMC clock * + * @clock_id: ID of clock to get frequency for * @return clock frequency, or -ve on error */ -int bcm2835_get_mmc_clock(void); +int bcm2835_get_mmc_clock(u32 clock_id); /** * bcm2835_get_video_size() - get the current display size diff --git a/arch/arm/mach-bcm283x/msg.c b/arch/arm/mach-bcm283x/msg.c index 92e93ad9e55b24031c8c75d6525bdcf5941bf317..ad29f3be09e0790b18c76a945bef922c517d47f1 100644 --- a/arch/arm/mach-bcm283x/msg.c +++ b/arch/arm/mach-bcm283x/msg.c @@ -65,7 +65,7 @@ int bcm2835_power_on_module(u32 module) return 0; } -int bcm2835_get_mmc_clock(void) +int bcm2835_get_mmc_clock(u32 clock_id) { ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1); int ret; @@ -76,7 +76,7 @@ int bcm2835_get_mmc_clock(void) BCM2835_MBOX_INIT_HDR(msg_clk); BCM2835_MBOX_INIT_TAG(&msg_clk->get_clock_rate, GET_CLOCK_RATE); - msg_clk->get_clock_rate.body.req.clock_id = BCM2835_MBOX_CLOCK_ID_EMMC; + msg_clk->get_clock_rate.body.req.clock_id = clock_id; ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg_clk->hdr); if (ret) { diff --git a/drivers/mmc/bcm2835_sdhci.c b/drivers/mmc/bcm2835_sdhci.c index 3157354d2ae8525ae42a9f68953593d771743f74..08bddd410e0be51d7f44747b950faffc1206fb7d 100644 --- a/drivers/mmc/bcm2835_sdhci.c +++ b/drivers/mmc/bcm2835_sdhci.c @@ -183,7 +183,7 @@ static int bcm2835_sdhci_probe(struct udevice *dev) if (base == FDT_ADDR_T_NONE) return -EINVAL; - ret = bcm2835_get_mmc_clock(); + ret = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_EMMC); if (ret < 0) { debug("%s: Failed to set MMC clock (err=%d)\n", __func__, ret); return ret; diff --git a/drivers/mmc/bcm2835_sdhost.c b/drivers/mmc/bcm2835_sdhost.c index 1bf52a30196a4c7d240c1bb6e5dc8c578f3582ee..bccd182e50c21820be54bef8c1462e3ed85288ba 100644 --- a/drivers/mmc/bcm2835_sdhost.c +++ b/drivers/mmc/bcm2835_sdhost.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -941,7 +942,7 @@ static int bcm2835_probe(struct udevice *dev) if (!host->ioaddr) return -ENOMEM; - host->max_clk = bcm2835_get_mmc_clock(); + host->max_clk = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_CORE); bcm2835_add_host(host);