Commit 0c27c5d5 authored by Richard Purdie's avatar Richard Purdie Committed by Russell King

[ARM] 3547/1: PXA-OHCI: Allow platforms to specify a power budget

Patch from Richard Purdie

Add a power budget variable to the PXA OHCI platform data and add a
default value for the spitz platform(s) which prevents known failures
with certain USB devices.
Signed-off-by: default avatarRichard Purdie <rpurdie@rpsys.net>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent d782f33d
...@@ -371,6 +371,7 @@ static int spitz_ohci_init(struct device *dev) ...@@ -371,6 +371,7 @@ static int spitz_ohci_init(struct device *dev)
static struct pxaohci_platform_data spitz_ohci_platform_data = { static struct pxaohci_platform_data spitz_ohci_platform_data = {
.port_mode = PMM_NPS_MODE, .port_mode = PMM_NPS_MODE,
.init = spitz_ohci_init, .init = spitz_ohci_init,
.power_budget = 150,
}; };
......
...@@ -185,6 +185,9 @@ int usb_hcd_pxa27x_probe (const struct hc_driver *driver, struct platform_device ...@@ -185,6 +185,9 @@ int usb_hcd_pxa27x_probe (const struct hc_driver *driver, struct platform_device
/* Select Power Management Mode */ /* Select Power Management Mode */
pxa27x_ohci_select_pmm(inf->port_mode); pxa27x_ohci_select_pmm(inf->port_mode);
if (inf->power_budget)
hcd->power_budget = inf->power_budget;
ohci_hcd_init(hcd_to_ohci(hcd)); ohci_hcd_init(hcd_to_ohci(hcd));
retval = usb_add_hcd(hcd, pdev->resource[1].start, SA_INTERRUPT); retval = usb_add_hcd(hcd, pdev->resource[1].start, SA_INTERRUPT);
......
...@@ -11,6 +11,8 @@ struct pxaohci_platform_data { ...@@ -11,6 +11,8 @@ struct pxaohci_platform_data {
#define PMM_NPS_MODE 1 #define PMM_NPS_MODE 1
#define PMM_GLOBAL_MODE 2 #define PMM_GLOBAL_MODE 2
#define PMM_PERPORT_MODE 3 #define PMM_PERPORT_MODE 3
int power_budget;
}; };
extern void pxa_set_ohci_info(struct pxaohci_platform_data *info); extern void pxa_set_ohci_info(struct pxaohci_platform_data *info);
......
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