summaryrefslogtreecommitdiff
path: root/src/southbridge/amd
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge/amd')
-rw-r--r--src/southbridge/amd/amd8131/amd8131_bridge.c12
-rw-r--r--src/southbridge/amd/amd8151/amd8151_agp3.c26
2 files changed, 24 insertions, 14 deletions
diff --git a/src/southbridge/amd/amd8131/amd8131_bridge.c b/src/southbridge/amd/amd8131/amd8131_bridge.c
index b96f46db45..44b04d8636 100644
--- a/src/southbridge/amd/amd8131/amd8131_bridge.c
+++ b/src/southbridge/amd/amd8131/amd8131_bridge.c
@@ -24,15 +24,15 @@ static void pcix_init(device_t dev)
/* Set drive strength */
word = pci_read_config16(dev, 0xe0);
- word = 0x0404;
+ word = 0x0808;
pci_write_config16(dev, 0xe0, word);
word = pci_read_config16(dev, 0xe4);
- word = 0x0404;
+ word = 0x0808;
pci_write_config16(dev, 0xe4, word);
/* Set impedance */
word = pci_read_config16(dev, 0xe8);
- word = 0x0404;
+ word = 0x0f0f;
pci_write_config16(dev, 0xe8, word);
/* Set discard unrequested prefetch data */
@@ -105,6 +105,12 @@ static void ioapic_enable(device_t dev)
value &= ~((1 << 1) | (1 << 0));
}
pci_write_config32(dev, 0x44, value);
+
+//BY LYH
+ value = pci_read_config32(dev, 0x4);
+ value |= 6;
+ pci_write_config32(dev, 0x4, value);
+//BY LYH END
}
static struct device_operations ioapic_ops = {
diff --git a/src/southbridge/amd/amd8151/amd8151_agp3.c b/src/southbridge/amd/amd8151/amd8151_agp3.c
index 2feeded66d..a4d4dce1a1 100644
--- a/src/southbridge/amd/amd8151/amd8151_agp3.c
+++ b/src/southbridge/amd/amd8151/amd8151_agp3.c
@@ -11,12 +11,16 @@
static void agp3bridge_init(device_t dev)
{
- uint32_t dword;
+ uint8_t byte;
+
+ byte = pci_read_config32(dev, 0x04);
+ byte |= 0x07;
+ pci_write_config8(dev, 0x04, byte);
+
+ byte = pci_read_config32(dev, 0xce);
+ byte |= 3<<2;
+ pci_write_config8(dev, 0xce, byte);
- dword = pci_read_config8(dev, 0x04);
- dword |= 0x07;
- pci_write_config8(dev, 0x04, dword);
-
return;
}
@@ -31,7 +35,7 @@ static struct device_operations agp3bridge_ops = {
static struct pci_driver agp3bridge_driver __pci_driver = {
.ops = &agp3bridge_ops,
.vendor = PCI_VENDOR_ID_AMD,
- .device = 0x7455,
+ .device = 0x7455, // AGP Bridge
};
@@ -41,19 +45,19 @@ static void agp3dev_enable(device_t dev)
// AGP enable
value = pci_read_config32(dev, 0xa8);
- value |= (1<<8);
+ value |= (3<<8)|2; //AGP 8x
pci_write_config32(dev, 0xa8, value);
-
+/*
// linkA 8bit-->16bit
value = pci_read_config32(dev, 0xc4);
- value |= (11<<24);
+ value |= (0x11<<24);
pci_write_config32(dev, 0xc4, value);
// linkA 200-->600
value = pci_read_config32(dev, 0xcc);
value |= (4<<8);
pci_write_config32(dev, 0xcc, value);
-
+*/
value = pci_read_config32(dev, 0x4);
value |= 6;
@@ -72,6 +76,6 @@ static struct device_operations agp3dev_ops = {
static struct pci_driver agp3dev_driver __pci_driver = {
.ops = &agp3dev_ops,
.vendor = PCI_VENDOR_ID_AMD,
- .device = 0x7454,
+ .device = 0x7454, //AGP Device
};