usb: gadget: renesas_usbhs: add device select support in usbhs_pipe_config_update()

device select method will be used on mod_host

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
diff --git a/drivers/usb/renesas_usbhs/pipe.c b/drivers/usb/renesas_usbhs/pipe.c
index 08d11b0..4235a2e 100644
--- a/drivers/usb/renesas_usbhs/pipe.c
+++ b/drivers/usb/renesas_usbhs/pipe.c
@@ -418,14 +418,26 @@
 		(0xff & bufnmb)		<<  0;
 }
 
-void usbhs_pipe_config_update(struct usbhs_pipe *pipe, u16 epnum, u16 maxp)
+void usbhs_pipe_config_update(struct usbhs_pipe *pipe, u16 devsel,
+			      u16 epnum, u16 maxp)
 {
+	if (devsel > 0xA) {
+		struct usbhs_priv *priv = usbhs_pipe_to_priv(pipe);
+		struct device *dev = usbhs_priv_to_dev(priv);
+
+		dev_err(dev, "devsel error %d\n", devsel);
+
+		devsel = 0;
+	}
+
 	usbhsp_pipe_barrier(pipe);
 
 	pipe->maxp = maxp;
 
 	usbhsp_pipe_select(pipe);
-	usbhsp_pipe_maxp_set(pipe, 0xFFFF, maxp);
+	usbhsp_pipe_maxp_set(pipe, 0xFFFF,
+			     (devsel << 12) |
+			     maxp);
 
 	if (!usbhs_pipe_is_dcp(pipe))
 		usbhsp_pipe_cfg_set(pipe,  0x000F, epnum);