aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-tuna-connector.c
diff options
context:
space:
mode:
authorGreg Hackmann <ghackmann@google.com>2012-05-21 18:48:55 -0700
committerGreg Hackmann <ghackmann@google.com>2012-05-22 13:42:12 -0700
commitaa78a4ebf68063108e150736de2ccad925a855a4 (patch)
tree0e080bef0f3ace8e059ef2bc643e9148f902b9d3 /arch/arm/mach-omap2/board-tuna-connector.c
parent1536e74c5a7c9ec400e51e9eab7af8940cc1d9d8 (diff)
downloadkernel_samsung_tuna-aa78a4ebf68063108e150736de2ccad925a855a4.zip
kernel_samsung_tuna-aa78a4ebf68063108e150736de2ccad925a855a4.tar.gz
kernel_samsung_tuna-aa78a4ebf68063108e150736de2ccad925a855a4.tar.bz2
ARM: omap4: tuna: attach to USB when MHL negotiation fails
Some buggy MHL docks start the detection process, but do not respond to devcap reads if HDMI is disconnected. MHL detection may also be falsely triggered by a glitchy connection. In these cases, attach to USB so charging can still happen. Change-Id: Ia06dd088375fdcd6f598b6c94249a1e5814d7998 Signed-off-by: Greg Hackmann <ghackmann@google.com>
Diffstat (limited to 'arch/arm/mach-omap2/board-tuna-connector.c')
-rw-r--r--arch/arm/mach-omap2/board-tuna-connector.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/board-tuna-connector.c b/arch/arm/mach-omap2/board-tuna-connector.c
index 7c09aef..855ee6a 100644
--- a/arch/arm/mach-omap2/board-tuna-connector.c
+++ b/arch/arm/mach-omap2/board-tuna-connector.c
@@ -424,6 +424,9 @@ static void tuna_fsa_usb_detected(int device)
else
tuna_ap_usb_attach(tuna_otg);
break;
+ case FSA9480_DETECT_AV_POWERED:
+ tuna_ap_usb_attach(tuna_otg);
+ break;
case FSA9480_DETECT_CHARGER:
tuna_mux_usb_to_fsa(true);
@@ -468,6 +471,9 @@ static void tuna_fsa_usb_detected(int device)
else
tuna_ap_usb_detach(tuna_otg);
break;
+ case FSA9480_DETECT_AV_POWERED:
+ tuna_ap_usb_detach(tuna_otg);
+ break;
case FSA9480_DETECT_USB_HOST:
tuna_usb_host_detach(tuna_otg);
break;
@@ -510,7 +516,11 @@ static void tuna_fsa_usb_detected(int device)
static struct fsa9480_detect_set fsa_detect_sets[] = {
{
.prio = TUNA_OTG_ID_FSA9480_PRIO,
- .mask = FSA9480_DETECT_ALL,
+ .mask = FSA9480_DETECT_ALL & ~FSA9480_DETECT_AV_POWERED,
+ },
+ {
+ .prio = TUNA_OTG_ID_SII9234_FAILED_PRIO,
+ .mask = FSA9480_DETECT_AV_POWERED,
},
{
.prio = TUNA_OTG_ID_FSA9480_LAST_PRIO,