lkml.org 
[lkml]   [2015]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] extcon: palmas: add support for using VBUSDET output
    Hi Felipe,

    On 2015년 11월 20일 14:33, Chanwoo Choi wrote:
    > Hi Felipe,
    >
    > Looks good to me. But I have one comment.
    >
    > On 2015년 11월 13일 02:57, Felipe Balbi wrote:
    >> TPS659038 can remux its GPIO_1 as VBUSDET output,
    >> which can be tied to a SoC GPIO and used as a VBUS
    >> interrupt.
    >>
    >> Beagle X15 uses that, in fact, and without it, I
    >> could not get USB peripheral working with that
    >> board.
    >>
    >> Signed-off-by: Felipe Balbi <balbi@ti.com>
    >> ---
    >> drivers/extcon/extcon-palmas.c | 22 ++++++++++++++++++++--
    >> 1 file changed, 20 insertions(+), 2 deletions(-)
    >>
    >> diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c
    >> index 93c30a885740..7985d092c069 100644
    >> --- a/drivers/extcon/extcon-palmas.c
    >> +++ b/drivers/extcon/extcon-palmas.c
    >> @@ -296,10 +296,28 @@ static int palmas_usb_probe(struct platform_device *pdev)
    >> }
    >>
    >> if (palmas_usb->enable_vbus_detection) {
    >> + int irq = platform_get_irq(pdev, 0);
    >> +
    >> + if (irq > 0) {
    >> + /* remux GPIO_1 as VBUSDET */
    >> + status = palmas_update_bits(palmas, PALMAS_PU_PD_OD_BASE,
    >> + PALMAS_PRIMARY_SECONDARY_PAD1,
    >> + PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_1_MASK,
    >> + (1 << 3));
    >
    > PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_1_SHIFT is appropriate instead of using '3'.
    > Also, I don't recommend the over line 80. The everything else is good
    >
    >
    >> + if (status < 0) {
    >> + dev_err(&pdev->dev, "can't remux GPIO1\n");
    >> + return status;
    >> + }
    >> +
    >> + palmas_usb->vbus_irq = irq;
    >> + } else {
    >> + irq = regmap_irq_get_virq(palmas->irq_data,
    >> + PALMAS_VBUS_IRQ);
    >> + palmas_usb->vbus_irq = irq;
    >> + }
    >> +
    >> palmas_usb->vbus_otg_irq = regmap_irq_get_virq(palmas->irq_data,
    >> PALMAS_VBUS_OTG_IRQ);
    >> - palmas_usb->vbus_irq = regmap_irq_get_virq(palmas->irq_data,
    >> - PALMAS_VBUS_IRQ);
    >> status = devm_request_threaded_irq(palmas_usb->dev,
    >> palmas_usb->vbus_irq, NULL,
    >> palmas_vbus_irq_handler,
    >>
    >
    > Thanks,
    > Chanwoo Choi
    > --
    > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    > the body of a message to majordomo@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html
    > Please read the FAQ at http://www.tux.org/lkml/
    >

    If you are OK about following patch, I'll apply it on extcon branch.

    diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c
    index 93c30a885740..f601370c9466 100644
    --- a/drivers/extcon/extcon-palmas.c
    +++ b/drivers/extcon/extcon-palmas.c
    @@ -296,10 +296,29 @@ static int palmas_usb_probe(struct platform_device *pdev)
    }

    if (palmas_usb->enable_vbus_detection) {
    + int irq = platform_get_irq(pdev, 0);
    +
    + if (irq > 0) {
    + /* remux GPIO_1 as VBUSDET */
    + status = palmas_update_bits(palmas,
    + PALMAS_PU_PD_OD_BASE,
    + PALMAS_PRIMARY_SECONDARY_PAD1,
    + PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_1_MASK,
    + (1 << PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_1_SHIFT));
    + if (status < 0) {
    + dev_err(&pdev->dev, "can't remux GPIO1\n");
    + return status;
    + }
    +
    + palmas_usb->vbus_irq = irq;
    + } else {
    + irq = regmap_irq_get_virq(palmas->irq_data,
    + PALMAS_VBUS_IRQ);
    + palmas_usb->vbus_irq = irq;
    + }
    +
    palmas_usb->vbus_otg_irq = regmap_irq_get_virq(palmas->irq_data,
    PALMAS_VBUS_OTG_IRQ);
    - palmas_usb->vbus_irq = regmap_irq_get_virq(palmas->irq_data,
    - PALMAS_VBUS_IRQ);
    status = devm_request_threaded_irq(palmas_usb->dev,
    palmas_usb->vbus_irq, NULL,
    palmas_vbus_irq_handler,
    --
    1.9.1

    Thanks,
    Chanwoo Choi



    \
     
     \ /
      Last update: 2015-11-20 07:21    [W:4.649 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site