remove trailing whitespace
[coreboot.git] / src / mainboard / getac / p470 / rtl8168.c
1 /*
2  * This file is part of the coreboot project.
3  *
4  * Copyright (C) 2008-2009 coresystems GmbH
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
19  */
20
21 #include <console/console.h>
22 #include <device/device.h>
23 #include <device/pci.h>
24 #include <device/pci_ids.h>
25 #include <delay.h>
26
27 // #define RTL8168_DEBUG 1
28
29 static void nic_init(struct device *dev)
30 {
31         printk(BIOS_DEBUG, "Initializing RTL8168 Gigabit Ethernet\n");
32         // Nothing to do yet, but this has to be here to keep
33         // coreboot from trying to execute an option ROM.
34
35 #ifdef RTL8168_DEBUG
36         u8 reg8;
37
38         printk(BIOS_DEBUG, "Resetting device... ");
39         pci_write_config8(dev, 0x37, (1 << 4));
40         do {
41                 reg8 = pci_read_config8(dev, 0x37);
42                 reg8 &= (1 << 4);
43         } while (reg8);
44         printk(BIOS_DEBUG, "ok\n");
45
46         printk(BIOS_DEBUG, "Eeprom Auto-Load... ");
47         reg8 = pci_read_config8(dev, 0x50);
48         reg8 &= 0x3f;
49         reg8 |= (1 << 6);
50         pci_write_config8(dev, 0x50, reg8);
51         mdelay(3);
52         printk(BIOS_DEBUG, "ok\n");
53 #endif
54 }
55
56 static struct device_operations nic_ops = {
57         .read_resources         = pci_dev_read_resources,
58         .set_resources          = pci_dev_set_resources,
59         .enable_resources       = pci_dev_enable_resources,
60         .init                   = nic_init,
61         .scan_bus               = 0,
62 };
63
64 static const struct pci_driver rtl8168_nic __pci_driver = {
65         .ops    = &nic_ops,
66         .vendor = 0x10ec,
67         .device = 0x8168,
68 };
69
70 #ifdef RTL8168_DEBUG
71 static const struct pci_driver rtl8129_nic __pci_driver = {
72         .ops    = &nic_ops,
73         .vendor = 0x10ec,
74         .device = 0x8129,
75 };
76 #endif
77