[U-Boot] [PATCH 1/7 V5] EXYNOS: CLK: Add i2c clock

Rajeshwari Birje rajeshwari.birje at gmail.com
Thu Jul 19 09:20:13 CEST 2012


Hi Simon Glass,

The warning messages are fixed in following patch:
"[PATCH] ARM: EXYNOS: fixed compiler warning message"
They are applied to u-boot today by Minkyu Kang.

Thanks and Regards,
Rajeshwari Shinde.

On Thu, Jul 19, 2012 at 11:31 AM, Rajeshwari Birje
<rajeshwari.birje at gmail.com> wrote:
> Hi Simon Glass,
>
> Thank you for comments.
>
> On Wed, Jul 18, 2012 at 10:46 PM, Simon Glass <sjg at chromium.org> wrote:
>> Hi,
>>
>> On Thu, Jul 5, 2012 at 12:59 PM, Rajeshwari Shinde
>> <rajeshwari.s at samsung.com> wrote:
>>> This adds i2c clock information for EXYNOS5.
>>>
>>> Signed-off-by: Alim Akhtar <alim.akhtar at samsung.com>
>>> Signed-off-by: Doug Anderson <dianders at chromium.org>
>>> Signed-off-by: Rajeshwari Shinde <rajeshwari.s at samsung.com>
>>> Acked-by: Simon Glass <sjg at chromium.org>
>>
>> Sorry for late comments. Please see below for some nits.
>>
>> Also I get these warnings with the samsung/master branch at present:
>>
>> clock.c: In function 'get_pll_clk':
>> clock.c:178:6: warning: 'fout_sel' may be used uninitialized in this
>> function [-Wmaybe-uninitialized]
>> clock.c:101:35: note: 'fout_sel' was declared here
>> pinmux.c: In function 'exynos_pinmux_config':
>> pinmux.c:100:20: warning: 'gpio_func' may be used uninitialized in
>> this function [-Wmaybe-uninitialized]
>> pinmux.c:69:16: note: 'gpio_func' was declared here
>> pinmux.c:99:3: warning: 'start' may be used uninitialized in this
>> function [-Wmaybe-uninitialized]
>> pinmux.c:69:9: note: 'start' was declared here
>> clock.c: In function 'get_pll_clk':
>> clock.c:178:6: warning: 'fout_sel' may be used uninitialized in this
>> function [-Wmaybe-uninitialized]
>> clock.c:101:35: note: 'fout_sel' was declared here
>> pinmux.c: In function 'exynos_pinmux_config':
>> pinmux.c:100:20: warning: 'gpio_func' may be used uninitialized in
>> this function [-Wmaybe-uninitialized]
>> pinmux.c:69:16: note: 'gpio_func' was declared here
>> pinmux.c:99:3: warning: 'start' may be used uninitialized in this
>> function [-Wmaybe-uninitialized]
>> pinmux.c:69:9: note: 'start' was declared here
>>
>>
> -- Sorry for inconvenience.. will correct them
>>> ---
>>> changes in V2:
>>>         - Incorporated comments from Simon Glass which are removed extra
>>>           braces around (readl(&clk->div_top1)) >> 24 and gave a tab space for
>>>           return statement.
>>> Changes in V3:
>>>         - None
>>> Changes in V4:
>>>         - None
>>> Changes in V5:
>>>         - None.
>>>  arch/arm/cpu/armv7/exynos/clock.c      |   33 ++++++++++++++++++++++++++++++++
>>>  arch/arm/include/asm/arch-exynos/clk.h |    1 +
>>>  2 files changed, 34 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c
>>> index fc0ed5e..83ee25e 100644
>>> --- a/arch/arm/cpu/armv7/exynos/clock.c
>>> +++ b/arch/arm/cpu/armv7/exynos/clock.c
>>> @@ -602,6 +602,29 @@ void exynos4_set_mipi_clk(void)
>>>         writel(cfg, &clk->div_lcd0);
>>>  }
>>>
>>> +/*
>>> + * I2C
>>> + *
>>> + * exynos5: obtaining the I2C clock
>>> + */
>>> +static unsigned long exynos5_get_i2c_clk(void)
>>> +{
>>> +       struct exynos5_clock *clk =
>>> +               (struct exynos5_clock *)samsung_get_base_clock();
>>> +       unsigned long aclk_66, aclk_66_pre, sclk;
>>> +       unsigned int ratio;
>>> +
>>> +       sclk = get_pll_clk(MPLL);
>>> +
>>> +       ratio = (readl(&clk->div_top1)) >> 24;
>>> +       ratio &= (0x7);
>>
>> Don't really need the ()
> -- ok.
>>
>>> +       aclk_66_pre = sclk/(ratio+1);
>>
>> spaces around operators, and below
> -- will correct this.
>>
>>> +       ratio = readl(&clk->div_top0);
>>> +       ratio &= (0x7);
>>> +       aclk_66 = aclk_66_pre/(ratio+1);
>>> +       return aclk_66;
>>> +}
>>> +
>>>  unsigned long get_pll_clk(int pllreg)
>>>  {
>>>         if (cpu_is_exynos5())
>>> @@ -618,6 +641,16 @@ unsigned long get_arm_clk(void)
>>>                 return exynos4_get_arm_clk();
>>>  }
>>>
>>> +unsigned long get_i2c_clk(void)
>>> +{
>>> +       if (cpu_is_exynos5()) {
>>> +               return exynos5_get_i2c_clk();
>>> +       } else {
>>> +               debug("I2C clock is not set for this CPU\n");
>>> +               return 0;
>>> +       }
>>> +}
>>> +
>>>  unsigned long get_pwm_clk(void)
>>>  {
>>>         if (cpu_is_exynos5())
>>> diff --git a/arch/arm/include/asm/arch-exynos/clk.h b/arch/arm/include/asm/arch-exynos/clk.h
>>> index e99339a..5529025 100644
>>> --- a/arch/arm/include/asm/arch-exynos/clk.h
>>> +++ b/arch/arm/include/asm/arch-exynos/clk.h
>>> @@ -31,6 +31,7 @@
>>>
>>>  unsigned long get_pll_clk(int pllreg);
>>>  unsigned long get_arm_clk(void);
>>> +unsigned long get_i2c_clk(void);
>>>  unsigned long get_pwm_clk(void);
>>>  unsigned long get_uart_clk(int dev_index);
>>>  void set_mmc_clk(int dev_index, unsigned int div);
>>> --
>>> 1.7.4.4
>>>
>>
>> Regards,
>> Simon
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot


More information about the U-Boot mailing list