drop some unused files and fix warnings on i945 based systems.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5267 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
committed by
Stefan Reinauer
parent
c02b4fc9db
commit
53b0ea4bf2
@ -139,6 +139,9 @@ endif
|
|||||||
ifeq ($(CONFIG_CPU_AMD_SOCKET_940),y)
|
ifeq ($(CONFIG_CPU_AMD_SOCKET_940),y)
|
||||||
crt0s += $(src)/cpu/amd/car/cache_as_ram.inc
|
crt0s += $(src)/cpu/amd/car/cache_as_ram.inc
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(CONFIG_CPU_INTEL_ATOM_230),y)
|
||||||
|
crt0s += $(src)/cpu/intel/model_106cx/cache_as_ram.inc
|
||||||
|
endif
|
||||||
ifeq ($(CONFIG_CPU_INTEL_CORE),y)
|
ifeq ($(CONFIG_CPU_INTEL_CORE),y)
|
||||||
crt0s += $(src)/cpu/intel/model_6ex/cache_as_ram.inc
|
crt0s += $(src)/cpu/intel/model_6ex/cache_as_ram.inc
|
||||||
endif
|
endif
|
||||||
@ -199,8 +202,9 @@ $(obj)/mainboard/$(MAINBOARDDIR)/ap_romstage.o: $(src)/mainboard/$(MAINBOARDDIR)
|
|||||||
$(CC) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $(src)/mainboard/$(MAINBOARDDIR)/ap_romstage.c -o $@
|
$(CC) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $(src)/mainboard/$(MAINBOARDDIR)/ap_romstage.c -o $@
|
||||||
|
|
||||||
$(obj)/mainboard/$(MAINBOARDDIR)/romstage.inc: $(src)/mainboard/$(MAINBOARDDIR)/romstage.c $(OPTION_TABLE_H) $(obj)/build.h
|
$(obj)/mainboard/$(MAINBOARDDIR)/romstage.inc: $(src)/mainboard/$(MAINBOARDDIR)/romstage.c $(OPTION_TABLE_H) $(obj)/build.h
|
||||||
printf " GEN romstage.inc\n"
|
printf " CC romstage.inc\n"
|
||||||
$(CC) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -include $(obj)/build.h -I$(src) -I. -c -S $< -o $@.tmp1
|
$(CC) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -include $(obj)/build.h -I$(src) -I. -c -S $< -o $@.tmp1
|
||||||
|
printf " POST romstage.inc\n"
|
||||||
sed -e 's/\.rodata/.rom.data/g' -e 's/\.text/.section .rom.text/g' $@.tmp1 > $@.tmp
|
sed -e 's/\.rodata/.rom.data/g' -e 's/\.text/.section .rom.text/g' $@.tmp1 > $@.tmp
|
||||||
mv $@.tmp $@
|
mv $@.tmp $@
|
||||||
rm -f $@.tmp1
|
rm -f $@.tmp1
|
||||||
|
@ -10,11 +10,9 @@ config USE_DCACHE_RAM
|
|||||||
|
|
||||||
config DCACHE_RAM_BASE
|
config DCACHE_RAM_BASE
|
||||||
hex
|
hex
|
||||||
default 0xffdf8000 if CPU_INTEL_CORE
|
|
||||||
|
|
||||||
config DCACHE_RAM_SIZE
|
config DCACHE_RAM_SIZE
|
||||||
hex
|
hex
|
||||||
default 0x8000 if CPU_INTEL_CORE
|
|
||||||
|
|
||||||
config DCACHE_RAM_GLOBAL_VAR_SIZE
|
config DCACHE_RAM_GLOBAL_VAR_SIZE
|
||||||
hex
|
hex
|
||||||
|
@ -19,6 +19,10 @@
|
|||||||
|
|
||||||
#include "cpu/x86/car/copy_and_run.c"
|
#include "cpu/x86/car/copy_and_run.c"
|
||||||
|
|
||||||
|
/* called from assembler code */
|
||||||
|
void stage1_main(unsigned long bist);
|
||||||
|
|
||||||
|
/* from romstage.c */
|
||||||
void real_main(unsigned long bist);
|
void real_main(unsigned long bist);
|
||||||
|
|
||||||
void stage1_main(unsigned long bist)
|
void stage1_main(unsigned long bist)
|
||||||
@ -39,8 +43,6 @@ void stage1_main(unsigned long bist)
|
|||||||
printk(BIOS_SPEW, "v_esp=%08x\r\n", v_esp);
|
printk(BIOS_SPEW, "v_esp=%08x\r\n", v_esp);
|
||||||
}
|
}
|
||||||
|
|
||||||
cpu_reset_x:
|
|
||||||
|
|
||||||
printk(BIOS_SPEW, "cpu_reset = %08x\r\n",cpu_reset);
|
printk(BIOS_SPEW, "cpu_reset = %08x\r\n",cpu_reset);
|
||||||
|
|
||||||
if(cpu_reset == 0) {
|
if(cpu_reset == 0) {
|
||||||
|
@ -21,6 +21,10 @@
|
|||||||
|
|
||||||
#include "cpu/x86/car/copy_and_run.c"
|
#include "cpu/x86/car/copy_and_run.c"
|
||||||
|
|
||||||
|
/* called from assembler code */
|
||||||
|
void stage1_main(unsigned long bist);
|
||||||
|
|
||||||
|
/* from romstage.c */
|
||||||
void real_main(unsigned long bist);
|
void real_main(unsigned long bist);
|
||||||
|
|
||||||
void stage1_main(unsigned long bist)
|
void stage1_main(unsigned long bist)
|
||||||
@ -40,8 +44,6 @@ void stage1_main(unsigned long bist)
|
|||||||
printk(BIOS_SPEW, "v_esp=%08x\n", v_esp);
|
printk(BIOS_SPEW, "v_esp=%08x\n", v_esp);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
cpu_reset_x:
|
|
||||||
|
|
||||||
printk(BIOS_SPEW, "cpu_reset = %08x\n", cpu_reset);
|
printk(BIOS_SPEW, "cpu_reset = %08x\n", cpu_reset);
|
||||||
printk(BIOS_SPEW, "No cache as ram now - ");
|
printk(BIOS_SPEW, "No cache as ram now - ");
|
||||||
|
|
||||||
|
@ -20,17 +20,21 @@
|
|||||||
config BOARD_INTEL_D945GCLF
|
config BOARD_INTEL_D945GCLF
|
||||||
bool "D945GCLF"
|
bool "D945GCLF"
|
||||||
select ARCH_X86
|
select ARCH_X86
|
||||||
select CPU_INTEL_CORE
|
select CPU_INTEL_ATOM_230
|
||||||
select CPU_INTEL_SOCKET_441
|
select CPU_INTEL_SOCKET_441
|
||||||
select NORTHBRIDGE_INTEL_I945
|
select NORTHBRIDGE_INTEL_I945
|
||||||
select SOUTHBRIDGE_INTEL_I82801GX
|
select SOUTHBRIDGE_INTEL_I82801GX
|
||||||
select SUPERIO_SMSC_LPC47M15X
|
select SUPERIO_SMSC_LPC47M15X
|
||||||
select BOARD_HAS_FADT
|
select BOARD_HAS_FADT
|
||||||
|
select GENERATE_ACPI_TABLES
|
||||||
|
select GENERATE_PIRQ_TABLE
|
||||||
|
select GENERATE_MP_TABLE
|
||||||
select HAVE_HARD_RESET
|
select HAVE_HARD_RESET
|
||||||
select HAVE_PIRQ_TABLE
|
select HAVE_PIRQ_TABLE
|
||||||
select HAVE_MP_TABLE
|
select HAVE_MP_TABLE
|
||||||
select HAVE_ACPI_TABLES
|
select HAVE_ACPI_TABLES
|
||||||
select HAVE_ACPI_RESUME
|
select HAVE_ACPI_RESUME
|
||||||
|
select HAVE_MAINBOARD_RESOURCES
|
||||||
select MMCONF_SUPPORT
|
select MMCONF_SUPPORT
|
||||||
select USE_PRINTK_IN_CAR
|
select USE_PRINTK_IN_CAR
|
||||||
select AP_IN_SIPI_WAIT
|
select AP_IN_SIPI_WAIT
|
||||||
@ -38,6 +42,9 @@ config BOARD_INTEL_D945GCLF
|
|||||||
select HAVE_ACPI_TABLES
|
select HAVE_ACPI_TABLES
|
||||||
select HAVE_SMI_HANDLER
|
select HAVE_SMI_HANDLER
|
||||||
select BOARD_ROMSIZE_KB_512
|
select BOARD_ROMSIZE_KB_512
|
||||||
|
select USE_DCACHE_RAM
|
||||||
|
select GFXUMA
|
||||||
|
select TINY_BOOTBLOCK
|
||||||
|
|
||||||
config MAINBOARD_DIR
|
config MAINBOARD_DIR
|
||||||
string
|
string
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#define OLD_ACPI 0
|
#define OLD_ACPI 0
|
||||||
|
|
||||||
extern unsigned char AmlCode[];
|
extern unsigned char AmlCode[];
|
||||||
|
void *amlcodeptr = &AmlCode;
|
||||||
#if CONFIG_HAVE_ACPI_SLIC
|
#if CONFIG_HAVE_ACPI_SLIC
|
||||||
unsigned long acpi_create_slic(unsigned long current);
|
unsigned long acpi_create_slic(unsigned long current);
|
||||||
#endif
|
#endif
|
||||||
@ -65,17 +66,10 @@ typedef struct acpi_oemb {
|
|||||||
} __attribute__((packed)) acpi_oemb_t;
|
} __attribute__((packed)) acpi_oemb_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct acpi_gnvs {
|
#include "../../../southbridge/intel/i82801gx/i82801gx_nvs.h"
|
||||||
// 0x00
|
|
||||||
u16 osys;
|
|
||||||
u8 smif;
|
|
||||||
u8 reserved[13];
|
|
||||||
// 0x10
|
|
||||||
u8 mpen;
|
|
||||||
} __attribute__((packed)) acpi_gnvs_t;
|
|
||||||
|
|
||||||
#if OLD_ACPI
|
#if OLD_ACPI
|
||||||
void acpi_create_oemb(acpi_oemb_t *oemb)
|
static void acpi_create_oemb(acpi_oemb_t *oemb)
|
||||||
{
|
{
|
||||||
acpi_header_t *header = &(oemb->header);
|
acpi_header_t *header = &(oemb->header);
|
||||||
unsigned long tolud;
|
unsigned long tolud;
|
||||||
@ -114,13 +108,14 @@ void acpi_create_oemb(acpi_oemb_t *oemb)
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void acpi_create_gnvs(acpi_gnvs_t *gnvs)
|
static void acpi_create_gnvs(global_nvs_t *gnvs)
|
||||||
{
|
{
|
||||||
memset((void *)gnvs, 0, sizeof(*gnvs));
|
memset((void *)gnvs, 0, sizeof(*gnvs));
|
||||||
gnvs->mpen = 1;
|
gnvs->apic = 1;
|
||||||
|
gnvs->mpen = 1; /* Enable Multi Processing */
|
||||||
}
|
}
|
||||||
|
|
||||||
void acpi_create_intel_hpet(acpi_hpet_t * hpet)
|
static void acpi_create_intel_hpet(acpi_hpet_t * hpet)
|
||||||
{
|
{
|
||||||
#define HPET_ADDR 0xfed00000ULL
|
#define HPET_ADDR 0xfed00000ULL
|
||||||
acpi_header_t *header = &(hpet->header);
|
acpi_header_t *header = &(hpet->header);
|
||||||
@ -212,7 +207,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
|||||||
#if OLD_ACPI
|
#if OLD_ACPI
|
||||||
acpi_oemb_t *oemb;
|
acpi_oemb_t *oemb;
|
||||||
#endif
|
#endif
|
||||||
acpi_gnvs_t *gnvs;
|
|
||||||
acpi_header_t *ssdt;
|
acpi_header_t *ssdt;
|
||||||
acpi_header_t *dsdt;
|
acpi_header_t *dsdt;
|
||||||
|
|
||||||
@ -279,10 +273,10 @@ unsigned long write_acpi_tables(unsigned long start)
|
|||||||
ALIGN_CURRENT;
|
ALIGN_CURRENT;
|
||||||
acpi_create_facs(facs);
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
int len = ((acpi_header_t *) amlcodeptr)->length;
|
||||||
dsdt = (acpi_header_t *) current;
|
dsdt = (acpi_header_t *) current;
|
||||||
current += ((acpi_header_t *) AmlCode)->length;
|
current += len;
|
||||||
memcpy((void *) dsdt, (void *) AmlCode,
|
memcpy((void *) dsdt, amlcodeptr, len);
|
||||||
((acpi_header_t *) AmlCode)->length);
|
|
||||||
|
|
||||||
#if OLD_ACPI
|
#if OLD_ACPI
|
||||||
for (i=0; i < dsdt->length; i++) {
|
for (i=0; i < dsdt->length; i++) {
|
||||||
@ -299,14 +293,14 @@ unsigned long write_acpi_tables(unsigned long start)
|
|||||||
/* Pack GNVS into the ACPI table area */
|
/* Pack GNVS into the ACPI table area */
|
||||||
for (i=0; i < dsdt->length; i++) {
|
for (i=0; i < dsdt->length; i++) {
|
||||||
if (*(u32*)(((u32)dsdt) + i) == 0xC0DEBABE) {
|
if (*(u32*)(((u32)dsdt) + i) == 0xC0DEBABE) {
|
||||||
printk(BIOS_DEBUG, "ACPI: Patching up global NVS in DSDT at offset 0x%04x -> 0x%08x\n", i, current);
|
printk(BIOS_DEBUG, "ACPI: Patching up global NVS in DSDT at offset 0x%04x -> 0x%08lx\n", i, current);
|
||||||
*(u32*)(((u32)dsdt) + i) = current; // 0x92 bytes
|
*(u32*)(((u32)dsdt) + i) = current; // 0x92 bytes
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* And fill it */
|
/* And fill it */
|
||||||
acpi_create_gnvs(current);
|
acpi_create_gnvs((global_nvs_t *)current);
|
||||||
|
|
||||||
current += 0x100;
|
current += 0x100;
|
||||||
ALIGN_CURRENT;
|
ALIGN_CURRENT;
|
||||||
|
@ -20,10 +20,9 @@
|
|||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <boot/tables.h>
|
#include <boot/tables.h>
|
||||||
|
#include <arch/coreboot_tables.h>
|
||||||
#include "chip.h"
|
#include "chip.h"
|
||||||
|
|
||||||
int add_northbridge_resources(struct lb_memory *mem);
|
|
||||||
|
|
||||||
int add_mainboard_resources(struct lb_memory *mem)
|
int add_mainboard_resources(struct lb_memory *mem)
|
||||||
{
|
{
|
||||||
return add_northbridge_resources(mem);
|
return add_northbridge_resources(mem);
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <arch/romcc_io.h>
|
#include <arch/romcc_io.h>
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
|
#include <cpu/x86/smm.h>
|
||||||
#include "../../../southbridge/intel/i82801gx/i82801gx_nvs.h"
|
#include "../../../southbridge/intel/i82801gx/i82801gx_nvs.h"
|
||||||
|
|
||||||
/* The southbridge SMI handler checks whether gnvs has a
|
/* The southbridge SMI handler checks whether gnvs has a
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
void *smp_write_config_table(void *v)
|
static void *smp_write_config_table(void *v)
|
||||||
{
|
{
|
||||||
static const char sig[4] = "PCMP";
|
static const char sig[4] = "PCMP";
|
||||||
static const char oem[8] = "COREBOOT";
|
static const char oem[8] = "COREBOOT";
|
||||||
|
@ -83,7 +83,6 @@ static inline int spd_read_byte(unsigned device, unsigned address)
|
|||||||
|
|
||||||
#include "northbridge/intel/i945/raminit.h"
|
#include "northbridge/intel/i945/raminit.h"
|
||||||
#include "northbridge/intel/i945/raminit.c"
|
#include "northbridge/intel/i945/raminit.c"
|
||||||
#include "northbridge/intel/i945/reset_test.c"
|
|
||||||
#include "northbridge/intel/i945/errata.c"
|
#include "northbridge/intel/i945/errata.c"
|
||||||
#include "northbridge/intel/i945/debug.c"
|
#include "northbridge/intel/i945/debug.c"
|
||||||
|
|
||||||
@ -216,8 +215,6 @@ static void early_ich7_init(void)
|
|||||||
RCBA32(0x2034) = reg32;
|
RCBA32(0x2034) = reg32;
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "southbridge/intel/i82801gx/cmos_failover.c"
|
|
||||||
|
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
|
|
||||||
// Now, this needs to be included because it relies on the symbol
|
// Now, this needs to be included because it relies on the symbol
|
||||||
@ -228,6 +225,8 @@ static void early_ich7_init(void)
|
|||||||
//
|
//
|
||||||
#include "lib/cbmem.c"
|
#include "lib/cbmem.c"
|
||||||
|
|
||||||
|
#include "cpu/intel/model_106cx/cache_as_ram_disable.c"
|
||||||
|
|
||||||
void real_main(unsigned long bist)
|
void real_main(unsigned long bist)
|
||||||
{
|
{
|
||||||
u32 reg32;
|
u32 reg32;
|
||||||
@ -337,7 +336,7 @@ void real_main(unsigned long bist)
|
|||||||
* day.
|
* day.
|
||||||
*/
|
*/
|
||||||
if (resume_backup_memory)
|
if (resume_backup_memory)
|
||||||
memcpy(resume_backup_memory, CONFIG_RAMBASE, HIGH_MEMORY_SAVE);
|
memcpy(resume_backup_memory, (void *)CONFIG_RAMBASE, HIGH_MEMORY_SAVE);
|
||||||
|
|
||||||
/* Magic for S3 resume */
|
/* Magic for S3 resume */
|
||||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||||
@ -345,4 +344,3 @@ void real_main(unsigned long bist)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "cpu/intel/model_106cx/cache_as_ram_disable.c"
|
|
||||||
|
@ -121,8 +121,6 @@ static inline int spd_read_byte(u16 device, u8 address)
|
|||||||
#include "northbridge/intel/i3100/reset_test.c"
|
#include "northbridge/intel/i3100/reset_test.c"
|
||||||
#include "debug.c"
|
#include "debug.c"
|
||||||
|
|
||||||
#include "southbridge/intel/i3100/cmos_failover.c"
|
|
||||||
|
|
||||||
void early_config(void) {
|
void early_config(void) {
|
||||||
device_t dev;
|
device_t dev;
|
||||||
u32 gcs, rpc, fd;
|
u32 gcs, rpc, fd;
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include "dmi.h"
|
#include "dmi.h"
|
||||||
|
|
||||||
extern unsigned char AmlCode[];
|
extern unsigned char AmlCode[];
|
||||||
|
void *amlcodeptr = &AmlCode;
|
||||||
#if CONFIG_HAVE_ACPI_SLIC
|
#if CONFIG_HAVE_ACPI_SLIC
|
||||||
unsigned long acpi_create_slic(unsigned long current);
|
unsigned long acpi_create_slic(unsigned long current);
|
||||||
#endif
|
#endif
|
||||||
@ -203,10 +204,10 @@ unsigned long write_acpi_tables(unsigned long start)
|
|||||||
ALIGN_CURRENT;
|
ALIGN_CURRENT;
|
||||||
acpi_create_facs(facs);
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
int len = ((acpi_header_t *) amlcodeptr)->length;
|
||||||
dsdt = (acpi_header_t *) current;
|
dsdt = (acpi_header_t *) current;
|
||||||
current += ((acpi_header_t *) AmlCode)->length;
|
current += len;
|
||||||
memcpy((void *) dsdt, (void *) AmlCode,
|
memcpy((void *) dsdt, amlcodeptr, len);
|
||||||
((acpi_header_t *) AmlCode)->length);
|
|
||||||
|
|
||||||
ALIGN_CURRENT;
|
ALIGN_CURRENT;
|
||||||
|
|
||||||
|
@ -91,7 +91,6 @@ static inline int spd_read_byte(unsigned device, unsigned address)
|
|||||||
|
|
||||||
#include "northbridge/intel/i945/raminit.h"
|
#include "northbridge/intel/i945/raminit.h"
|
||||||
#include "northbridge/intel/i945/raminit.c"
|
#include "northbridge/intel/i945/raminit.c"
|
||||||
#include "northbridge/intel/i945/reset_test.c"
|
|
||||||
#include "northbridge/intel/i945/errata.c"
|
#include "northbridge/intel/i945/errata.c"
|
||||||
#include "northbridge/intel/i945/debug.c"
|
#include "northbridge/intel/i945/debug.c"
|
||||||
|
|
||||||
@ -352,8 +351,6 @@ static void early_ich7_init(void)
|
|||||||
RCBA32(0x2034) = reg32;
|
RCBA32(0x2034) = reg32;
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "southbridge/intel/i82801gx/cmos_failover.c"
|
|
||||||
|
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
|
|
||||||
// Now, this needs to be included because it relies on the symbol
|
// Now, this needs to be included because it relies on the symbol
|
||||||
|
@ -31,13 +31,14 @@
|
|||||||
#include "dmi.h"
|
#include "dmi.h"
|
||||||
|
|
||||||
extern unsigned char AmlCode[];
|
extern unsigned char AmlCode[];
|
||||||
|
void *amlcodeptr = &AmlCode;
|
||||||
#if CONFIG_HAVE_ACPI_SLIC
|
#if CONFIG_HAVE_ACPI_SLIC
|
||||||
unsigned long acpi_create_slic(unsigned long current);
|
unsigned long acpi_create_slic(unsigned long current);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define OLD_ACPI 0
|
#define OLD_ACPI 0
|
||||||
#if OLD_ACPI
|
#if OLD_ACPI
|
||||||
void acpi_create_gnvs(global_nvs_t *gnvs)
|
static void acpi_create_gnvs(global_nvs_t *gnvs)
|
||||||
{
|
{
|
||||||
memset (gnvs, 0, sizeof(global_nvs_t));
|
memset (gnvs, 0, sizeof(global_nvs_t));
|
||||||
|
|
||||||
@ -91,7 +92,7 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "../../../southbridge/intel/i82801gx/i82801gx_nvs.h"
|
#include "../../../southbridge/intel/i82801gx/i82801gx_nvs.h"
|
||||||
void acpi_create_gnvs(global_nvs_t *gnvs)
|
static void acpi_create_gnvs(global_nvs_t *gnvs)
|
||||||
{
|
{
|
||||||
memset((void *)gnvs, 0, sizeof(*gnvs));
|
memset((void *)gnvs, 0, sizeof(*gnvs));
|
||||||
gnvs->apic = 1;
|
gnvs->apic = 1;
|
||||||
@ -110,7 +111,7 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||||||
gnvs->did[4] = 0x00000005;
|
gnvs->did[4] = 0x00000005;
|
||||||
}
|
}
|
||||||
|
|
||||||
void acpi_create_intel_hpet(acpi_hpet_t * hpet)
|
static void acpi_create_intel_hpet(acpi_hpet_t * hpet)
|
||||||
{
|
{
|
||||||
#define HPET_ADDR 0xfed00000ULL
|
#define HPET_ADDR 0xfed00000ULL
|
||||||
acpi_header_t *header = &(hpet->header);
|
acpi_header_t *header = &(hpet->header);
|
||||||
@ -272,10 +273,10 @@ unsigned long write_acpi_tables(unsigned long start)
|
|||||||
ALIGN_CURRENT;
|
ALIGN_CURRENT;
|
||||||
acpi_create_facs(facs);
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
int len = ((acpi_header_t *)amlcodeptr)->length;
|
||||||
|
current += len;
|
||||||
dsdt = (acpi_header_t *) current;
|
dsdt = (acpi_header_t *) current;
|
||||||
current += ((acpi_header_t *) AmlCode)->length;
|
memcpy((void *) dsdt, amlcodeptr, len);
|
||||||
memcpy((void *) dsdt, (void *) AmlCode,
|
|
||||||
((acpi_header_t *) AmlCode)->length);
|
|
||||||
|
|
||||||
/* Fix up global NVS region for SMI handler. The GNVS region lives
|
/* Fix up global NVS region for SMI handler. The GNVS region lives
|
||||||
* in the (high) table area. The low memory map looks like this:
|
* in the (high) table area. The low memory map looks like this:
|
||||||
|
@ -275,7 +275,6 @@ void m3885_configure_multikey(void)
|
|||||||
maxvars = m3885_get_variable(0x00);
|
maxvars = m3885_get_variable(0x00);
|
||||||
printk(BIOS_DEBUG, "M388x has %d variables in original bank.\n", maxvars);
|
printk(BIOS_DEBUG, "M388x has %d variables in original bank.\n", maxvars);
|
||||||
for (i=0; i<ARRAY_SIZE(variables); i+=3) {
|
for (i=0; i<ARRAY_SIZE(variables); i+=3) {
|
||||||
u8 reg8;
|
|
||||||
if(variables[i + 0] > maxvars)
|
if(variables[i + 0] > maxvars)
|
||||||
continue;
|
continue;
|
||||||
reg8 = m3885_get_variable(variables[i + 0]);
|
reg8 = m3885_get_variable(variables[i + 0]);
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#if CONFIG_PCI_OPTION_ROM_RUN_YABEL
|
#if CONFIG_PCI_OPTION_ROM_RUN_YABEL
|
||||||
#include <x86emu/x86emu.h>
|
#include <x86emu/x86emu.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <arch/coreboot_tables.h>
|
||||||
#include "chip.h"
|
#include "chip.h"
|
||||||
|
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
@ -133,8 +134,6 @@ static void mainboard_enable(device_t dev)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int add_northbridge_resources(struct lb_memory *mem);
|
|
||||||
|
|
||||||
int add_mainboard_resources(struct lb_memory *mem)
|
int add_mainboard_resources(struct lb_memory *mem)
|
||||||
{
|
{
|
||||||
return add_northbridge_resources(mem);
|
return add_northbridge_resources(mem);
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <arch/romcc_io.h>
|
#include <arch/romcc_io.h>
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
|
#include <cpu/x86/smm.h>
|
||||||
#include "../../../southbridge/intel/i82801gx/i82801gx_nvs.h"
|
#include "../../../southbridge/intel/i82801gx/i82801gx_nvs.h"
|
||||||
|
|
||||||
/* The southbridge SMI handler checks whether gnvs has a
|
/* The southbridge SMI handler checks whether gnvs has a
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
void *smp_write_config_table(void *v)
|
static void *smp_write_config_table(void *v)
|
||||||
{
|
{
|
||||||
static const char sig[4] = "PCMP";
|
static const char sig[4] = "PCMP";
|
||||||
static const char oem[8] = "COREBOOT";
|
static const char oem[8] = "COREBOOT";
|
||||||
|
@ -79,9 +79,9 @@ static inline int spd_read_byte(unsigned device, unsigned address)
|
|||||||
return smbus_read_byte(device, address);
|
return smbus_read_byte(device, address);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#include "northbridge/intel/i945/raminit.h"
|
#include "northbridge/intel/i945/raminit.h"
|
||||||
#include "northbridge/intel/i945/raminit.c"
|
#include "northbridge/intel/i945/raminit.c"
|
||||||
#include "northbridge/intel/i945/reset_test.c"
|
|
||||||
#include "northbridge/intel/i945/errata.c"
|
#include "northbridge/intel/i945/errata.c"
|
||||||
#include "northbridge/intel/i945/debug.c"
|
#include "northbridge/intel/i945/debug.c"
|
||||||
|
|
||||||
@ -259,8 +259,6 @@ static void early_ich7_init(void)
|
|||||||
RCBA32(0x2034) = reg32;
|
RCBA32(0x2034) = reg32;
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "southbridge/intel/i82801gx/cmos_failover.c"
|
|
||||||
|
|
||||||
static void init_artec_dongle(void)
|
static void init_artec_dongle(void)
|
||||||
{
|
{
|
||||||
// Enable 4MB decoding
|
// Enable 4MB decoding
|
||||||
@ -277,6 +275,7 @@ static void init_artec_dongle(void)
|
|||||||
// __PRE_RAM__ to determine whether we're in ram init stage (stage 1)
|
// __PRE_RAM__ to determine whether we're in ram init stage (stage 1)
|
||||||
//
|
//
|
||||||
#include "lib/cbmem.c"
|
#include "lib/cbmem.c"
|
||||||
|
#include "cpu/intel/model_6ex/cache_as_ram_disable.c"
|
||||||
|
|
||||||
void real_main(unsigned long bist)
|
void real_main(unsigned long bist)
|
||||||
{
|
{
|
||||||
@ -391,7 +390,7 @@ void real_main(unsigned long bist)
|
|||||||
* day.
|
* day.
|
||||||
*/
|
*/
|
||||||
if (resume_backup_memory)
|
if (resume_backup_memory)
|
||||||
memcpy(resume_backup_memory, CONFIG_RAMBASE, HIGH_MEMORY_SAVE);
|
memcpy(resume_backup_memory, (void *)CONFIG_RAMBASE, HIGH_MEMORY_SAVE);
|
||||||
|
|
||||||
/* Magic for S3 resume */
|
/* Magic for S3 resume */
|
||||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||||
@ -399,4 +398,3 @@ void real_main(unsigned long bist)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "cpu/intel/model_6ex/cache_as_ram_disable.c"
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#define SMBUS_MEM_DEVICE_END 0x53
|
#define SMBUS_MEM_DEVICE_END 0x53
|
||||||
#define SMBUS_MEM_DEVICE_INC 1
|
#define SMBUS_MEM_DEVICE_INC 1
|
||||||
|
|
||||||
static void print_pci_devices(void)
|
static inline void print_pci_devices(void)
|
||||||
{
|
{
|
||||||
device_t dev;
|
device_t dev;
|
||||||
for(dev = PCI_DEV(0, 0, 0);
|
for(dev = PCI_DEV(0, 0, 0);
|
||||||
@ -42,7 +42,7 @@ static void print_pci_devices(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dump_pci_device(unsigned dev)
|
static inline void dump_pci_device(unsigned dev)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ static void dump_pci_device(unsigned dev)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dump_pci_devices(void)
|
static inline void dump_pci_devices(void)
|
||||||
{
|
{
|
||||||
device_t dev;
|
device_t dev;
|
||||||
for(dev = PCI_DEV(0, 0, 0);
|
for(dev = PCI_DEV(0, 0, 0);
|
||||||
@ -78,7 +78,7 @@ static void dump_pci_devices(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void dump_spd_registers(void)
|
static inline void dump_spd_registers(void)
|
||||||
{
|
{
|
||||||
unsigned device;
|
unsigned device;
|
||||||
device = SMBUS_MEM_DEVICE_START;
|
device = SMBUS_MEM_DEVICE_START;
|
||||||
@ -103,7 +103,7 @@ void dump_spd_registers(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dump_mem(unsigned start, unsigned end)
|
static inline void dump_mem(unsigned start, unsigned end)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
print_debug("dump_mem:");
|
print_debug("dump_mem:");
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "raminit.h"
|
||||||
|
|
||||||
int fixup_i945_errata(void)
|
int fixup_i945_errata(void)
|
||||||
{
|
{
|
||||||
u32 reg32;
|
u32 reg32;
|
||||||
|
@ -199,6 +199,8 @@ static int sdram_capabilities_two_dimms_per_channel(void)
|
|||||||
return (reg8 != 0);
|
return (reg8 != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO check if we ever need this function
|
||||||
|
#if 0
|
||||||
static int sdram_capabilities_MEM4G_disable(void)
|
static int sdram_capabilities_MEM4G_disable(void)
|
||||||
{
|
{
|
||||||
u8 reg8;
|
u8 reg8;
|
||||||
@ -208,6 +210,7 @@ static int sdram_capabilities_MEM4G_disable(void)
|
|||||||
|
|
||||||
return (reg8 != 0);
|
return (reg8 != 0);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#define GFX_FREQUENCY_CAP_166MHZ 0x04
|
#define GFX_FREQUENCY_CAP_166MHZ 0x04
|
||||||
#define GFX_FREQUENCY_CAP_200MHZ 0x03
|
#define GFX_FREQUENCY_CAP_200MHZ 0x03
|
||||||
|
@ -68,5 +68,7 @@ struct sys_info {
|
|||||||
} __attribute__ ((packed));
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
void receive_enable_adjust(struct sys_info *sysinfo);
|
void receive_enable_adjust(struct sys_info *sysinfo);
|
||||||
|
void sdram_initialize(int boot_path);
|
||||||
|
unsigned long get_top_of_ram(void);
|
||||||
|
int fixup_i945_errata(void);
|
||||||
#endif /* RAMINIT_H */
|
#endif /* RAMINIT_H */
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2007-2008 coresystems GmbH
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
static int bios_reset_detected(void)
|
|
||||||
{
|
|
||||||
/* For now ...
|
|
||||||
* DO NOT, I repeat, DO NOT remove this. If you don't like the
|
|
||||||
* situation, implement this instead.
|
|
||||||
*/
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@ -57,14 +57,14 @@ static int cmos_chksum_valid(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int last_boot_normal(void)
|
static inline int last_boot_normal(void)
|
||||||
{
|
{
|
||||||
unsigned char byte;
|
unsigned char byte;
|
||||||
byte = cmos_read(RTC_BOOT_BYTE);
|
byte = cmos_read(RTC_BOOT_BYTE);
|
||||||
return (byte & (1 << 1));
|
return (byte & (1 << 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int do_normal_boot(void)
|
static inline int do_normal_boot(void)
|
||||||
{
|
{
|
||||||
unsigned char byte;
|
unsigned char byte;
|
||||||
|
|
||||||
@ -107,7 +107,7 @@ static int do_normal_boot(void)
|
|||||||
return (byte & (1<<1));
|
return (byte & (1<<1));
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned read_option(unsigned start, unsigned size, unsigned def)
|
static inline unsigned read_option(unsigned start, unsigned size, unsigned def)
|
||||||
{
|
{
|
||||||
#if CONFIG_USE_OPTION_TABLE == 1
|
#if CONFIG_USE_OPTION_TABLE == 1
|
||||||
unsigned byte;
|
unsigned byte;
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "i3100.h"
|
|
||||||
|
|
||||||
#define RTC_FAILED (1 <<2)
|
|
||||||
#define GEN_PMCON_3 0xa4
|
|
||||||
|
|
||||||
static void check_cmos_failed(void)
|
|
||||||
{
|
|
||||||
u8 byte;
|
|
||||||
byte = pci_read_config8(PCI_DEV(0, 0x1f, 0), GEN_PMCON_3);
|
|
||||||
if (byte & RTC_FAILED) {
|
|
||||||
// clear bit 1 and bit 2
|
|
||||||
byte = cmos_read(RTC_BOOT_BYTE);
|
|
||||||
byte &= 0x0c;
|
|
||||||
byte |= CONFIG_MAX_REBOOT_CNT << 4;
|
|
||||||
cmos_write(byte, RTC_BOOT_BYTE);
|
|
||||||
}
|
|
||||||
}
|
|
@ -32,7 +32,5 @@ driver-y += i82801ax_usb_ehci.o
|
|||||||
obj-y += i82801ax_reset.o
|
obj-y += i82801ax_reset.o
|
||||||
obj-y += i82801ax_watchdog.o
|
obj-y += i82801ax_watchdog.o
|
||||||
|
|
||||||
# TODO: What about cmos_failover.c?
|
|
||||||
|
|
||||||
# TODO: Fix and enable i82801ax_smbus.o later.
|
# TODO: Fix and enable i82801ax_smbus.o later.
|
||||||
|
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "i82801ax.h"
|
|
||||||
|
|
||||||
static void check_cmos_failed(void)
|
|
||||||
{
|
|
||||||
uint8_t byte;
|
|
||||||
byte = pci_read_config8(PCI_DEV(0, 0x1f, 0), GEN_PMCON_3);
|
|
||||||
if (byte & RTC_FAILED) {
|
|
||||||
//clear bit 1 and bit 2
|
|
||||||
byte = cmos_read(RTC_BOOT_BYTE);
|
|
||||||
byte &= 0x0c;
|
|
||||||
byte |= CONFIG_MAX_REBOOT_CNT << 4;
|
|
||||||
cmos_write(byte, RTC_BOOT_BYTE);
|
|
||||||
}
|
|
||||||
}
|
|
@ -32,7 +32,5 @@ driver-y += i82801bx_usb_ehci.o
|
|||||||
obj-y += i82801bx_reset.o
|
obj-y += i82801bx_reset.o
|
||||||
obj-y += i82801bx_watchdog.o
|
obj-y += i82801bx_watchdog.o
|
||||||
|
|
||||||
# TODO: What about cmos_failover.c?
|
|
||||||
|
|
||||||
# TODO: Fix and enable i82801bx_smbus.o later.
|
# TODO: Fix and enable i82801bx_smbus.o later.
|
||||||
|
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "i82801bx.h"
|
|
||||||
|
|
||||||
static void check_cmos_failed(void)
|
|
||||||
{
|
|
||||||
uint8_t byte;
|
|
||||||
byte = pci_read_config8(PCI_DEV(0, 0x1f, 0), GEN_PMCON_3);
|
|
||||||
if (byte & RTC_FAILED) {
|
|
||||||
//clear bit 1 and bit 2
|
|
||||||
byte = cmos_read(RTC_BOOT_BYTE);
|
|
||||||
byte &= 0x0c;
|
|
||||||
byte |= CONFIG_MAX_REBOOT_CNT << 4;
|
|
||||||
cmos_write(byte, RTC_BOOT_BYTE);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
//kind of cmos_err for ich3
|
|
||||||
|
|
||||||
#include "i82801cx.h"
|
|
||||||
|
|
||||||
static void check_cmos_failed(void)
|
|
||||||
{
|
|
||||||
#if CONFIG_HAVE_OPTION_TABLE
|
|
||||||
uint8_t byte = pci_read_config8(PCI_DEV(0,0x1f,0),GEN_PMCON_3);
|
|
||||||
|
|
||||||
if( byte & RTC_BATTERY_DEAD) {
|
|
||||||
// Set boot_option and last_boot to 'Fallback',
|
|
||||||
// clear reboot_bits
|
|
||||||
byte = cmos_read(RTC_BOOT_BYTE);
|
|
||||||
byte &= 0x0c;
|
|
||||||
byte |= CONFIG_MAX_REBOOT_CNT << 4;
|
|
||||||
cmos_write(byte, RTC_BOOT_BYTE);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2004 Ron G. Minnich
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation; version 2 of
|
|
||||||
* the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
// kind of cmos_err for ICH4
|
|
||||||
#define RTC_FAILED (1 <<2)
|
|
||||||
#define GEN_PMCON_3 0xa4
|
|
||||||
static void check_cmos_failed(void)
|
|
||||||
{
|
|
||||||
u8 byte;
|
|
||||||
byte = pci_read_config8(PCI_DEV(0, 0x1f, 0), GEN_PMCON_3);
|
|
||||||
if (byte & RTC_FAILED) {
|
|
||||||
//clear bit 1 and bit 2
|
|
||||||
byte = cmos_read(RTC_BOOT_BYTE);
|
|
||||||
byte &= 0x0c;
|
|
||||||
byte |= CONFIG_MAX_REBOOT_CNT << 4;
|
|
||||||
cmos_write(byte, RTC_BOOT_BYTE);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
//kind of cmos_err for ich5
|
|
||||||
#define RTC_FAILED (1 <<2)
|
|
||||||
#define GEN_PMCON_3 0xa4
|
|
||||||
static void check_cmos_failed(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
uint8_t byte;
|
|
||||||
byte = pci_read_config8(PCI_DEV(0,0x1f,0),GEN_PMCON_3);
|
|
||||||
if( byte & RTC_FAILED){
|
|
||||||
//clear bit 1 and bit 2
|
|
||||||
byte = cmos_read(RTC_BOOT_BYTE);
|
|
||||||
byte &= 0x0c;
|
|
||||||
byte |= CONFIG_MAX_REBOOT_CNT << 4;
|
|
||||||
cmos_write(byte, RTC_BOOT_BYTE);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* (C) 2008-2009 coresystems GmbH
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation; version 2 of
|
|
||||||
* the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "i82801gx.h"
|
|
||||||
|
|
||||||
#define RTC_FAILED (1 << 2)
|
|
||||||
#define GEN_PMCON_3 0xa4
|
|
||||||
|
|
||||||
static void check_cmos_failed(void)
|
|
||||||
{
|
|
||||||
u8 byte = pci_read_config8(PCI_DEV(0, 0x1f, 0), GEN_PMCON_3);
|
|
||||||
if (byte & RTC_FAILED) {
|
|
||||||
// clear bit 1 and bit 2
|
|
||||||
byte = cmos_read(RTC_BOOT_BYTE);
|
|
||||||
byte &= 0x0c;
|
|
||||||
byte |= CONFIG_MAX_REBOOT_CNT << 4;
|
|
||||||
cmos_write(byte, RTC_BOOT_BYTE);
|
|
||||||
}
|
|
||||||
}
|
|
@ -83,12 +83,12 @@ static void pci7420_cardbus_init(device_t dev)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void pci7420_cardbus_read_resources(device_t dev)
|
static void pci7420_cardbus_read_resources(device_t dev)
|
||||||
{
|
{
|
||||||
cardbus_read_resources(dev);
|
cardbus_read_resources(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
void pci7420_cardbus_set_resources(device_t dev)
|
static void pci7420_cardbus_set_resources(device_t dev)
|
||||||
{
|
{
|
||||||
printk(BIOS_DEBUG, "%s In set resources \n",dev_path(dev));
|
printk(BIOS_DEBUG, "%s In set resources \n",dev_path(dev));
|
||||||
|
|
||||||
|
@ -30,8 +30,6 @@
|
|||||||
|
|
||||||
static void pci7420_firewire_init(device_t dev)
|
static void pci7420_firewire_init(device_t dev)
|
||||||
{
|
{
|
||||||
u8 reg8;
|
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "TI PCI7420/7620 FireWire init\n");
|
printk(BIOS_DEBUG, "TI PCI7420/7620 FireWire init\n");
|
||||||
|
|
||||||
#ifdef ODD_IRQ_FIXUP
|
#ifdef ODD_IRQ_FIXUP
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "chip.h"
|
#include "chip.h"
|
||||||
|
|
||||||
void set_kbc_ps2_mode(void);
|
|
||||||
void m3885_configure_multikey(void);
|
void m3885_configure_multikey(void);
|
||||||
|
|
||||||
static void m3885x_init(device_t dev)
|
static void m3885x_init(device_t dev)
|
||||||
|
@ -34,7 +34,7 @@ static void pnp_exit_conf_state(device_t dev)
|
|||||||
outb(0xaa, port);
|
outb(0xaa, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lpc47b272_enable_serial(device_t dev, unsigned iobase)
|
static inline void lpc47b272_enable_serial(device_t dev, unsigned iobase)
|
||||||
{
|
{
|
||||||
pnp_enter_conf_state(dev);
|
pnp_enter_conf_state(dev);
|
||||||
pnp_set_logical_device(dev);
|
pnp_set_logical_device(dev);
|
||||||
|
@ -41,7 +41,6 @@ static void lpc47m15x_init(device_t dev);
|
|||||||
|
|
||||||
static void pnp_enter_conf_state(device_t dev);
|
static void pnp_enter_conf_state(device_t dev);
|
||||||
static void pnp_exit_conf_state(device_t dev);
|
static void pnp_exit_conf_state(device_t dev);
|
||||||
static void dump_pnp_device(device_t dev);
|
|
||||||
|
|
||||||
struct chip_operations superio_smsc_lpc47m15x_ops = {
|
struct chip_operations superio_smsc_lpc47m15x_ops = {
|
||||||
CHIP_NAME("SMSC LPC47M15x/192/997 Super I/O")
|
CHIP_NAME("SMSC LPC47M15x/192/997 Super I/O")
|
||||||
|
@ -36,7 +36,7 @@ static void pnp_exit_ext_func_mode(device_t dev)
|
|||||||
outb(0xaa, port);
|
outb(0xaa, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void w83627thg_enable_serial(device_t dev, unsigned int iobase)
|
static inline void w83627thg_enable_serial(device_t dev, unsigned int iobase)
|
||||||
{
|
{
|
||||||
pnp_enter_ext_func_mode(dev);
|
pnp_enter_ext_func_mode(dev);
|
||||||
pnp_set_logical_device(dev);
|
pnp_set_logical_device(dev);
|
||||||
|
Reference in New Issue
Block a user