nb/intel/haswell: Decouple mainboard USB config from MRC

With this change, only raminit.c uses pei_data.h definitions. With MRC
cornered, making it optional is just a matter of writing a replacement.
USB config definitions will be moved to Lynx Point code in a follow-up.

Tested on Asrock B85M Pro4, still boots and still resumes from S3.

Change-Id: I4bc405213e9b0828d9ced18677335533c7dd381d
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51440
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/src/northbridge/intel/haswell/raminit.h b/src/northbridge/intel/haswell/raminit.h
index 400ac2d..c0f6c63 100644
--- a/src/northbridge/intel/haswell/raminit.h
+++ b/src/northbridge/intel/haswell/raminit.h
@@ -3,8 +3,7 @@
 #ifndef RAMINIT_H
 #define RAMINIT_H
 
-#include <stdint.h>
-#include "pei_data.h"
+#include <types.h>
 
 #define SPD_MEMORY_DOWN	0xff
 
@@ -21,9 +20,39 @@
 #define MAX_USB3_PORTS	6
 #endif
 
+/* There are 8 OC pins */
+#define USB_OC_PIN_SKIP	8
+
+enum usb2_port_location {
+	USB_PORT_SKIP = 0,
+	USB_PORT_BACK_PANEL,
+	USB_PORT_FRONT_PANEL,
+	USB_PORT_DOCK,
+	USB_PORT_MINI_PCIE,
+	USB_PORT_FLEX,
+	USB_PORT_INTERNAL,
+};
+
+/*
+ * USB port length is in MRC format: binary-coded decimal length in tenths of an inch.
+ *   4.2 inches -> 0x0042
+ *  12.7 inches -> 0x0127
+ */
+struct usb2_port_config {
+	uint16_t length;
+	bool enable;
+	unsigned short oc_pin;
+	enum usb2_port_location location;
+};
+
+struct usb3_port_config {
+	bool enable;
+	unsigned int oc_pin;
+};
+
 /* Mainboard-specific USB configuration */
-extern const struct usb2_port_setting mainboard_usb2_ports[MAX_USB2_PORTS];
-extern const struct usb3_port_setting mainboard_usb3_ports[MAX_USB3_PORTS];
+extern const struct usb2_port_config mainboard_usb2_ports[MAX_USB2_PORTS];
+extern const struct usb3_port_config mainboard_usb3_ports[MAX_USB3_PORTS];
 
 /* Mainboard callback to fill in the SPD addresses */
 void mb_get_spd_map(struct spd_info *spdi);