usbdebug: Support i82801dx/ex southbridge
Tested on i82801dx system with board aopen/dxplplusu.
Change-Id: I522455ac79c87b9b6fc9cd8c4dc0da3563dfbfad
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/3381
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
diff --git a/src/southbridge/intel/i82801dx/Kconfig b/src/southbridge/intel/i82801dx/Kconfig
index bad9936..4a43458 100644
--- a/src/southbridge/intel/i82801dx/Kconfig
+++ b/src/southbridge/intel/i82801dx/Kconfig
@@ -24,3 +24,16 @@
select IOAPIC
select HAVE_HARD_RESET
select HAVE_SMI_HANDLER
+ select HAVE_USBDEBUG
+
+if SOUTHBRIDGE_INTEL_I82801DX
+
+config EHCI_BAR
+ hex
+ default 0xfef00000
+
+config EHCI_DEBUG_OFFSET
+ hex
+ default 0x80
+
+endif
diff --git a/src/southbridge/intel/i82801dx/usb2.c b/src/southbridge/intel/i82801dx/usb2.c
index a0ea5f6..5dd5866 100644
--- a/src/southbridge/intel/i82801dx/usb2.c
+++ b/src/southbridge/intel/i82801dx/usb2.c
@@ -24,6 +24,7 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
+#include <usbdebug.h>
#include "i82801dx.h"
static void usb2_init(struct device *dev)
@@ -38,7 +39,7 @@
}
static struct device_operations usb2_ops = {
- .read_resources = pci_dev_read_resources,
+ .read_resources = pci_ehci_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = usb2_init,
diff --git a/src/southbridge/intel/i82801ex/Kconfig b/src/southbridge/intel/i82801ex/Kconfig
index 23a68b8..b1d7dbb 100644
--- a/src/southbridge/intel/i82801ex/Kconfig
+++ b/src/southbridge/intel/i82801ex/Kconfig
@@ -2,4 +2,16 @@
bool
select IOAPIC
select HAVE_HARD_RESET
+ select HAVE_USBDEBUG
+if SOUTHBRIDGE_INTEL_I82801EX
+
+config EHCI_BAR
+ hex
+ default 0xfef00000
+
+config EHCI_DEBUG_OFFSET
+ hex
+ default 0xa0
+
+endif
diff --git a/src/southbridge/intel/i82801ex/ehci.c b/src/southbridge/intel/i82801ex/ehci.c
index 8ae921d..045840a 100644
--- a/src/southbridge/intel/i82801ex/ehci.c
+++ b/src/southbridge/intel/i82801ex/ehci.c
@@ -3,6 +3,7 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
+#include <usbdebug.h>
#include "i82801ex.h"
static void ehci_init(struct device *dev)
@@ -34,7 +35,7 @@
.set_subsystem = &ehci_set_subsystem,
};
static struct device_operations ehci_ops = {
- .read_resources = pci_dev_read_resources,
+ .read_resources = pci_ehci_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = ehci_init,