usb: dwc2: allow peripheral mode for OTG configuration
authorPatrick Delaunay <patrick.delaunay@st.com>
Tue, 18 Jun 2019 14:57:18 +0000 (16:57 +0200)
committerPatrice Chotard <patrice.chotard@st.com>
Wed, 19 Jun 2019 14:56:11 +0000 (16:56 +0200)
Allow device mode in DWC2 driver when device tree select the dr_mode
"peripheral" or "otg".

The device mode is not allowed when dr_mode = "host" in device tree.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Marek Vasut <marex@denx.de>
drivers/usb/gadget/dwc2_udc_otg.c

index 023439cdaccd3997bef3bcf035250f0a187e9ef0..35f4147840efe1a768405b12d0fd002ce779c0cd 100644 (file)
@@ -1041,7 +1041,8 @@ static int dwc2_udc_otg_ofdata_to_platdata(struct udevice *dev)
        void (*set_params)(struct dwc2_plat_otg_data *data);
        int ret;
 
-       if (usb_get_dr_mode(node) != USB_DR_MODE_PERIPHERAL) {
+       if (usb_get_dr_mode(node) != USB_DR_MODE_PERIPHERAL &&
+           usb_get_dr_mode(node) != USB_DR_MODE_OTG) {
                dev_dbg(dev, "Invalid mode\n");
                return -ENODEV;
        }