
Hello Chuanhua Han,
Am 08.07.2019 um 05:45 schrieb Chuanhua Han:
The previous pcf2127 RTC chip could not read and set the correct time. When reading the data of internal registers, the read address was the value of register plus 1. This is because this chip requires the host to send a stop signal after setting the register address and before reading the register data.
This patch sets the register address using dm_i2c_write and reads the register data using the original dm_i2c_xfer in order to generate a stop signal after the register address is set, and fixes the bug of the original read and write time.
Signed-off-by: Biwen Li biwen.li@nxp.com Signed-off-by: Chuanhua Han chuanhua.han@nxp.com Reviewed-by: Lukasz Majewski lukma@denx.de
Changes in v5:
- The modification made by i2c core layer is removed,
and the RTC time bug is fixed in pcf2127 driver using dm_i2c_xfer. Changes in v4:
- Replace DM_I2C_CHIP_RD_NO_I2C_SETUP_OFFSET with
DM_I2C_CHIP_ADDR_STOP. Changes in v3:
- When the rtc time is obtained, the address of the set register
is separated from the read data. Changes in v2:
- Split the original patch into 3 patches
- Add detailed description information for each patch
drivers/rtc/pcf2127.c | 33 ++++++++++++++++++++++++--------- 1 files changed, 24 insertions(+), 9 deletions(-)
Looks good to me now, many thanks!
Reviewed-by: Heiko Schocher hs@denx.de
bye, Heiko