diff mbox

clk: ti: dra7xx: Reset the mcasp3_ahclkx_mux clock value

Message ID 1504694199-32227-1-git-send-email-j-keerthy@ti.com (mailing list archive)
State Changes Requested, archived
Headers show

Commit Message

J, KEERTHY Sept. 6, 2017, 10:36 a.m. UTC
Reset the mcasp3_ahclkx_mux to abe_24m_fclk. This is needed
in case of kexec where the reset values might be wiped off.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 drivers/clk/ti/clk-7xx.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Comments

Tero Kristo Sept. 6, 2017, 11:42 a.m. UTC | #1

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

On 06/09/17 13:36, Keerthy wrote:
> Reset the mcasp3_ahclkx_mux to abe_24m_fclk. This is needed
> in case of kexec where the reset values might be wiped off.
> 
> Signed-off-by: Keerthy <j-keerthy@ti.com>

Why not do this in DT with the assigned-clock-xyz properties available?

-Tero

> ---
>   drivers/clk/ti/clk-7xx.c | 9 ++++++++-
>   1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/ti/clk-7xx.c b/drivers/clk/ti/clk-7xx.c
> index 9fd6043..2c3a36c 100644
> --- a/drivers/clk/ti/clk-7xx.c
> +++ b/drivers/clk/ti/clk-7xx.c
> @@ -312,7 +312,7 @@
>   int __init dra7xx_dt_clk_init(void)
>   {
>   	int rc;
> -	struct clk *dpll_ck, *hdcp_ck;
> +	struct clk *dpll_ck, *hdcp_ck, *mcasp3_ahclkx_ck, *abe_ck;
>   
>   	ti_dt_clocks_register(dra7xx_clks);
>   
> @@ -338,5 +338,12 @@ int __init dra7xx_dt_clk_init(void)
>   	if (rc)
>   		pr_err("%s: failed to set dss_deshdcp_clk\n", __func__);
>   
> +	mcasp3_ahclkx_ck = clk_get_sys(NULL, "mcasp3_ahclkx_mux");
> +	abe_ck = clk_get_sys(NULL, "abe_24m_fclk");
> +	rc = clk_set_parent(mcasp3_ahclkx_ck, abe_ck);
> +	if (rc)
> +		pr_err("%s: failed to set parent for mcasp3_ahclkx_mux\n",
> +		       __func__);
> +
>   	return rc;
>   }
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
J, KEERTHY Sept. 6, 2017, 1:29 p.m. UTC | #2
On Wednesday 06 September 2017 05:12 PM, Tero Kristo wrote:
> On 06/09/17 13:36, Keerthy wrote:
>> Reset the mcasp3_ahclkx_mux to abe_24m_fclk. This is needed
>> in case of kexec where the reset values might be wiped off.
>>
>> Signed-off-by: Keerthy <j-keerthy@ti.com>
> 
> Why not do this in DT with the assigned-clock-xyz properties available?

Works for me. I will send a v2 with your suggested-by.

Thanks,
Keerthy

> 
> -Tero
> 
>> ---
>>   drivers/clk/ti/clk-7xx.c | 9 ++++++++-
>>   1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/clk/ti/clk-7xx.c b/drivers/clk/ti/clk-7xx.c
>> index 9fd6043..2c3a36c 100644
>> --- a/drivers/clk/ti/clk-7xx.c
>> +++ b/drivers/clk/ti/clk-7xx.c
>> @@ -312,7 +312,7 @@
>>   int __init dra7xx_dt_clk_init(void)
>>   {
>>       int rc;
>> -    struct clk *dpll_ck, *hdcp_ck;
>> +    struct clk *dpll_ck, *hdcp_ck, *mcasp3_ahclkx_ck, *abe_ck;
>>         ti_dt_clocks_register(dra7xx_clks);
>>   @@ -338,5 +338,12 @@ int __init dra7xx_dt_clk_init(void)
>>       if (rc)
>>           pr_err("%s: failed to set dss_deshdcp_clk\n", __func__);
>>   +    mcasp3_ahclkx_ck = clk_get_sys(NULL, "mcasp3_ahclkx_mux");
>> +    abe_ck = clk_get_sys(NULL, "abe_24m_fclk");
>> +    rc = clk_set_parent(mcasp3_ahclkx_ck, abe_ck);
>> +    if (rc)
>> +        pr_err("%s: failed to set parent for mcasp3_ahclkx_mux\n",
>> +               __func__);
>> +
>>       return rc;
>>   }
>>
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/clk/ti/clk-7xx.c b/drivers/clk/ti/clk-7xx.c
index 9fd6043..2c3a36c 100644
--- a/drivers/clk/ti/clk-7xx.c
+++ b/drivers/clk/ti/clk-7xx.c
@@ -312,7 +312,7 @@ 
 int __init dra7xx_dt_clk_init(void)
 {
 	int rc;
-	struct clk *dpll_ck, *hdcp_ck;
+	struct clk *dpll_ck, *hdcp_ck, *mcasp3_ahclkx_ck, *abe_ck;
 
 	ti_dt_clocks_register(dra7xx_clks);
 
@@ -338,5 +338,12 @@  int __init dra7xx_dt_clk_init(void)
 	if (rc)
 		pr_err("%s: failed to set dss_deshdcp_clk\n", __func__);
 
+	mcasp3_ahclkx_ck = clk_get_sys(NULL, "mcasp3_ahclkx_mux");
+	abe_ck = clk_get_sys(NULL, "abe_24m_fclk");
+	rc = clk_set_parent(mcasp3_ahclkx_ck, abe_ck);
+	if (rc)
+		pr_err("%s: failed to set parent for mcasp3_ahclkx_mux\n",
+		       __func__);
+
 	return rc;
 }