mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-20 11:13:58 +08:00
at91: at91-ohci: configure overcurrent pins as input GPIOs
As a new overcurrent_pin[] array has been added to the at91_usbh_data structure, those pins must be muxed to work properly. This commit implements this muxing for all AT91 SoCs that support the AT91 OHCI. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [nicolas.ferre@atmel.com: added i variable declaration for the loop] Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
This commit is contained in:
parent
aa6e52a35d
commit
1fcaea7e4c
@ -80,6 +80,12 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data)
|
||||
at91_set_gpio_output(data->vbus_pin[i], 0);
|
||||
}
|
||||
|
||||
/* Enable overcurrent notification */
|
||||
for (i = 0; i < data->ports; i++) {
|
||||
if (data->overcurrent_pin[i])
|
||||
at91_set_gpio_input(data->overcurrent_pin[i], 1);
|
||||
}
|
||||
|
||||
usbh_data = *data;
|
||||
platform_device_register(&at91_usbh_device);
|
||||
}
|
||||
|
@ -60,9 +60,17 @@ static struct platform_device at91rm9200_usbh_device = {
|
||||
|
||||
void __init at91_add_device_usbh(struct at91_usbh_data *data)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!data)
|
||||
return;
|
||||
|
||||
/* Enable overcurrent notification */
|
||||
for (i = 0; i < data->ports; i++) {
|
||||
if (data->overcurrent_pin[i])
|
||||
at91_set_gpio_input(data->overcurrent_pin[i], 1);
|
||||
}
|
||||
|
||||
usbh_data = *data;
|
||||
platform_device_register(&at91rm9200_usbh_device);
|
||||
}
|
||||
|
@ -61,9 +61,17 @@ static struct platform_device at91_usbh_device = {
|
||||
|
||||
void __init at91_add_device_usbh(struct at91_usbh_data *data)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!data)
|
||||
return;
|
||||
|
||||
/* Enable overcurrent notification */
|
||||
for (i = 0; i < data->ports; i++) {
|
||||
if (data->overcurrent_pin[i])
|
||||
at91_set_gpio_input(data->overcurrent_pin[i], 1);
|
||||
}
|
||||
|
||||
usbh_data = *data;
|
||||
platform_device_register(&at91_usbh_device);
|
||||
}
|
||||
|
@ -64,9 +64,17 @@ static struct platform_device at91sam9261_usbh_device = {
|
||||
|
||||
void __init at91_add_device_usbh(struct at91_usbh_data *data)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!data)
|
||||
return;
|
||||
|
||||
/* Enable overcurrent notification */
|
||||
for (i = 0; i < data->ports; i++) {
|
||||
if (data->overcurrent_pin[i])
|
||||
at91_set_gpio_input(data->overcurrent_pin[i], 1);
|
||||
}
|
||||
|
||||
usbh_data = *data;
|
||||
platform_device_register(&at91sam9261_usbh_device);
|
||||
}
|
||||
|
@ -74,6 +74,12 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data)
|
||||
at91_set_gpio_output(data->vbus_pin[i], 0);
|
||||
}
|
||||
|
||||
/* Enable overcurrent notification */
|
||||
for (i = 0; i < data->ports; i++) {
|
||||
if (data->overcurrent_pin[i])
|
||||
at91_set_gpio_input(data->overcurrent_pin[i], 1);
|
||||
}
|
||||
|
||||
usbh_data = *data;
|
||||
platform_device_register(&at91_usbh_device);
|
||||
}
|
||||
|
@ -124,6 +124,12 @@ void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data)
|
||||
at91_set_gpio_output(data->vbus_pin[i], 0);
|
||||
}
|
||||
|
||||
/* Enable overcurrent notification */
|
||||
for (i = 0; i < data->ports; i++) {
|
||||
if (data->overcurrent_pin[i])
|
||||
at91_set_gpio_input(data->overcurrent_pin[i], 1);
|
||||
}
|
||||
|
||||
usbh_ohci_data = *data;
|
||||
platform_device_register(&at91_usbh_ohci_device);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user