diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/board-ventana.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-ventana.c b/arch/arm/mach-tegra/board-ventana.c index 656ea0c5d3bc..e4fb0d21e3a0 100644 --- a/arch/arm/mach-tegra/board-ventana.c +++ b/arch/arm/mach-tegra/board-ventana.c @@ -34,6 +34,7 @@ #include <linux/input.h> #include <linux/platform_data/tegra_usb.h> #include <linux/usb/android_composite.h> +#include <linux/usb/f_accessory.h> #include <linux/mfd/tps6586x.h> #include <linux/memblock.h> @@ -256,11 +257,18 @@ static __initdata struct tegra_clk_init_table ventana_clk_init_table[] = { static char *usb_functions_mtp_ums[] = { "mtp", "usb_mass_storage" }; static char *usb_functions_mtp_adb_ums[] = { "mtp", "adb", "usb_mass_storage" }; +#ifdef CONFIG_USB_ANDROID_ACCESSORY +static char *usb_functions_accessory[] = { "accessory" }; +static char *usb_functions_accessory_adb[] = { "accessory", "adb" }; +#endif #ifdef CONFIG_USB_ANDROID_RNDIS static char *usb_functions_rndis[] = { "rndis" }; static char *usb_functions_rndis_adb[] = { "rndis", "adb" }; #endif static char *usb_functions_all[] = { +#ifdef CONFIG_USB_ANDROID_ACCESSORY + "accessory", +#endif #ifdef CONFIG_USB_ANDROID_RNDIS "rndis", #endif @@ -280,6 +288,20 @@ static struct android_usb_product usb_products[] = { .num_functions = ARRAY_SIZE(usb_functions_mtp_adb_ums), .functions = usb_functions_mtp_adb_ums, }, +#ifdef CONFIG_USB_ANDROID_ACCESSORY + { + .vendor_id = USB_ACCESSORY_VENDOR_ID, + .product_id = USB_ACCESSORY_PRODUCT_ID, + .num_functions = ARRAY_SIZE(usb_functions_accessory), + .functions = usb_functions_accessory, + }, + { + .vendor_id = USB_ACCESSORY_VENDOR_ID, + .product_id = USB_ACCESSORY_ADB_PRODUCT_ID, + .num_functions = ARRAY_SIZE(usb_functions_accessory_adb), + .functions = usb_functions_accessory_adb, + }, +#endif #ifdef CONFIG_USB_ANDROID_RNDIS { .product_id = USB_PRODUCT_ID_RNDIS, |