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:
parent
dfe8582b06
commit
fd1146e796
|
|
@ -9,16 +9,19 @@ config USB_CDNS3
|
||||||
|
|
||||||
if USB_CDNS3
|
if USB_CDNS3
|
||||||
|
|
||||||
config USB_CDNS3_GADGET_FORCE_HIGHSPEED
|
|
||||||
bool
|
|
||||||
|
|
||||||
config USB_CDNS3_GADGET
|
config USB_CDNS3_GADGET
|
||||||
bool "Cadence USB3 device controller"
|
bool "Cadence USB3 device controller"
|
||||||
depends on USB_GADGET
|
depends on USB_GADGET
|
||||||
select USB_GADGET_DUALSPEED
|
select USB_GADGET_DUALSPEED
|
||||||
select USB_CDNS3_GADGET_FORCE_HIGHSPEED
|
|
||||||
help
|
help
|
||||||
Say Y here to enable device controller functionality of the
|
Say Y here to enable device controller functionality of the
|
||||||
cadence usb3 driver.
|
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
|
endif
|
||||||
|
|
|
||||||
|
|
@ -2113,7 +2113,11 @@ static int __cdns3_gadget_init(struct cdns3 *cdns)
|
||||||
|
|
||||||
/* fill gadget fields */
|
/* fill gadget fields */
|
||||||
usb_ss->gadget.ops = &usb_ss_gadget_ops;
|
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;
|
usb_ss->gadget.max_speed = USB_SPEED_SUPER;
|
||||||
|
#endif
|
||||||
usb_ss->gadget.speed = USB_SPEED_UNKNOWN;
|
usb_ss->gadget.speed = USB_SPEED_UNKNOWN;
|
||||||
usb_ss->gadget.name = "cdns3-gadget";
|
usb_ss->gadget.name = "cdns3-gadget";
|
||||||
usb_ss->is_connected = 0;
|
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)
|
static void __cdns3_gadget_start(struct usb_ss_dev *usb_ss)
|
||||||
{
|
{
|
||||||
|
u32 usb_conf_reg = 0;
|
||||||
|
|
||||||
/* configure endpoint 0 hardware */
|
/* configure endpoint 0 hardware */
|
||||||
cdns_ep0_config(usb_ss);
|
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__L2ENTIEN__MASK
|
||||||
| USB_IEN__L2EXTIEN__MASK);
|
| USB_IEN__L2EXTIEN__MASK);
|
||||||
|
|
||||||
gadget_writel(usb_ss, &usb_ss->regs->usb_conf,
|
usb_conf_reg = USB_CONF__CLK2OFFDS__MASK |
|
||||||
USB_CONF__CLK2OFFDS__MASK
|
USB_CONF__L1DS__MASK;
|
||||||
#ifdef CONFIG_USB_CDNS3_GADGET_FORCE_HIGHSPEED
|
if (usb_ss->gadget.max_speed == USB_SPEED_HIGH)
|
||||||
| USB_CONF__USB3DIS__MASK
|
usb_conf_reg |= USB_CONF__USB3DIS__MASK;
|
||||||
#endif
|
gadget_writel(usb_ss, &usb_ss->regs->usb_conf, usb_conf_reg);
|
||||||
| USB_CONF__L1DS__MASK);
|
|
||||||
|
|
||||||
gadget_writel(usb_ss, &usb_ss->regs->usb_conf,
|
gadget_writel(usb_ss, &usb_ss->regs->usb_conf,
|
||||||
USB_CONF__U1DS__MASK
|
USB_CONF__U1DS__MASK
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue