Don't write to CMOS when HAVE_OPTION_TABLE = 0.
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2025 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
d94e1d6e9d
commit
8cbc4751d1
|
@ -127,6 +127,8 @@ void rtc_init(int invalid)
|
||||||
int cmos_invalid, checksum_invalid;
|
int cmos_invalid, checksum_invalid;
|
||||||
|
|
||||||
printk_debug("RTC Init\n");
|
printk_debug("RTC Init\n");
|
||||||
|
|
||||||
|
#if HAVE_OPTION_TABLE
|
||||||
/* See if there has been a CMOS power problem. */
|
/* See if there has been a CMOS power problem. */
|
||||||
x = CMOS_READ(RTC_VALID);
|
x = CMOS_READ(RTC_VALID);
|
||||||
cmos_invalid = !(x & RTC_VRT);
|
cmos_invalid = !(x & RTC_VRT);
|
||||||
|
@ -160,19 +162,25 @@ void rtc_init(int invalid)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Setup the real time clock */
|
||||||
|
CMOS_WRITE(RTC_CONTROL_DEFAULT, RTC_CONTROL);
|
||||||
|
/* Setup the frequency it operates at */
|
||||||
|
CMOS_WRITE(RTC_FREQ_SELECT_DEFAULT, RTC_FREQ_SELECT);
|
||||||
|
|
||||||
|
#if HAVE_OPTION_TABLE
|
||||||
/* See if there is a LB CMOS checksum error */
|
/* See if there is a LB CMOS checksum error */
|
||||||
checksum_invalid = !rtc_checksum_valid(LB_CKS_RANGE_START,
|
checksum_invalid = !rtc_checksum_valid(LB_CKS_RANGE_START,
|
||||||
LB_CKS_RANGE_END,LB_CKS_LOC);
|
LB_CKS_RANGE_END,LB_CKS_LOC);
|
||||||
if(checksum_invalid)
|
if(checksum_invalid)
|
||||||
printk_debug("Invalid CMOS LB checksum\n");
|
printk_debug("Invalid CMOS LB checksum\n");
|
||||||
|
|
||||||
/* Setup the real time clock */
|
|
||||||
CMOS_WRITE(RTC_CONTROL_DEFAULT, RTC_CONTROL);
|
|
||||||
/* Setup the frequency it operates at */
|
|
||||||
CMOS_WRITE(RTC_FREQ_SELECT_DEFAULT, RTC_FREQ_SELECT);
|
|
||||||
/* Make certain we have a valid checksum */
|
/* Make certain we have a valid checksum */
|
||||||
rtc_set_checksum(PC_CKS_RANGE_START,
|
rtc_set_checksum(PC_CKS_RANGE_START,
|
||||||
PC_CKS_RANGE_END,PC_CKS_LOC);
|
PC_CKS_RANGE_END,PC_CKS_LOC);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Clear any pending interrupts */
|
/* Clear any pending interrupts */
|
||||||
(void) CMOS_READ(RTC_INTR_FLAGS);
|
(void) CMOS_READ(RTC_INTR_FLAGS);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue