cmos: Rename the CMOS related functions.
Most of the code related to the mc146818 is not related to the RTC and is really for managing the CMOS storage. Since we intend to add a generic API for RTC drivers it's inconvenient for those functions to have an rtc_ prefix. This CL renames those functions so they start with cmos_ instead. There are some places where rtc_init was called with a comment that says something about starting the RTC. That wasn't correct before (the RTC is always running), but it looks a little odd now that the function is called cmos_init. This CL also opportunistically cleans up some style problems in this file. BUG=None TEST=Built for link. Built for nyan. BRANCH=nyan Change-Id: Id4b9f6bea93e8bd5eaef2cb17f296adb9697114c Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-on: https://chromium-review.googlesource.com/197794 Reviewed-by: Gabe Black <gabeblack@chromium.org> Tested-by: Gabe Black <gabeblack@chromium.org> Commit-Queue: Gabe Black <gabeblack@chromium.org>
This commit is contained in:
parent
a7c69981b1
commit
9a9ad24888
36 changed files with 131 additions and 128 deletions
|
|
@ -13,7 +13,7 @@
|
|||
#endif
|
||||
|
||||
|
||||
static void rtc_update_cmos_date(u8 has_century)
|
||||
static void cmos_update_date(u8 has_century)
|
||||
{
|
||||
/* Now setup a default date equals to the build date */
|
||||
cmos_write(0, RTC_CLK_SECOND);
|
||||
|
|
@ -27,28 +27,27 @@ static void rtc_update_cmos_date(u8 has_century)
|
|||
}
|
||||
|
||||
#if CONFIG_USE_OPTION_TABLE
|
||||
static int rtc_checksum_valid(int range_start, int range_end, int cks_loc)
|
||||
static int cmos_checksum_valid(int range_start, int range_end, int cks_loc)
|
||||
{
|
||||
int i;
|
||||
u16 sum, old_sum;
|
||||
sum = 0;
|
||||
for(i = range_start; i <= range_end; i++) {
|
||||
for (i = range_start; i <= range_end; i++)
|
||||
sum += cmos_read(i);
|
||||
}
|
||||
old_sum = ((cmos_read(cks_loc)<<8) | cmos_read(cks_loc+1))&0x0ffff;
|
||||
old_sum = ((cmos_read(cks_loc) << 8) | cmos_read(cks_loc + 1)) &
|
||||
0x0ffff;
|
||||
return sum == old_sum;
|
||||
}
|
||||
|
||||
static void rtc_set_checksum(int range_start, int range_end, int cks_loc)
|
||||
static void cmos_set_checksum(int range_start, int range_end, int cks_loc)
|
||||
{
|
||||
int i;
|
||||
u16 sum;
|
||||
sum = 0;
|
||||
for(i = range_start; i <= range_end; i++) {
|
||||
for (i = range_start; i <= range_end; i++)
|
||||
sum += cmos_read(i);
|
||||
}
|
||||
cmos_write(((sum >> 8) & 0x0ff), cks_loc);
|
||||
cmos_write(((sum >> 0) & 0x0ff), cks_loc+1);
|
||||
cmos_write(((sum >> 0) & 0x0ff), cks_loc + 1);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -63,7 +62,7 @@ static void rtc_set_checksum(int range_start, int range_end, int cks_loc)
|
|||
#endif
|
||||
|
||||
#ifndef __SMM__
|
||||
void rtc_init(int invalid)
|
||||
void cmos_init(int invalid)
|
||||
{
|
||||
int cmos_invalid = 0;
|
||||
int checksum_invalid = 0;
|
||||
|
|
@ -89,7 +88,7 @@ void rtc_init(int invalid)
|
|||
cmos_invalid = !(x & RTC_VRT);
|
||||
|
||||
/* See if there is a CMOS checksum error */
|
||||
checksum_invalid = !rtc_checksum_valid(PC_CKS_RANGE_START,
|
||||
checksum_invalid = !cmos_checksum_valid(PC_CKS_RANGE_START,
|
||||
PC_CKS_RANGE_END,PC_CKS_LOC);
|
||||
|
||||
#define CLEAR_CMOS 0
|
||||
|
|
@ -104,13 +103,11 @@ void rtc_init(int invalid)
|
|||
cmos_write(0, 0x01);
|
||||
cmos_write(0, 0x03);
|
||||
cmos_write(0, 0x05);
|
||||
for(i = 10; i < 128; i++) {
|
||||
for (i = 10; i < 128; i++)
|
||||
cmos_write(0, i);
|
||||
}
|
||||
#endif
|
||||
if (cmos_invalid) {
|
||||
rtc_update_cmos_date(RTC_HAS_NO_ALTCENTURY);
|
||||
}
|
||||
if (cmos_invalid)
|
||||
cmos_update_date(RTC_HAS_NO_ALTCENTURY);
|
||||
|
||||
printk(BIOS_WARNING, "RTC:%s%s%s%s\n",
|
||||
invalid?" Clear requested":"",
|
||||
|
|
@ -128,30 +125,29 @@ void rtc_init(int invalid)
|
|||
|
||||
#if CONFIG_USE_OPTION_TABLE
|
||||
/* See if there is a LB CMOS checksum error */
|
||||
checksum_invalid = !rtc_checksum_valid(LB_CKS_RANGE_START,
|
||||
checksum_invalid = !cmos_checksum_valid(LB_CKS_RANGE_START,
|
||||
LB_CKS_RANGE_END,LB_CKS_LOC);
|
||||
if(checksum_invalid)
|
||||
if (checksum_invalid)
|
||||
printk(BIOS_DEBUG, "RTC: coreboot checksum invalid\n");
|
||||
|
||||
/* Make certain we have a valid checksum */
|
||||
rtc_set_checksum(PC_CKS_RANGE_START,
|
||||
PC_CKS_RANGE_END,PC_CKS_LOC);
|
||||
cmos_set_checksum(PC_CKS_RANGE_START, PC_CKS_RANGE_END, PC_CKS_LOC);
|
||||
#endif
|
||||
|
||||
/* Clear any pending interrupts */
|
||||
(void) cmos_read(RTC_INTR_FLAGS);
|
||||
cmos_read(RTC_INTR_FLAGS);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if CONFIG_USE_OPTION_TABLE
|
||||
/* This routine returns the value of the requested bits
|
||||
input bit = bit count from the beginning of the cmos image
|
||||
length = number of bits to include in the value
|
||||
ret = a character pointer to where the value is to be returned
|
||||
output the value placed in ret
|
||||
returns 0 = successful, -1 = an error occurred
|
||||
*/
|
||||
/*
|
||||
* This routine returns the value of the requested bits.
|
||||
* input bit = bit count from the beginning of the cmos image
|
||||
* length = number of bits to include in the value
|
||||
* vret = a character pointer to where the value is to be returned
|
||||
* returns 0 = successful, -1 = an error occurred
|
||||
*/
|
||||
static int get_cmos_value(unsigned long bit, unsigned long length, void *vret)
|
||||
{
|
||||
unsigned char *ret;
|
||||
|
|
@ -159,21 +155,22 @@ static int get_cmos_value(unsigned long bit, unsigned long length, void *vret)
|
|||
unsigned long i;
|
||||
unsigned char uchar;
|
||||
|
||||
/* The table is checked when it is built to ensure all
|
||||
values are valid. */
|
||||
/*
|
||||
* The table is checked when it is built to ensure all
|
||||
* values are valid.
|
||||
*/
|
||||
ret = vret;
|
||||
byte=bit/8; /* find the byte where the data starts */
|
||||
byte_bit=bit%8; /* find the bit in the byte where the data starts */
|
||||
if(length<9) { /* one byte or less */
|
||||
byte = bit / 8; /* find the byte where the data starts */
|
||||
byte_bit = bit % 8; /* find the bit in the byte where the data starts */
|
||||
if (length < 9) { /* one byte or less */
|
||||
uchar = cmos_read(byte); /* load the byte */
|
||||
uchar >>= byte_bit; /* shift the bits to byte align */
|
||||
/* clear unspecified bits */
|
||||
ret[0] = uchar & ((1 << length) -1);
|
||||
}
|
||||
else { /* more that one byte so transfer the whole bytes */
|
||||
for(i=0;length;i++,length-=8,byte++) {
|
||||
ret[0] = uchar & ((1 << length) - 1);
|
||||
} else { /* more that one byte so transfer the whole bytes */
|
||||
for (i = 0; length; i++, length -= 8, byte++) {
|
||||
/* load the byte */
|
||||
ret[i]=cmos_read(byte);
|
||||
ret[i] = cmos_read(byte);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -184,7 +181,7 @@ int get_option(void *dest, const char *name)
|
|||
struct cmos_option_table *ct;
|
||||
struct cmos_entries *ce;
|
||||
size_t namelen;
|
||||
int found=0;
|
||||
int found = 0;
|
||||
|
||||
/* Figure out how long name is */
|
||||
namelen = strnlen(name, CMOS_MAX_NAME_LENGTH);
|
||||
|
|
@ -195,27 +192,27 @@ int get_option(void *dest, const char *name)
|
|||
if (!ct) {
|
||||
printk(BIOS_ERR, "RTC: cmos_layout.bin could not be found. "
|
||||
"Options are disabled\n");
|
||||
return(-2);
|
||||
return -2;
|
||||
}
|
||||
ce=(struct cmos_entries*)((unsigned char *)ct + ct->header_length);
|
||||
for(;ce->tag==LB_TAG_OPTION;
|
||||
ce=(struct cmos_entries*)((unsigned char *)ce + ce->size)) {
|
||||
ce = (struct cmos_entries*)((unsigned char *)ct + ct->header_length);
|
||||
for(; ce->tag == LB_TAG_OPTION;
|
||||
ce = (struct cmos_entries*)((unsigned char *)ce + ce->size)) {
|
||||
if (memcmp(ce->name, name, namelen) == 0) {
|
||||
found=1;
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!found) {
|
||||
if (!found) {
|
||||
printk(BIOS_DEBUG, "WARNING: No CMOS option '%s'.\n", name);
|
||||
return(-2);
|
||||
return -2;
|
||||
}
|
||||
|
||||
if(get_cmos_value(ce->bit, ce->length, dest))
|
||||
return(-3);
|
||||
if(!rtc_checksum_valid(LB_CKS_RANGE_START,
|
||||
LB_CKS_RANGE_END,LB_CKS_LOC))
|
||||
return(-4);
|
||||
return(0);
|
||||
if (get_cmos_value(ce->bit, ce->length, dest))
|
||||
return -3;
|
||||
if (!cmos_checksum_valid(LB_CKS_RANGE_START, LB_CKS_RANGE_END,
|
||||
LB_CKS_LOC))
|
||||
return -4;
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
static int set_cmos_value(unsigned long bit, unsigned long length, void *vret)
|
||||
|
|
@ -227,9 +224,9 @@ static int set_cmos_value(unsigned long bit, unsigned long length, void *vret)
|
|||
unsigned int chksum_update_needed = 0;
|
||||
|
||||
ret = vret;
|
||||
byte = bit / 8; /* find the byte where the data starts */
|
||||
byte_bit = bit % 8; /* find the bit in the byte where the data starts */
|
||||
if(length <= 8) { /* one byte or less */
|
||||
byte = bit / 8; /* find the byte where the data starts */
|
||||
byte_bit = bit % 8; /* find the bit where the data starts */
|
||||
if (length <= 8) { /* one byte or less */
|
||||
mask = (1 << length) - 1;
|
||||
mask <<= byte_bit;
|
||||
|
||||
|
|
@ -239,19 +236,20 @@ static int set_cmos_value(unsigned long bit, unsigned long length, void *vret)
|
|||
cmos_write(uchar, byte);
|
||||
if (byte >= LB_CKS_RANGE_START && byte <= LB_CKS_RANGE_END)
|
||||
chksum_update_needed = 1;
|
||||
} else { /* more that one byte so transfer the whole bytes */
|
||||
} else { /* more that one byte so transfer the whole bytes */
|
||||
if (byte_bit || length % 8)
|
||||
return -1;
|
||||
|
||||
for(i=0; length; i++, length-=8, byte++)
|
||||
for (i = 0; length; i++, length -= 8, byte++)
|
||||
cmos_write(ret[i], byte);
|
||||
if (byte >= LB_CKS_RANGE_START && byte <= LB_CKS_RANGE_END)
|
||||
if (byte >= LB_CKS_RANGE_START &&
|
||||
byte <= LB_CKS_RANGE_END)
|
||||
chksum_update_needed = 1;
|
||||
}
|
||||
|
||||
if (chksum_update_needed) {
|
||||
rtc_set_checksum(LB_CKS_RANGE_START,
|
||||
LB_CKS_RANGE_END,LB_CKS_LOC);
|
||||
cmos_set_checksum(LB_CKS_RANGE_START, LB_CKS_RANGE_END,
|
||||
LB_CKS_LOC);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -263,7 +261,7 @@ int set_option(const char *name, void *value)
|
|||
struct cmos_entries *ce;
|
||||
unsigned long length;
|
||||
size_t namelen;
|
||||
int found=0;
|
||||
int found = 0;
|
||||
|
||||
/* Figure out how long name is */
|
||||
namelen = strnlen(name, CMOS_MAX_NAME_LENGTH);
|
||||
|
|
@ -272,20 +270,21 @@ int set_option(const char *name, void *value)
|
|||
ct = cbfs_get_file_content(CBFS_DEFAULT_MEDIA, "cmos_layout.bin",
|
||||
CBFS_COMPONENT_CMOS_LAYOUT);
|
||||
if (!ct) {
|
||||
printk(BIOS_ERR, "cmos_layout.bin could not be found. Options are disabled\n");
|
||||
return(-2);
|
||||
printk(BIOS_ERR, "cmos_layout.bin could not be found. "
|
||||
"Options are disabled\n");
|
||||
return -2;
|
||||
}
|
||||
ce=(struct cmos_entries*)((unsigned char *)ct + ct->header_length);
|
||||
for(;ce->tag==LB_TAG_OPTION;
|
||||
ce=(struct cmos_entries*)((unsigned char *)ce + ce->size)) {
|
||||
ce = (struct cmos_entries*)((unsigned char *)ct + ct->header_length);
|
||||
for(; ce->tag == LB_TAG_OPTION;
|
||||
ce = (struct cmos_entries*)((unsigned char *)ce + ce->size)) {
|
||||
if (memcmp(ce->name, name, namelen) == 0) {
|
||||
found=1;
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!found) {
|
||||
if (!found) {
|
||||
printk(BIOS_DEBUG, "WARNING: No CMOS option '%s'.\n", name);
|
||||
return(-2);
|
||||
return -2;
|
||||
}
|
||||
|
||||
length = ce->length;
|
||||
|
|
@ -293,11 +292,11 @@ int set_option(const char *name, void *value)
|
|||
length = MAX(strlen((const char *)value) * 8, ce->length - 8);
|
||||
/* make sure the string is null terminated */
|
||||
if ((set_cmos_value(ce->bit + ce->length - 8, 8, &(u8[]){0})))
|
||||
return (-3);
|
||||
return -3;
|
||||
}
|
||||
|
||||
if ((set_cmos_value(ce->bit, length, value)))
|
||||
return (-3);
|
||||
return -3;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -308,17 +307,19 @@ int set_option(const char *name, void *value)
|
|||
* hurts some OSes. Even if we don't set USE_OPTION_TABLE, we need
|
||||
* to make sure the date is valid.
|
||||
*/
|
||||
void rtc_check_update_cmos_date(u8 has_century)
|
||||
void cmos_check_update_date(u8 has_century)
|
||||
{
|
||||
u8 year, century;
|
||||
|
||||
/* Note: We need to check if the hardware supports RTC_CLK_ALTCENTURY. */
|
||||
century = has_century ? cmos_read(RTC_CLK_ALTCENTURY) : 0;
|
||||
year = cmos_read(RTC_CLK_YEAR);
|
||||
/* Note: Need to check if the hardware supports RTC_CLK_ALTCENTURY. */
|
||||
century = has_century ? cmos_read(RTC_CLK_ALTCENTURY) : 0;
|
||||
year = cmos_read(RTC_CLK_YEAR);
|
||||
|
||||
/* TODO: If century is 0xFF, 100% that the cmos is cleared.
|
||||
* Other than that, so far rtc_year is the only entry to check if the date is valid. */
|
||||
if (century > 0x99 || year > 0x99) { /* Invalid date */
|
||||
rtc_update_cmos_date(has_century);
|
||||
}
|
||||
/*
|
||||
* TODO: If century is 0xFF, 100% that the cmos is cleared.
|
||||
* Other than that, so far rtc_year is the only entry to check
|
||||
* if the date is valid.
|
||||
*/
|
||||
if (century > 0x99 || year > 0x99) /* Invalid date */
|
||||
cmos_update_date(has_century);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef PC80_MC146818RTC_H
|
||||
#define PC80_MC146818RTC_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifndef RTC_BASE_PORT
|
||||
#define RTC_BASE_PORT 0x70
|
||||
#endif
|
||||
|
|
@ -168,8 +170,8 @@ static inline void cmos_write32(u8 offset, u32 value)
|
|||
#endif
|
||||
|
||||
#if !defined(__ROMCC__)
|
||||
void rtc_init(int invalid);
|
||||
void rtc_check_update_cmos_date(u8 has_century);
|
||||
void cmos_init(int invalid);
|
||||
void cmos_check_update_date(u8 has_century);
|
||||
#if CONFIG_USE_OPTION_TABLE
|
||||
int set_option(const char *name, void *val);
|
||||
int get_option(void *dest, const char *name);
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@ static void cx700_lpc_init(struct device *dev)
|
|||
setup_i8259();
|
||||
|
||||
/* Start the Real Time Clock */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/* Initialize isa dma */
|
||||
isa_dma_init();
|
||||
|
|
|
|||
|
|
@ -295,7 +295,7 @@ static void vx800_sb_init(struct device *dev)
|
|||
pci_write_config8(dev, 0x40, 0x54);
|
||||
|
||||
// Start the rtc
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
}
|
||||
|
||||
/* total kludge to get lxb to call our childrens set/enable functions - these are
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ static void sc_rtc_init(void)
|
|||
printk(BIOS_DEBUG, "RTC failure.\n");
|
||||
}
|
||||
|
||||
rtc_init(rtc_fail);
|
||||
cmos_init(rtc_fail);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -68,14 +68,14 @@ static void lpc_init(device_t dev)
|
|||
byte |= 1 << 0 | 1 << 3;
|
||||
pci_write_config8(dev, 0xBB, byte);
|
||||
|
||||
rtc_check_update_cmos_date(RTC_HAS_ALTCENTURY);
|
||||
cmos_check_update_date(RTC_HAS_ALTCENTURY);
|
||||
|
||||
/* Initialize the real time clock.
|
||||
* The 0 argument tells rtc_init not to
|
||||
* The 0 argument tells cmos_init not to
|
||||
* update CMOS unless it is invalid.
|
||||
* 1 tells rtc_init to always initialize the CMOS.
|
||||
* 1 tells cmos_init to always initialize the CMOS.
|
||||
*/
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
}
|
||||
|
||||
static void hudson_lpc_read_resources(device_t dev)
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ static void lpc_init(struct device *dev)
|
|||
}
|
||||
|
||||
/* Initialize the real time clock */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/* Initialize isa dma */
|
||||
isa_dma_init();
|
||||
|
|
|
|||
|
|
@ -77,14 +77,14 @@ static void lpc_init(device_t dev)
|
|||
{
|
||||
printk(BIOS_DEBUG, "SB700 - Late.c - lpc_init - Start.\n");
|
||||
|
||||
rtc_check_update_cmos_date(RTC_HAS_ALTCENTURY);
|
||||
cmos_check_update_date(RTC_HAS_ALTCENTURY);
|
||||
|
||||
/* Initialize the real time clock.
|
||||
* The 0 argument tells rtc_init not to
|
||||
* The 0 argument tells cmos_init not to
|
||||
* update CMOS unless it is invalid.
|
||||
* 1 tells rtc_init to always initialize the CMOS.
|
||||
* 1 tells cmos_init to always initialize the CMOS.
|
||||
*/
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
printk(BIOS_DEBUG, "SB700 - Late.c - lpc_init - End.\n");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,14 +126,14 @@ static void lpc_init(device_t dev)
|
|||
{
|
||||
printk(BIOS_DEBUG, "SB800 - Late.c - lpc_init - Start.\n");
|
||||
|
||||
rtc_check_update_cmos_date(RTC_HAS_ALTCENTURY);
|
||||
cmos_check_update_date(RTC_HAS_ALTCENTURY);
|
||||
|
||||
/* Initialize the real time clock.
|
||||
* The 0 argument tells rtc_init not to
|
||||
* The 0 argument tells cmos_init not to
|
||||
* update CMOS unless it is invalid.
|
||||
* 1 tells rtc_init to always initialize the CMOS.
|
||||
* 1 tells cmos_init to always initialize the CMOS.
|
||||
*/
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
printk(BIOS_DEBUG, "SB800 - Late.c - lpc_init - End.\n");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,14 +99,14 @@ static void lpc_init(device_t dev)
|
|||
printk(BIOS_DEBUG, "SB900 - Late.c - lpc_init - Start.\n");
|
||||
/* SB Configure HPET base and enable bit */
|
||||
//- hpetInit(sb_config, &(sb_config->BuildParameters));
|
||||
rtc_check_update_cmos_date(RTC_HAS_ALTCENTURY);
|
||||
cmos_check_update_date(RTC_HAS_ALTCENTURY);
|
||||
|
||||
/* Initialize the real time clock.
|
||||
* The 0 argument tells rtc_init not to
|
||||
* The 0 argument tells cmos_init not to
|
||||
* update CMOS unless it is invalid.
|
||||
* 1 tells rtc_init to always initialize the CMOS.
|
||||
* 1 tells cmos_init to always initialize the CMOS.
|
||||
*/
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
printk(BIOS_DEBUG, "SB900 - Late.c - lpc_init - End.\n");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ static void lpc_init(struct southbridge_amd_cs5536_config *sb)
|
|||
msr.lo = RTC_MONA;
|
||||
wrmsr(MDD_RTC_MONA_IND, msr);
|
||||
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
isa_dma_init();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ static void lpc_init(device_t dev)
|
|||
byte &= ~(1 << 1);
|
||||
pci_write_config8(dev, 0x78, byte);
|
||||
|
||||
rtc_check_update_cmos_date(RTC_HAS_ALTCENTURY);
|
||||
cmos_check_update_date(RTC_HAS_ALTCENTURY);
|
||||
}
|
||||
|
||||
static void sb600_lpc_read_resources(device_t dev)
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ static void sm_init(device_t dev)
|
|||
/* ab index */
|
||||
pci_write_config32(dev, 0xF0, AB_INDX);
|
||||
/* Initialize the real time clock */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/*3.4 Enabling IDE/PCIB Prefetch for Performance Enhancement */
|
||||
abcfg_reg(0x10060, 9 << 17, 9 << 17);
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ static void lpc_init(device_t dev)
|
|||
}
|
||||
#endif
|
||||
|
||||
rtc_check_update_cmos_date(RTC_HAS_ALTCENTURY);
|
||||
cmos_check_update_date(RTC_HAS_ALTCENTURY);
|
||||
}
|
||||
|
||||
void set_cbmem_toc(struct cbmem_entry *toc)
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ static void sm_init(device_t dev)
|
|||
/* ab index */
|
||||
pci_write_config32(dev, 0xF0, AB_INDX);
|
||||
/* Initialize the real time clock */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/* 4.3 Enabling Upstream DMA Access */
|
||||
axcfg_reg(0x04, 1 << 2, 1 << 2);
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ static void lpc_init(device_t dev)
|
|||
byte |= 1 << 0 | 1 << 3;
|
||||
pci_write_config8(dev, 0xBB, byte);
|
||||
|
||||
rtc_check_update_cmos_date(RTC_HAS_ALTCENTURY);
|
||||
cmos_check_update_date(RTC_HAS_ALTCENTURY);
|
||||
}
|
||||
|
||||
static void sb800_lpc_read_resources(device_t dev)
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ static void sm_init(device_t dev)
|
|||
pm_iowrite(0xE2, (AB_INDX >> 16) & 0xFF);
|
||||
pm_iowrite(0xE3, (AB_INDX >> 24) & 0xFF);
|
||||
/* Initialize the real time clock */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
byte = pm_ioread(0x8);
|
||||
byte |= 1 << 2 | 1 << 4;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
static void lpc_init(device_t dev)
|
||||
{
|
||||
/* Initialize the real time clock */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/* Initialize isa dma */
|
||||
isa_dma_init();
|
||||
|
|
|
|||
|
|
@ -303,7 +303,7 @@ static void pch_rtc_init(struct device *dev)
|
|||
}
|
||||
printk(BIOS_DEBUG, "rtc_failed = 0x%x\n", rtc_failed);
|
||||
|
||||
rtc_init(rtc_failed);
|
||||
cmos_init(rtc_failed);
|
||||
}
|
||||
|
||||
/* CougarPoint PCH Power Management init */
|
||||
|
|
|
|||
|
|
@ -297,7 +297,7 @@ static void lpc_init(struct device *dev)
|
|||
esb6300_gpio_init(dev);
|
||||
|
||||
/* Initialize the real time clock */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/* Initialize isa dma */
|
||||
isa_dma_init();
|
||||
|
|
|
|||
|
|
@ -374,7 +374,7 @@ static void lpc_init(struct device *dev)
|
|||
i3100_gpio_init(dev);
|
||||
|
||||
/* Initialize the real time clock */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/* Initialize isa dma */
|
||||
isa_dma_init();
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ static void isa_init(struct device *dev)
|
|||
u32 reg32;
|
||||
|
||||
/* Initialize the real time clock (RTC). */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/*
|
||||
* Enable special cycles, needed for soft poweroff.
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ static void i82801ax_rtc_init(struct device *dev)
|
|||
}
|
||||
reg32 = pci_read_config32(dev, GEN_STA);
|
||||
rtc_failed |= reg32 & (1 << 2);
|
||||
rtc_init(rtc_failed);
|
||||
cmos_init(rtc_failed);
|
||||
|
||||
/* Enable access to the upper 128 byte bank of CMOS RAM. */
|
||||
pci_write_config8(dev, RTC_CONF, 0x04);
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ static void i82801bx_rtc_init(struct device *dev)
|
|||
}
|
||||
reg32 = pci_read_config32(dev, GEN_STS);
|
||||
rtc_failed |= reg32 & (1 << 2);
|
||||
rtc_init(rtc_failed);
|
||||
cmos_init(rtc_failed);
|
||||
|
||||
/* Enable access to the upper 128 byte bank of CMOS RAM. */
|
||||
pci_write_config8(dev, RTC_CONF, 0x04);
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ static void i82801cx_rtc_init(struct device *dev)
|
|||
dword = pci_read_config32(dev, GEN_STS);
|
||||
rtc_failed |= dword & (1 << 2);
|
||||
|
||||
rtc_init(rtc_failed);
|
||||
cmos_init(rtc_failed);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ static void i82801dx_rtc_init(struct device *dev)
|
|||
}
|
||||
reg32 = pci_read_config32(dev, GEN_STS);
|
||||
rtc_failed |= reg32 & (1 << 2);
|
||||
rtc_init(rtc_failed);
|
||||
cmos_init(rtc_failed);
|
||||
|
||||
/* Enable access to the upper 128 byte bank of CMOS RAM. */
|
||||
pci_write_config8(dev, RTC_CONF, 0x04);
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ static void lpc_init(struct device *dev)
|
|||
i82801ex_gpio_init(dev);
|
||||
|
||||
/* Initialize the real time clock */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/* Initialize isa dma */
|
||||
isa_dma_init();
|
||||
|
|
|
|||
|
|
@ -304,7 +304,7 @@ static void i82801gx_rtc_init(struct device *dev)
|
|||
}
|
||||
printk(BIOS_DEBUG, "rtc_failed = 0x%x\n", rtc_failed);
|
||||
|
||||
rtc_init(rtc_failed);
|
||||
cmos_init(rtc_failed);
|
||||
}
|
||||
|
||||
static void enable_hpet(void)
|
||||
|
|
|
|||
|
|
@ -323,7 +323,7 @@ static void i82801ix_rtc_init(struct device *dev)
|
|||
}
|
||||
printk(BIOS_DEBUG, "rtc_failed = 0x%x\n", rtc_failed);
|
||||
|
||||
rtc_init(rtc_failed);
|
||||
cmos_init(rtc_failed);
|
||||
}
|
||||
|
||||
static void enable_hpet(void)
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@ static void pch_rtc_init(struct device *dev)
|
|||
}
|
||||
printk(BIOS_DEBUG, "rtc_failed = 0x%x\n", rtc_failed);
|
||||
|
||||
rtc_init(rtc_failed);
|
||||
cmos_init(rtc_failed);
|
||||
}
|
||||
|
||||
/* LynxPoint PCH Power Management init */
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ static void lpc_init(device_t dev)
|
|||
outb(byte, 0x70);
|
||||
|
||||
/* Initialize the real time clock (RTC). */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/* Initialize ISA DMA. */
|
||||
isa_dma_init();
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ static void lpc_init(device_t dev)
|
|||
outb(byte, 0x70);
|
||||
|
||||
/* Initialize the real time clock. */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/* Initialize ISA DMA. */
|
||||
isa_dma_init();
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ static void lpc_init(device_t dev)
|
|||
}
|
||||
|
||||
/* Initialize the real time clock */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
|
||||
/* Initialize isa dma */
|
||||
isa_dma_init();
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ static void vt8231_init(struct device *dev)
|
|||
//ethernet_fixup();
|
||||
|
||||
// Start the rtc
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
}
|
||||
|
||||
static void vt8231_read_resources(device_t dev)
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ static void vt8235_init(struct device *dev)
|
|||
pci_write_config8(dev, 0x40, 0x54);
|
||||
|
||||
// Start the rtc
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
}
|
||||
|
||||
/* total kludge to get lxb to call our childrens set/enable functions - these are not called unless this
|
||||
|
|
|
|||
|
|
@ -565,7 +565,7 @@ static void vt8237_common_init(struct device *dev)
|
|||
setup_pm(dev);
|
||||
|
||||
/* Start the RTC. */
|
||||
rtc_init(0);
|
||||
cmos_init(0);
|
||||
}
|
||||
|
||||
static void vt8237r_read_resources(device_t dev)
|
||||
|
|
|
|||
Loading…
Reference in a new issue