MLK-20493-4 usb: cdns3: change device mode to be USB3 by default

Remove high speed force and set it to super speed by default.

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Tested-by: faqiang.zhu <faqiang.zhu@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
This commit is contained in:
Li Jun 2018-12-13 10:55:35 +08:00
parent dfe8582b06
commit fd1146e796
2 changed files with 18 additions and 10 deletions

View File

@ -9,16 +9,19 @@ config USB_CDNS3
if USB_CDNS3
config USB_CDNS3_GADGET_FORCE_HIGHSPEED
bool
config USB_CDNS3_GADGET
bool "Cadence USB3 device controller"
depends on USB_GADGET
select USB_GADGET_DUALSPEED
select USB_CDNS3_GADGET_FORCE_HIGHSPEED
help
Say Y here to enable device controller functionality of the
cadence usb3 driver.
config USB_CDNS3_GADGET_FORCE_HIGHSPEED
bool "Force USB2 for Cadence USB3 device controller"
depends on USB_CDNS3_GADGET
help
Say Y here to force the Cadence USB3 device controller to be
USB 2.0 even if connects to USB3 host port.
endif

View File

@ -2113,7 +2113,11 @@ static int __cdns3_gadget_init(struct cdns3 *cdns)
/* fill gadget fields */
usb_ss->gadget.ops = &usb_ss_gadget_ops;
#ifdef CONFIG_USB_CDNS3_GADGET_FORCE_HIGHSPEED
usb_ss->gadget.max_speed = USB_SPEED_HIGH;
#else
usb_ss->gadget.max_speed = USB_SPEED_SUPER;
#endif
usb_ss->gadget.speed = USB_SPEED_UNKNOWN;
usb_ss->gadget.name = "cdns3-gadget";
usb_ss->is_connected = 0;
@ -2197,6 +2201,8 @@ void cdns3_gadget_remove(struct cdns3 *cdns)
static void __cdns3_gadget_start(struct usb_ss_dev *usb_ss)
{
u32 usb_conf_reg = 0;
/* configure endpoint 0 hardware */
cdns_ep0_config(usb_ss);
@ -2217,12 +2223,11 @@ static void __cdns3_gadget_start(struct usb_ss_dev *usb_ss)
| USB_IEN__L2ENTIEN__MASK
| USB_IEN__L2EXTIEN__MASK);
gadget_writel(usb_ss, &usb_ss->regs->usb_conf,
USB_CONF__CLK2OFFDS__MASK
#ifdef CONFIG_USB_CDNS3_GADGET_FORCE_HIGHSPEED
| USB_CONF__USB3DIS__MASK
#endif
| USB_CONF__L1DS__MASK);
usb_conf_reg = USB_CONF__CLK2OFFDS__MASK |
USB_CONF__L1DS__MASK;
if (usb_ss->gadget.max_speed == USB_SPEED_HIGH)
usb_conf_reg |= USB_CONF__USB3DIS__MASK;
gadget_writel(usb_ss, &usb_ss->regs->usb_conf, usb_conf_reg);
gadget_writel(usb_ss, &usb_ss->regs->usb_conf,
USB_CONF__U1DS__MASK