diff options
Diffstat (limited to 'src/mainboard/digitallogic/msm800sev/mainboard.c')
-rw-r--r-- | src/mainboard/digitallogic/msm800sev/mainboard.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mainboard/digitallogic/msm800sev/mainboard.c b/src/mainboard/digitallogic/msm800sev/mainboard.c index 93ef69c7f6..a16dc7bfd9 100644 --- a/src/mainboard/digitallogic/msm800sev/mainboard.c +++ b/src/mainboard/digitallogic/msm800sev/mainboard.c @@ -4,8 +4,24 @@ #include <device/pci_ids.h> #include <device/pci_ops.h> #include <arch/io.h> +#include <cpu/x86/msr.h> +#include <cpu/amd/lxdef.h> #include "chip.h" +#define DIVIL_LBAR_GPIO 0x5140000c +static void init_gpio() + { + msr_t msr; + printk_debug("Initializing GPIO module...\n"); + + // initialize the GPIO LBAR + msr.lo = GPIO_BASE; + msr.hi = 0x0000f001; + wrmsr(DIVIL_LBAR_GPIO, msr); + msr = rdmsr(DIVIL_LBAR_GPIO); + printk_debug("DIVIL_LBAR_GPIO set to 0x%08x 0x%08x\n", msr.hi, msr.lo); +} + static void init(struct device *dev) { @@ -17,6 +33,7 @@ static void init(struct device *dev) printk_debug("DIGITALLOGIC MSM800SSEV ENTER %s\n", __FUNCTION__); +#if 0 // FIXME: do we need to initialize USB OHCI this way? printk_debug("%s (%x,%x) set USB PCI interrupt line to %d\n", __FUNCTION__, bus, devUsb, irqUsb); @@ -33,6 +50,8 @@ static void init(struct device *dev) nic = dev_find_slot(bus, devNic); if (!nic) printk_err("Could not find USB\n"); else pci_write_config8(nic, PCI_INTERRUPT_LINE, irqNic); +#endif + init_gpio(); printk_debug("DIGITALLOGIC MSM800SSEV EXIT %s\n", __FUNCTION__); } |