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

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

From: Roger Quadros <hidden>
Date: 2016-06-28 06:37:52
Also in: linux-arm-msm, lkml

On 27/06/16 22:30, Stephen Boyd wrote:
Quoting Roger Quadros (2016-06-27 00:39:51)
quoted
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
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.
OK.
quoted
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].
Isn't it better if ID event is handled as well in that PMIC driver instead of
creating a separate one here?

Why do you need ID to be handled outside of the PMIC driver?
You mentioned earlier that some Qualcomm PMICs have ID detection.
quoted
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
--
cheers,
-roger
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help