[PATCH] RTC: RK808: fix the rtc time reading issue

Doug Anderson dianders at chromium.org
Wed Jan 14 10:36:59 PST 2015


Sonny,

> Chris, it looks like you swapped the set and the clear of this bit,
> and you're relying on the fact that the i2c transaction takes a
> certain amount of time after the RTC_GET_TIME BIT is set.   I'm not
> sure how long it actually takes, but why not just put in a usleep()
> for the minimum wait time?

I think we are safe.

At 400kHz (the max speed of this part) each bit can be transferred no
faster than 2.5us.  In order to do a valid i2c transaction we need to
_at least_ write the address of the device and the data onto the bus,
which is 16 bits.  16 * 2.5us = 40us.  That's above the 31.25us

Personally I think what Chris has is fine, with the comment.

-Doug



More information about the Linux-rockchip mailing list