diff mbox series

arm: dts: socfpga: cyclone5: Update i2c-scl-falling-time-ns

Message ID 20200605082120.188113-1-ley.foon.tan@intel.com
State Superseded
Headers show
Series arm: dts: socfpga: cyclone5: Update i2c-scl-falling-time-ns | expand

Commit Message

Tan, Ley Foon June 5, 2020, 8:21 a.m. UTC
Commit e71b6f6622d6 ("i2c: designware_i2c: Rewrite timing calculation")
change the hcnt and lcnt timing calculation.

After this new timing calculation, hcnt will have negative value
with i2c-scl-falling-time-ns 5000 that set in socfpga_cyclone5_socdk.dts.

This patch overwrite i2c-scl-falling-time-ns to 300ns (default SCL fall
time used in Designware i2c driver) for Uboot.

Before the fix:
=> i2c dev 0
Setting bus to 0
Failure changing bus number (-22)

After the fix:
=> i2c dev 0
Setting bus to 0
=> i2c probe
Valid chip addresses: 17 51 55 5B 5C 5E 66 68 70

Signed-off-by: Ley Foon Tan <ley.foon.tan at intel.com>
---
 arch/arm/dts/socfpga_cyclone5_socdk-u-boot.dtsi | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Marek Vasut June 5, 2020, 12:52 p.m. UTC | #1
On 6/5/20 10:21 AM, Ley Foon Tan wrote:
> Commit e71b6f6622d6 ("i2c: designware_i2c: Rewrite timing calculation")
> change the hcnt and lcnt timing calculation.
> 
> After this new timing calculation, hcnt will have negative value
> with i2c-scl-falling-time-ns 5000 that set in socfpga_cyclone5_socdk.dts.
Shouldn't either the driver or the calculation be fixed instead ?
Tan, Ley Foon June 9, 2020, 6:33 a.m. UTC | #2
> -----Original Message-----
> From: Marek Vasut <marex at denx.de>
> Sent: Friday, June 5, 2020 8:52 PM
> To: Tan, Ley Foon <ley.foon.tan at intel.com>; u-boot at lists.denx.de
> Cc: Ley Foon Tan <lftan.linux at gmail.com>; See, Chin Liang
> <chin.liang.see at intel.com>; Simon Goldschmidt
> <simon.k.r.goldschmidt at gmail.com>; Ang, Chee Hong
> <chee.hong.ang at intel.com>
> Subject: Re: [PATCH] arm: dts: socfpga: cyclone5: Update i2c-scl-falling-
> time-ns
> 
> On 6/5/20 10:21 AM, Ley Foon Tan wrote:
> > Commit e71b6f6622d6 ("i2c: designware_i2c: Rewrite timing
> > calculation") change the hcnt and lcnt timing calculation.
> >
> > After this new timing calculation, hcnt will have negative value with
> > i2c-scl-falling-time-ns 5000 that set in socfpga_cyclone5_socdk.dts.
> Shouldn't either the driver or the calculation be fixed instead ?
The original timing calculation in driver doesn't take fall time or rise time into calculation.
The new i2c timing calculation is based on calculation from Designware i2c databook. So, I don't think need fix in driver.

Regards
Ley Foon
Marek Vasut June 9, 2020, 9:53 a.m. UTC | #3
On 6/9/20 8:33 AM, Tan, Ley Foon wrote:
[...]
>>> Commit e71b6f6622d6 ("i2c: designware_i2c: Rewrite timing
>>> calculation") change the hcnt and lcnt timing calculation.
>>>
>>> After this new timing calculation, hcnt will have negative value with
>>> i2c-scl-falling-time-ns 5000 that set in socfpga_cyclone5_socdk.dts.
>> Shouldn't either the driver or the calculation be fixed instead ?
> The original timing calculation in driver doesn't take fall time or rise time into calculation.
> The new i2c timing calculation is based on calculation from Designware i2c databook. So, I don't think need fix in driver.

Then just mention it in the commit message that it's from the databook
please.
Tan, Ley Foon June 9, 2020, 9:54 a.m. UTC | #4
> -----Original Message-----
> From: Marek Vasut <marex at denx.de>
> Sent: Tuesday, June 9, 2020 5:53 PM
> To: Tan, Ley Foon <ley.foon.tan at intel.com>; u-boot at lists.denx.de
> Cc: Ley Foon Tan <lftan.linux at gmail.com>; See, Chin Liang
> <chin.liang.see at intel.com>; Simon Goldschmidt
> <simon.k.r.goldschmidt at gmail.com>; Ang, Chee Hong
> <chee.hong.ang at intel.com>
> Subject: Re: [PATCH] arm: dts: socfpga: cyclone5: Update i2c-scl-falling-
> time-ns
> 
> On 6/9/20 8:33 AM, Tan, Ley Foon wrote:
> [...]
> >>> Commit e71b6f6622d6 ("i2c: designware_i2c: Rewrite timing
> >>> calculation") change the hcnt and lcnt timing calculation.
> >>>
> >>> After this new timing calculation, hcnt will have negative value
> >>> with i2c-scl-falling-time-ns 5000 that set in socfpga_cyclone5_socdk.dts.
> >> Shouldn't either the driver or the calculation be fixed instead ?
> > The original timing calculation in driver doesn't take fall time or rise time
> into calculation.
> > The new i2c timing calculation is based on calculation from Designware i2c
> databook. So, I don't think need fix in driver.
> 
> Then just mention it in the commit message that it's from the databook
> please.
Okay.

Regards
Ley Foon
diff mbox series

Patch

diff --git a/arch/arm/dts/socfpga_cyclone5_socdk-u-boot.dtsi b/arch/arm/dts/socfpga_cyclone5_socdk-u-boot.dtsi
index 7d9874cafa0b..d24f621cd669 100644
--- a/arch/arm/dts/socfpga_cyclone5_socdk-u-boot.dtsi
+++ b/arch/arm/dts/socfpga_cyclone5_socdk-u-boot.dtsi
@@ -68,3 +68,7 @@ 
 &portc {
 	bank-name = "portc";
 };
+
+&i2c0 {
+	i2c-scl-falling-time-ns = <300>;
+};