diff options
Diffstat (limited to 'src/mainboard/asus/kgpe-d16/romstage.c')
-rw-r--r-- | src/mainboard/asus/kgpe-d16/romstage.c | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/mainboard/asus/kgpe-d16/romstage.c b/src/mainboard/asus/kgpe-d16/romstage.c index 9964cfe01e57..aa0245d41a3a 100644 --- a/src/mainboard/asus/kgpe-d16/romstage.c +++ b/src/mainboard/asus/kgpe-d16/romstage.c @@ -165,10 +165,23 @@ static void set_ddr3_voltage(uint8_t node, uint8_t index) { static void set_peripheral_control_lines(void) { uint8_t byte; - - /* Enable PCICLK5 (onboard FireWire device) */ - outb(0x41, 0xcd6); - outb(0x02, 0xcd7); + uint8_t nvram; + uint8_t enable_ieee1394; + + enable_ieee1394 = 1; + + if (get_option(&nvram, "ieee1394_controller") == CB_SUCCESS) + enable_ieee1394 = nvram & 0x1; + + if (enable_ieee1394) { + /* Enable PCICLK5 (onboard FireWire device) */ + outb(0x41, 0xcd6); + outb(0x02, 0xcd7); + } else { + /* Disable PCICLK5 (onboard FireWire device) */ + outb(0x41, 0xcd6); + outb(0x00, 0xcd7); + } /* Enable the RTC AltCentury register */ outb(0x41, 0xcd6); @@ -419,4 +432,4 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx) BOOL AMD_CB_ManualBUIDSwapList (u8 node, u8 link, const u8 **List) { return 0; -}
\ No newline at end of file +} |