Commit 41932b9b authored by Bin Liu's avatar Bin Liu Committed by Felipe Balbi

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: default avatarBin Liu <b-liu@ti.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 9b753764
...@@ -747,6 +747,19 @@ static int dsps_create_musb_pdev(struct dsps_glue *glue, ...@@ -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");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment