[PATCH RESEND v2 1/2] ARM: EXYNOS: Add clock support for Gscaler

Shaik Ameer Basha shaik.ameer at samsung.com
Thu Jul 19 19:08:57 EST 2012


Hi Kukjin Kim & Sunyoung,

thanks for the review comments...

On Wed, Jul 18, 2012 at 2:14 PM, Sunyoung Kang <sy0816.kang at samsung.com> wrote:
> Kukjin Kim wrote:
>>
>>Shaik Ameer Basha wrote:
>>>
>>> Add required clock support for Gscaler for exynos5
>>>
>>Hi,
>>
>>Cc'ed Sunyoung Kang who knows gscaler well in my team.
>>
>>> Signed-off-by: Abhilash Kesavan <a.kesavan at samsung.com>
>>> Signed-off-by: Leela Krishna Amudala <l.krishna at samsung.com>
>>> Signed-off-by: Prathyush K <prathyush.k at samsung.com>
>>> Signed-off-by: Shaik Ameer Basha <shaik.ameer at samsung.com>
>>> ---
>>>  arch/arm/mach-exynos/clock-exynos5.c |   79
>>> ++++++++++++++++++++++++++++++++++
>>>  1 files changed, 79 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-
>>> exynos/clock-exynos5.c
>>> index fefa336..c8293a3 100644
>>> --- a/arch/arm/mach-exynos/clock-exynos5.c
>>> +++ b/arch/arm/mach-exynos/clock-exynos5.c
>>> @@ -741,6 +741,26 @@ static struct clk exynos5_init_clocks_off[] = {
>>>              .enable         = exynos5_clk_ip_peric_ctrl,
>>>              .ctrlbit        = (1 << 14),
>>>      }, {
>>> +            .name           = "gscl",
>>> +            .devname        = "exynos-gsc.0",
>>> +            .enable         = exynos5_clk_ip_gscl_ctrl,
>>> +            .ctrlbit        = (1 << 0),
>>
>>Sunyoung, I've seen (1 << 15) | (1 << 0) here instead, which one is right?
>>
>
> Actually, the ctrl bit, (1 << 0) is correct. The 15th bit Kukjin said is
> used for another purpose.
>

As Sunyoung pointed out the '.ctrlbit' value is correct...

>>[snip]
>>
>>I think, following part should be moved between
>>
>>---
>>static struct clksrc_clk exynos5_clk_aclk_66 = {
>>[snip]
>>};
>>
>><<<HERE>>>

ok.. i will do that.

>>
>>static struct clk exynos5_init_clocks_off[] = {
>>---
>>
>>Please don't put your clock code without any checking the clock code.
>>
>>
>>> +/* For ACLK_300_gscl_mid */
>>> +static struct clksrc_clk exynos5_clk_mout_aclk_300_gscl_mid = {
>>> +    .clk    = {
>>> +            .name   = "mout_aclk_300_gscl_mid",
>>> +    },
>>> +    .sources = &exynos5_clkset_aclk,
>>> +    .reg_src = { .reg = EXYNOS5_CLKSRC_TOP0, .shift = 24, .size = 1 },
>>> +};
>>> +
>>> +/* For ACLK_300_gscl */
>>> +struct clk *exynos5_clkset_aclk_300_gscl_list[] = {
>>> +    [0] = &exynos5_clk_mout_aclk_300_gscl_mid.clk,
>>> +    [1] = &exynos5_clk_sclk_vpll.clk,
>>
>>As I know, this is wrong. Its [1] should be
>>&exynos5_clk_mout_aclk_300_gscl_mid1.clk
>>
>
> Yes, right. It should be 'exynos5_clk_mout_aclk_300_gscl_mid1.clk' which is
> generated by CPLL. The VPLL shouldn't be used here. It means you need to
> implement CPLL for gscaler. As a note, CPLL can be used for fimd as well.

Sorry, I was referring to the old manual. 
I will add the 'exynos5_clk_mout_aclk_300_gscl_mid1' clk... in v3 release...

>
> [snip]
>
> Thanks.
>
> BRs
> Sunyoung
>

Thanks,
Shaik Ameer Basha


More information about the devicetree-discuss mailing list