usb: musb: dsps: control musb speed based on dts setting
Set musb config->maximum_speed based on the dts setting to control musb speed. By default musb works in high-speed mode. Adding maximum-speed = "full-speed"; to dts usb node will force musb to full-speed mode. Signed-off-by: Bin Liu <b-liu@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
9b7537642c
commit
41932b9b8a
|
@ -747,6 +747,19 @@ static int dsps_create_musb_pdev(struct dsps_glue *glue,
|
||||||
if (!ret && val)
|
if (!ret && val)
|
||||||
config->multipoint = true;
|
config->multipoint = true;
|
||||||
|
|
||||||
|
config->maximum_speed = of_usb_get_maximum_speed(dn);
|
||||||
|
switch (config->maximum_speed) {
|
||||||
|
case USB_SPEED_LOW:
|
||||||
|
case USB_SPEED_FULL:
|
||||||
|
break;
|
||||||
|
case USB_SPEED_SUPER:
|
||||||
|
dev_warn(dev, "ignore incorrect maximum_speed "
|
||||||
|
"(super-speed) setting in dts");
|
||||||
|
/* fall through */
|
||||||
|
default:
|
||||||
|
config->maximum_speed = USB_SPEED_HIGH;
|
||||||
|
}
|
||||||
|
|
||||||
ret = platform_device_add_data(musb, &pdata, sizeof(pdata));
|
ret = platform_device_add_data(musb, &pdata, sizeof(pdata));
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(dev, "failed to add platform_data\n");
|
dev_err(dev, "failed to add platform_data\n");
|
||||||
|
|
Loading…
Reference in New Issue