Re: [RESEND] i2c: mediatek: Get device clock-stretch time via dts
On Tue, 2021-04-13 at 22:17 +0200, Wolfram Sang wrote: > On Mon, Apr 12, 2021 at 08:03:14PM +0800, Qii Wang wrote: > > I can't see the relationship between "i2c-scl-falling-time-ns" and clock > > stretching, is there a parameter related to clock stretching? > > ( you wrote "i2c-scl-falling-time-ns" above, didn't you mean > "i2c-scl-internal-delay-ns" instead? ) > I am sorry, I have confused your comment with lkjoon's comment in the last mail. what I actually want to say is "i2c-scl-internal-delay-ns". > Not yet, and I wonder if there can be one. In I2C (not SMBus), devices > are allowed to stretch the clock as long as they want, so what should be > specified here? > > I suggesteed "internal-delay" because AFAIU your hardware needs this > delay to be able to cope with clock stretching. > If there is not a maximum value for clock stretching, "i2c-scl-internal-delay-ns" should be a good choice for our hardware, although it maybe not for clock stretching. > > If you think both of them will affect the ac-timing of SCL, at this > > point, "i2c-scl-falling-time-ns" maybe a good choice. > > Do you mean "i2c-scl-falling-time-ns" or "i2c-scl-internal-delay-ns"? > "i2c-scl-internal-delay-ns" is better. Thanks for your review. Qii
Re: [RESEND] i2c: mediatek: Get device clock-stretch time via dts
On Mon, Apr 12, 2021 at 08:03:14PM +0800, Qii Wang wrote: > On Wed, 2021-04-07 at 20:19 +0200, Wolfram Sang wrote: > > > Due to clock stretch, our HW IP cannot meet the ac-timing > > > spec(tSU;STA,tSU;STO). > > > There isn't a same delay for clock stretching, so we need pass a > > > parameter which can be found through measurement to meet most > > > conditions. > > > > What about using this existing binding? > > > > - i2c-scl-internal-delay-ns > > Number of nanoseconds the IP core additionally needs to setup SCL. > > > > I can't see the relationship between "i2c-scl-falling-time-ns" and clock > stretching, is there a parameter related to clock stretching? ( you wrote "i2c-scl-falling-time-ns" above, didn't you mean "i2c-scl-internal-delay-ns" instead? ) Not yet, and I wonder if there can be one. In I2C (not SMBus), devices are allowed to stretch the clock as long as they want, so what should be specified here? I suggesteed "internal-delay" because AFAIU your hardware needs this delay to be able to cope with clock stretching. > If you think both of them will affect the ac-timing of SCL, at this > point, "i2c-scl-falling-time-ns" maybe a good choice. Do you mean "i2c-scl-falling-time-ns" or "i2c-scl-internal-delay-ns"? signature.asc Description: PGP signature
Re: [RESEND] i2c: mediatek: Get device clock-stretch time via dts
On Wed, 2021-04-07 at 20:19 +0200, Wolfram Sang wrote: > > Due to clock stretch, our HW IP cannot meet the ac-timing > > spec(tSU;STA,tSU;STO). > > There isn't a same delay for clock stretching, so we need pass a > > parameter which can be found through measurement to meet most > > conditions. > > What about using this existing binding? > > - i2c-scl-internal-delay-ns > Number of nanoseconds the IP core additionally needs to setup SCL. > I can't see the relationship between "i2c-scl-falling-time-ns" and clock stretching, is there a parameter related to clock stretching? If you think both of them will affect the ac-timing of SCL, at this point, "i2c-scl-falling-time-ns" maybe a good choice.
Re: [RESEND] i2c: mediatek: Get device clock-stretch time via dts
> Due to clock stretch, our HW IP cannot meet the ac-timing > spec(tSU;STA,tSU;STO). > There isn't a same delay for clock stretching, so we need pass a > parameter which can be found through measurement to meet most > conditions. What about using this existing binding? - i2c-scl-internal-delay-ns Number of nanoseconds the IP core additionally needs to setup SCL. signature.asc Description: PGP signature
Re: [RESEND] i2c: mediatek: Get device clock-stretch time via dts
On Tue, 2021-04-06 at 21:48 +0200, Wolfram Sang wrote: > On Sat, Mar 13, 2021 at 04:04:24PM +0800, qii.w...@mediatek.com wrote: > > From: Qii Wang > > > > tSU,STA/tHD,STA/tSU,STOP maybe out of spec due to device > > clock-stretching or circuit loss, we could get device > > clock-stretch time from dts to adjust these parameters > > to meet the spec via EXT_CONF register. > > > > Signed-off-by: Qii Wang > > I tried to understand from the code what the new binding expresses, but > I don't fully understand it. Is it the maximum clock stretch time? > Because I cannot recall a device which always uses the same delay for > clock stretching. > Due to clock stretch, our HW IP cannot meet the ac-timing spec(tSU;STA,tSU;STO). There isn't a same delay for clock stretching, so we need pass a parameter which can be found through measurement to meet most conditions.
Re: [RESEND] i2c: mediatek: Get device clock-stretch time via dts
On Sat, Mar 13, 2021 at 04:04:24PM +0800, qii.w...@mediatek.com wrote: > From: Qii Wang > > tSU,STA/tHD,STA/tSU,STOP maybe out of spec due to device > clock-stretching or circuit loss, we could get device > clock-stretch time from dts to adjust these parameters > to meet the spec via EXT_CONF register. > > Signed-off-by: Qii Wang I tried to understand from the code what the new binding expresses, but I don't fully understand it. Is it the maximum clock stretch time? Because I cannot recall a device which always uses the same delay for clock stretching. signature.asc Description: PGP signature
Re: [RESEND] i2c: mediatek: Get device clock-stretch time via dts
> tSU,STA/tHD,STA/tSU,STOP maybe out of spec due to device > clock-stretching or circuit loss, we could get device > clock-stretch time from dts to adjust these parameters > to meet the spec via EXT_CONF register. > > Signed-off-by: Qii Wang I will look at this next and think about it. New bindings are always a bit more time consuming. signature.asc Description: PGP signature