diff mbox

[U-Boot] mmc: rockchip_sdhci: add clock init for mmc

Message ID 1475832231-3575-1-git-send-email-kever.yang@rock-chips.com
State Changes Requested
Delegated to: Simon Glass
Headers show

Commit Message

Kever Yang Oct. 7, 2016, 9:23 a.m. UTC
Init the clock rate to CONFIG_ROCKCHIP_SDHCI_MAX_FREQ with clock driver
api.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

 drivers/mmc/rockchip_sdhci.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Jaehoon Chung Oct. 9, 2016, 11:01 p.m. UTC | #1
On 10/07/2016 06:23 PM, Kever Yang wrote:
> Init the clock rate to CONFIG_ROCKCHIP_SDHCI_MAX_FREQ with clock driver
> api.
> 
> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
> ---
> 
>  drivers/mmc/rockchip_sdhci.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c
> index c56e1a3..e787343 100644
> --- a/drivers/mmc/rockchip_sdhci.c
> +++ b/drivers/mmc/rockchip_sdhci.c
> @@ -12,6 +12,7 @@
>  #include <libfdt.h>
>  #include <malloc.h>
>  #include <sdhci.h>
> +#include <clk.h>
>  
>  /* 400KHz is max freq for card ID etc. Use that as min */
>  #define EMMC_MIN_FREQ	400000
> @@ -33,7 +34,10 @@ static int arasan_sdhci_probe(struct udevice *dev)
>  	struct rockchip_sdhc *prv = dev_get_priv(dev);
>  	struct sdhci_host *host = &prv->host;
>  	int ret;
> +	struct clk clk;
>  
> +	ret = clk_get_by_index(dev, 0, &clk);

What purpose do you use "ret" value?

Best Regards,
Jaehoon Chung

> +	clk_set_rate(&clk, CONFIG_ROCKCHIP_SDHCI_MAX_FREQ);
>  	host->quirks = SDHCI_QUIRK_WAIT_SEND_CMD;
>  
>  	ret = sdhci_setup_cfg(&plat->cfg, host, CONFIG_ROCKCHIP_SDHCI_MAX_FREQ,
>
Kever Yang Oct. 10, 2016, 6:40 a.m. UTC | #2
Hi Jaehoon,

On 10/10/2016 07:01 AM, Jaehoon Chung wrote:
> On 10/07/2016 06:23 PM, Kever Yang wrote:
>> Init the clock rate to CONFIG_ROCKCHIP_SDHCI_MAX_FREQ with clock driver
>> api.
>>
>> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
>> ---
>>
>>   drivers/mmc/rockchip_sdhci.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c
>> index c56e1a3..e787343 100644
>> --- a/drivers/mmc/rockchip_sdhci.c
>> +++ b/drivers/mmc/rockchip_sdhci.c
>> @@ -12,6 +12,7 @@
>>   #include <libfdt.h>
>>   #include <malloc.h>
>>   #include <sdhci.h>
>> +#include <clk.h>
>>   
>>   /* 400KHz is max freq for card ID etc. Use that as min */
>>   #define EMMC_MIN_FREQ	400000
>> @@ -33,7 +34,10 @@ static int arasan_sdhci_probe(struct udevice *dev)
>>   	struct rockchip_sdhc *prv = dev_get_priv(dev);
>>   	struct sdhci_host *host = &prv->host;
>>   	int ret;
>> +	struct clk clk;
>>   
>> +	ret = clk_get_by_index(dev, 0, &clk);
> What purpose do you use "ret" value?

Forgot to do the error check with 'ret', will add it at V2.

Thanks,
- Kever
>
> Best Regards,
> Jaehoon Chung
>
>> +	clk_set_rate(&clk, CONFIG_ROCKCHIP_SDHCI_MAX_FREQ);
>>   	host->quirks = SDHCI_QUIRK_WAIT_SEND_CMD;
>>   
>>   	ret = sdhci_setup_cfg(&plat->cfg, host, CONFIG_ROCKCHIP_SDHCI_MAX_FREQ,
>>
>
>
>
diff mbox

Patch

diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c
index c56e1a3..e787343 100644
--- a/drivers/mmc/rockchip_sdhci.c
+++ b/drivers/mmc/rockchip_sdhci.c
@@ -12,6 +12,7 @@ 
 #include <libfdt.h>
 #include <malloc.h>
 #include <sdhci.h>
+#include <clk.h>
 
 /* 400KHz is max freq for card ID etc. Use that as min */
 #define EMMC_MIN_FREQ	400000
@@ -33,7 +34,10 @@  static int arasan_sdhci_probe(struct udevice *dev)
 	struct rockchip_sdhc *prv = dev_get_priv(dev);
 	struct sdhci_host *host = &prv->host;
 	int ret;
+	struct clk clk;
 
+	ret = clk_get_by_index(dev, 0, &clk);
+	clk_set_rate(&clk, CONFIG_ROCKCHIP_SDHCI_MAX_FREQ);
 	host->quirks = SDHCI_QUIRK_WAIT_SEND_CMD;
 
 	ret = sdhci_setup_cfg(&plat->cfg, host, CONFIG_ROCKCHIP_SDHCI_MAX_FREQ,