[PATCH 4/5] ARM: ux500: fix I2C4 clock bit
Linus Walleij
linus.walleij at linaro.org
Fri Oct 18 07:30:40 EDT 2013
On Fri, Oct 18, 2013 at 1:03 PM, Lee Jones <lee.jones at linaro.org> wrote:
> On Fri, 18 Oct 2013, Linus Walleij wrote:
>
>> The PCLK for I2C4 is controlled by bit 10 in the PCKEN registers
>> while the KCLK is controlled by bit 9 on the KCKEN, it's
>> one of these odd assymetric things. Correct the PCLK bit to 10.
>>
>> Cc: Lee Jones <lee.jones at linaro.org>
>> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
>> ---
>> arch/arm/boot/dts/ste-dbx5x0.dtsi | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/boot/dts/ste-dbx5x0.dtsi b/arch/arm/boot/dts/ste-dbx5x0.dtsi
>> index 5112f4c..b7d1738 100644
>> --- a/arch/arm/boot/dts/ste-dbx5x0.dtsi
>> +++ b/arch/arm/boot/dts/ste-dbx5x0.dtsi
>> @@ -694,7 +694,7 @@
>>
>> clock-frequency = <400000>;
>>
>> - clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 9>;
>> + clocks = <&prcc_kclk 1 10>, <&prcc_pclk 1 9>;
>> clock-names = "i2cclk", "apb_pclk";
>> };
>>
>
> NACK: Bit 10 is MSP1
You mean MSP3?
> clk = clk_reg_prcc_kclk("p1_i2c4_kclk", "i2cclk",
> clkrst1_base, BIT(9), CLK_SET_RATE_GATE);
> clk_register_clkdev(clk, NULL, "nmk-i2c.4");
> PRCC_KCLK_STORE(clk, 1, 9);
>
> clk = clk_reg_prcc_kclk("p1_msp3_kclk", "msp1clk",
> clkrst1_base, BIT(10), CLK_SET_RATE_GATE);
> clk_register_clkdev(clk, NULL, "msp3");
> clk_register_clkdev(clk, NULL, "ux500-msp-i2s.3");
> PRCC_KCLK_STORE(clk, 1, 10);
This does not correspond to the datasheet, which says MSP3
is at bit 11. Oh that is *another* assymetric thing.
I'll make a combined
patch that fix both things and double-check with the older
clock framework so we get this 100% right.
Ulf: any hints?
Yours,
Linus Walleij
More information about the linux-arm-kernel
mailing list