Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1522682 > unrolled thread

Re: [PATCH v5 2/4] phy: da8xx-usb: Configure CFGCHIP2 to support OTG workaround

Started byKishon Vijay Abraham I <kishon@ti.com>
First post2016-11-15 14:20 +0100
Last post2016-11-15 14:20 +0100
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v5 2/4] phy: da8xx-usb: Configure CFGCHIP2 to support OTG  workaround Kishon Vijay Abraham I <kishon@ti.com> - 2016-11-15 14:20 +0100

#1522682 — Re: [PATCH v5 2/4] phy: da8xx-usb: Configure CFGCHIP2 to support OTG workaround

FromKishon Vijay Abraham I <kishon@ti.com>
Date2016-11-15 14:20 +0100
SubjectRe: [PATCH v5 2/4] phy: da8xx-usb: Configure CFGCHIP2 to support OTG workaround
Message-ID<sDLOy-5pg-13@gated-at.bofh.it>

On Monday 07 November 2016 06:35 PM, Alexandre Bailon wrote:
> If we configure the da8xx OTG phy in OTG mode, neither device or host
> mode will work. That is because the PHY is not able to detect and notify
> the driver that value of ID pin changed.
> To work despite this hardware limitation, the da8xx glue implement a
> workaround.
> But to work, the workaround require the VBUS sense and the session end
> comparator to enabled.
> Enable them if the phy is configured in OTG mode.
> 
> Signed-off-by: Alexandre Bailon <abailon@baylibre.com>

merged this to phy -next.

Thanks
Kishon
> ---
>  drivers/phy/phy-da8xx-usb.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/phy/phy-da8xx-usb.c b/drivers/phy/phy-da8xx-usb.c
> index 32ae78c..089c13b 100644
> --- a/drivers/phy/phy-da8xx-usb.c
> +++ b/drivers/phy/phy-da8xx-usb.c
> @@ -23,6 +23,8 @@
>  #include <linux/platform_device.h>
>  #include <linux/regmap.h>
>  
> +#define PHY_INIT_BITS	(CFGCHIP2_SESENDEN | CFGCHIP2_VBDTCTEN)
> +
>  struct da8xx_usb_phy {
>  	struct phy_provider	*phy_provider;
>  	struct phy		*usb11_phy;
> @@ -207,6 +209,9 @@ static int da8xx_usb_phy_probe(struct platform_device *pdev)
>  			dev_warn(dev, "Failed to create usb20 phy lookup\n");
>  	}
>  
> +	regmap_write_bits(d_phy->regmap, CFGCHIP(2),
> +			  PHY_INIT_BITS, PHY_INIT_BITS);
> +
>  	return 0;
>  }
>  
> 

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web