BQ4802_DATA_REG
BQ4802_DATA_REG(RTC_CNTRL) = (RTC_HM | RTC_STOP_N);
(void) BQ4802_DATA_REG(RTC_FLAGS);
reg_cntrl = BQ4802_DATA_REG(RTC_CNTRL);
BQ4802_DATA_REG(RTC_CNTRL) = (reg_cntrl | RTC_UTI);
rtc->rtc_sec = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_SEC));
rtc->rtc_asec = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_ASEC));
rtc->rtc_min = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_MIN));
rtc->rtc_amin = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_AMIN));
rtc->rtc_hrs = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_HRS));
rtc->rtc_ahrs = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_AHRS));
rtc->rtc_dom = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_DOM));
rtc->rtc_adom = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_ADOM));
rtc->rtc_dow = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_DOW));
rtc->rtc_mon = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_MON));
rtc->rtc_year = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_YEAR));
rtc->rtc_century = BCD_TO_BYTE(BQ4802_DATA_REG(RTC_CENTURY));
BQ4802_DATA_REG(RTC_CNTRL) = reg_cntrl;
reg_cntrl = BQ4802_DATA_REG(RTC_CNTRL);
BQ4802_DATA_REG(RTC_CNTRL) = (reg_cntrl | RTC_UTI);
BQ4802_DATA_REG(RTC_SEC) = BYTE_TO_BCD(rtc->rtc_sec);
BQ4802_DATA_REG(RTC_MIN) = BYTE_TO_BCD(rtc->rtc_min);
BQ4802_DATA_REG(RTC_HRS) = BYTE_TO_BCD(rtc->rtc_hrs);
BQ4802_DATA_REG(RTC_DOM) = BYTE_TO_BCD(rtc->rtc_dom);
BQ4802_DATA_REG(RTC_DOW) = BYTE_TO_BCD(rtc->rtc_dow);
BQ4802_DATA_REG(RTC_MON) = BYTE_TO_BCD(rtc->rtc_mon);
BQ4802_DATA_REG(RTC_YEAR) = BYTE_TO_BCD(rtc->rtc_year);
BQ4802_DATA_REG(RTC_CENTURY) = BYTE_TO_BCD(rtc->rtc_century);
BQ4802_DATA_REG(RTC_CNTRL) = reg_cntrl;
BQ4802_DATA_REG(RTC_ASEC) = BYTE_TO_BCD(rtc->rtc_asec);
BQ4802_DATA_REG(RTC_AMIN) = BYTE_TO_BCD(rtc->rtc_amin);
BQ4802_DATA_REG(RTC_AHRS) = BYTE_TO_BCD(rtc->rtc_ahrs);
BQ4802_DATA_REG(RTC_ADOM) = BYTE_TO_BCD(rtc->rtc_adom);
regc = BQ4802_DATA_REG(RTC_ENABLES);
BQ4802_DATA_REG(RTC_ENABLES) = regc & ~(RTC_AIE | RTC_ABE);
(void) BQ4802_DATA_REG(RTC_FLAGS);
BQ4802_DATA_REG(RTC_ENABLES) = regc | RTC_AIE | RTC_ABE;
regc = BQ4802_DATA_REG(RTC_ENABLES);
BQ4802_DATA_REG(RTC_ENABLES) = regc & ~(RTC_AIE | RTC_ABE);