Author: svens
Date: Wed Apr 27 21:47:49 2011
New Revision: 6547
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6547

Log:
T60: enable Ultrabay if device is plugged in

Signed-off-by: Sven Schnelle <[email protected]>
Acked-by: Peter Stuge <[email protected]>

Modified:
   trunk/src/mainboard/lenovo/t60/devicetree.cb
   trunk/src/mainboard/lenovo/t60/mainboard.c

Modified: trunk/src/mainboard/lenovo/t60/devicetree.cb
==============================================================================
--- trunk/src/mainboard/lenovo/t60/devicetree.cb        Wed Apr 27 21:47:42 
2011        (r6546)
+++ trunk/src/mainboard/lenovo/t60/devicetree.cb        Wed Apr 27 21:47:49 
2011        (r6547)
@@ -180,7 +180,7 @@
                                        end
                                end
                        end
-                       device pci 1f.1 off # IDE
+                       device pci 1f.1 on # IDE
                                subsystemid 0x17aa 0x200c
                        end
                        device pci 1f.2 on # SATA

Modified: trunk/src/mainboard/lenovo/t60/mainboard.c
==============================================================================
--- trunk/src/mainboard/lenovo/t60/mainboard.c  Wed Apr 27 21:47:42 2011        
(r6546)
+++ trunk/src/mainboard/lenovo/t60/mainboard.c  Wed Apr 27 21:47:49 2011        
(r6547)
@@ -38,7 +38,7 @@
 
 static void mainboard_enable(device_t dev)
 {
-       device_t dev0;
+       device_t dev0, idedev;
        int touchpad;
 
        /* enable Audio */
@@ -53,6 +53,17 @@
                touchpad = 1;
 
        pmh7_touchpad_enable(touchpad);
+
+       idedev = dev_find_slot(0, PCI_DEVFN(0x1f,1));
+       if (idedev && idedev->chip_info && h8_ultrabay_device_present()) {
+               struct southbridge_intel_i82801gx_config *config = 
idedev->chip_info;
+               config->ide_enable_primary = 1;
+               pmh7_ultrabay_power_enable(1);
+               ec_write(0x0c, 0x84);
+       } else {
+               pmh7_ultrabay_power_enable(0);
+               ec_write(0x0c, 0x04);
+       }
 }
 
 struct chip_operations mainboard_ops = {

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to