usb: tegra: add different id detection types
Rakesh Bodla [Tue, 12 Mar 2013 11:59:43 +0000 (16:59 +0530)]
Add different ID detection methods. Now id cable
can be detected through controller id, pmu id, gpio
or virtual id.

Bug 1227226

Change-Id: I9a3fc5e1fa2f34e0d7973a36f0302cdae64c3ce2
Signed-off-by: Rakesh Bodla <rbodla@nvidia.com>
Reviewed-on: http://git-master/r/208404
(cherry picked from commit 71ecc32c19bb5c2c36403c1704ce6c6cb96318f7)
Reviewed-on: http://git-master/r/211083
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>

include/linux/platform_data/tegra_usb.h

index 3fd7c30..b8e0fe0 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2010 Google, Inc.
- * Copyright (c) 2010-2012, NVIDIA CORPORATION.  All rights reserved.
+ * Copyright (c) 2010-2013, NVIDIA CORPORATION.  All rights reserved.
  *
  * This software is licensed under the terms of the GNU General Public
  * License version 2, as published by the Free Software Foundation, and
@@ -36,6 +36,16 @@ enum tegra_usb_phy_interface {
 };
 
 /**
+ * defines the various ID cable detection types
+ */
+enum tegra_usb_id_detection {
+       TEGRA_USB_ID = 0,
+       TEGRA_USB_PMU_ID = 1,
+       TEGRA_USB_GPIO_ID = 2,
+       TEGRA_USB_VIRTUAL_ID = 3,
+};
+
+/**
  * configuration structure for setting up utmi phy
  */
 struct tegra_utmi_config {
@@ -110,9 +120,9 @@ struct tegra_usb_host_mode_data {
 struct tegra_usb_platform_data {
        bool port_otg;
        bool has_hostpc;
-       bool builtin_host_disabled;
        bool unaligned_dma_buf_supported;
        bool support_pmu_vbus;
+       enum tegra_usb_id_detection id_det_type;
        enum tegra_usb_phy_interface phy_intf;
        enum tegra_usb_operation_mode op_mode;
 
@@ -136,6 +146,7 @@ struct tegra_usb_otg_data {
        struct platform_device *ehci_device;
        struct tegra_usb_platform_data *ehci_pdata;
        char *extcon_dev_name;
+       int id_det_gpio;
 };
 
 #endif /* _TEGRA_USB_H_ */