--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1355,6 +1355,9 @@ static void dwc3_get_properties(struct d
- dwc->dis_metastability_quirk = device_property_read_bool(dev,
- "snps,dis_metastability_quirk");
+@@ -1364,6 +1364,9 @@ static void dwc3_get_properties(struct d
+ dwc->dis_split_quirk = device_property_read_bool(dev,
+ "snps,dis-split-quirk");
+ dwc->host_vbus_glitches = device_property_read_bool(dev,
+ "snps,host-vbus-glitches");
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
-@@ -1041,6 +1041,8 @@ struct dwc3_scratchpad_array {
- * 2 - No de-emphasis
+@@ -1046,6 +1046,8 @@ struct dwc3_scratchpad_array {
* 3 - Reserved
* @dis_metastability_quirk: set to disable metastability quirk.
+ * @dis_split_quirk: set to disable split boundary.
+ * @host_vbus_glitches: set to avoid vbus glitch during
+ * xhci reset.
* @imod_interval: set the interrupt moderation interval in 250ns
* increments or 0 to disable.
*/
-@@ -1233,6 +1235,7 @@ struct dwc3 {
- unsigned tx_de_emphasis:2;
+@@ -1241,6 +1243,8 @@ struct dwc3 {
- unsigned dis_metastability_quirk:1;
-+ unsigned host_vbus_glitches:1;
+ unsigned dis_split_quirk:1;
++ unsigned host_vbus_glitches:1;
++
u16 imod_interval;
};
+
--- a/drivers/usb/dwc3/host.c
+++ b/drivers/usb/dwc3/host.c
@@ -9,8 +9,49 @@