Thread (18 messages) 18 messages, 4 authors, 2016-06-30

[PATCH] extcon: Add support for qcom SPMI PMIC USB id detection hardware

From: Stephen Boyd <hidden>
Date: 2016-06-27 19:30:41
Also in: linux-arm-msm, lkml

Quoting Roger Quadros (2016-06-27 00:39:51)
Hi Stephen,

On 26/06/16 08:56, Stephen Boyd wrote:
quoted
Some Qualcomm PMICs have a misc device that performs USB id pin
detection via an interrupt. When the interrupt triggers, we
should read the interrupt line to see if it has gone high or low.
If the interrupt is low then the ID pin is grounded, and if the
interrupt is high then the ID pin is being held high.
Does this depend on any other drivers to configure the USB ID
interrupt or it works automatically once the interrupt is enabled?
No other configuration is required as far as I know.
quoted
Cc: Roger Quadros <redacted>
Cc: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Stephen Boyd <redacted>
---
 .../bindings/extcon/qcom,pm8941-misc.txt           |  41 +++++
 drivers/extcon/Kconfig                             |   6 +
 drivers/extcon/Makefile                            |   1 +
 drivers/extcon/extcon-qcom-spmi-misc.c             | 170 +++++++++++++++++++++
Should we make this driver more generic so that it can support
any other platforms as well that can give USB ID over interrupt.
I don't see a problem with that, but can that wait until we gain another
user? I'd rather not make something generic when we only have one user.
What about USB_VBUS? How is that delivered?
The VBUS notification is done through another piece of hardware. In this
case it's done by the charger module. I've sent a patch for that[1].
quoted
diff --git a/drivers/extcon/Makefile b/drivers/extcon/Makefile
index 2a0e4f45d5b2..8cf6eb068d34 100644
--- a/drivers/extcon/Makefile
+++ b/drivers/extcon/Makefile
@@ -15,4 +15,5 @@ obj-$(CONFIG_EXTCON_MAX8997)        += extcon-max8997.o
 obj-$(CONFIG_EXTCON_PALMAS)  += extcon-palmas.o
 obj-$(CONFIG_EXTCON_RT8973A) += extcon-rt8973a.o
 obj-$(CONFIG_EXTCON_SM5502)  += extcon-sm5502.o
+obj-$(CONFIG_EXTCON_QCOM_SPMI_MISC) += extcon-qcom-spmi-misc.o
 obj-$(CONFIG_EXTCON_USB_GPIO)        += extcon-usb-gpio.o
diff --git a/drivers/extcon/extcon-qcom-spmi-misc.c b/drivers/extcon/extcon-qcom-spmi-misc.c
new file mode 100644
index 000000000000..f0ec6f1541e1
--- /dev/null
+++ b/drivers/extcon/extcon-qcom-spmi-misc.c
@@ -0,0 +1,170 @@
+/**
+ * Based on extcon-usb-gpio.c
+ *
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com
+ * Author: Roger Quadros <rogerq@ti.com>
You don't need to carry the original (C) here.
Ok I'll drop those two lines. Thanks.

[1] http://lkml.kernel.org/g/20160626055437.18516-1-stephen.boyd at linaro.org
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help