diff options
author | Peter Griffin <peter.griffin@linaro.org> | 2015-05-12 13:38:27 (GMT) |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2015-05-29 10:41:04 (GMT) |
commit | 5cfd6c002aa962d102953936a77cc170bb6e5265 (patch) | |
tree | 0125434d6a9d05c23950f5db8b10ff3ee47edc6a /drivers | |
parent | 6a132416359e36ed77b1319674d7ccb9c1a82694 (diff) | |
download | u-boot-5cfd6c002aa962d102953936a77cc170bb6e5265.tar.xz |
usb: dwc2: Add support for v3 snpsid value
This has been tested to the extent that I can enumerate
a asix usb networking adapter and boot a kernel over usb
on the 96boards hikey u-boot port I'm currently doing.
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/host/dwc2.c | 3 | ||||
-rw-r--r-- | drivers/usb/host/dwc2.h | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c index 2ac0017..eee60a2 100644 --- a/drivers/usb/host/dwc2.c +++ b/drivers/usb/host/dwc2.c @@ -932,7 +932,8 @@ int usb_lowlevel_init(int index, enum usb_init_type init, void **controller) snpsid = readl(®s->gsnpsid); printf("Core Release: %x.%03x\n", snpsid >> 12 & 0xf, snpsid & 0xfff); - if ((snpsid & DWC2_SNPSID_DEVID_MASK) != DWC2_SNPSID_DEVID_VER_2xx) { + if ((snpsid & DWC2_SNPSID_DEVID_MASK) != DWC2_SNPSID_DEVID_VER_2xx && + (snpsid & DWC2_SNPSID_DEVID_MASK) != DWC2_SNPSID_DEVID_VER_3xx) { printf("SNPSID invalid (not DWC2 OTG device): %08x\n", snpsid); return -ENODEV; } diff --git a/drivers/usb/host/dwc2.h b/drivers/usb/host/dwc2.h index 45408c6..f69372e 100644 --- a/drivers/usb/host/dwc2.h +++ b/drivers/usb/host/dwc2.h @@ -732,6 +732,7 @@ struct dwc2_core_regs { #define DWC2_PCGCCTL_DEEP_SLEEP (1 << 7) #define DWC2_PCGCCTL_DEEP_SLEEP_OFFSET 7 #define DWC2_SNPSID_DEVID_VER_2xx (0x4f542 << 12) +#define DWC2_SNPSID_DEVID_VER_3xx (0x4f543 << 12) #define DWC2_SNPSID_DEVID_MASK (0xfffff << 12) #define DWC2_SNPSID_DEVID_OFFSET 12 |