summaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/usb/dwc2_private.h
diff options
context:
space:
mode:
authorhuang lin <hl@rock-chips.com>2014-12-04 18:25:47 +0800
committerPatrick Georgi <pgeorgi@google.com>2015-04-14 10:42:58 +0200
commit8b52c93a73f494364e43833f924fbd13e20530bc (patch)
treee57c40fa54b91619c246b11dcc678e5dddad9186 /payloads/libpayload/drivers/usb/dwc2_private.h
parent365250e61ec8b87a4355fca8cea32c9ae57eca05 (diff)
downloadcoreboot-8b52c93a73f494364e43833f924fbd13e20530bc.tar.xz
libpayload dwc2: Use a new FIFO allocation method
Total FIFO length is split into 512 byte blocks. Allocate these blocks to GRXFSIZ and GNPTXFSZ evenly. This method avoids hardcoding and makes the FIFO size value work for dwc2 controllers that have a different FIFO ram size. BUG=chrome-os-partner:32634 BRANCH=None TEST=Boot kernel from USB Change-Id: I78ce0fa4c4600fb56c991874a93bdd6674e648c2 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 5645a25e95f84359cd10fc9fcf56e1f73fd6ce87 Original-Change-Id: Ib50a08c193f7f65392810ca3528a97554f2c3999 Original-Signed-off-by: huang lin <hl@rock-chips.com> Original-Reviewed-on: https://chromium-review.googlesource.com/233119 Original-Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-on: http://review.coreboot.org/9454 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'payloads/libpayload/drivers/usb/dwc2_private.h')
-rw-r--r--payloads/libpayload/drivers/usb/dwc2_private.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/payloads/libpayload/drivers/usb/dwc2_private.h b/payloads/libpayload/drivers/usb/dwc2_private.h
index 9bd83763ea..fc658bf5fa 100644
--- a/payloads/libpayload/drivers/usb/dwc2_private.h
+++ b/payloads/libpayload/drivers/usb/dwc2_private.h
@@ -374,7 +374,6 @@ typedef union {
struct {
unsigned nptxfstaddr:16;
unsigned nptxfdep:16;
-#define DWC2_NPTXFIFO_DEPTH 0x80
};
} gnptxfsiz_t;
@@ -390,7 +389,6 @@ typedef union {
*/
struct {
unsigned rxfdep:16;
-#define DWC2_RXFIFO_DEPTH 0x200
unsigned reserved:16;
};
} grxfsiz_t;
@@ -438,6 +436,20 @@ typedef union {
} gintsts_t;
/**
+ * This union represents the bit fields of the User HW Config3 Register
+ * (GHWCFG3).
+ */
+typedef union {
+ /* raw register data */
+ uint32_t d32;
+ /* register bits */
+ struct {
+ unsigned reserved:16;
+ unsigned dfifodepth:16;
+ };
+} ghwcfg3_t;
+
+/**
* This union represents the bit fields in the Host Configuration Register.
*/
typedef union {