Re: [PATCH 1/2] OMAP4: otg: phy: fix charger detection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Fri, Aug 3, 2012 at 12:01 PM, ABRAHAM, KISHON VIJAY <kishon@xxxxxx> wrote:
> Hi,
>
> On Thu, Jul 5, 2012 at 2:12 PM, Ruslan Bilovol <ruslan.bilovol@xxxxxx> wrote:
>> Charger detection feature is not correctly used
>> and thus makes some regressions if OTG was used in
>> the host mode. Charger detection takes 500 ms so
>> if some device is attached to the host after 500 ms
>> it will be suddenly resetted.
>>
>> This feature is enabled by default after reset/cold boot
>> so always affects PHY usage. So finally this was wrongly
>> interpreted as "phy requires 200ms to start".
>> After fixing this we can safely remove uggly mdelay after
>> powering on the PHY.
>>
>> Signed-off-by: Ruslan Bilovol <ruslan.bilovol@xxxxxx>
>> ---
>>  arch/arm/mach-omap2/omap_phy_internal.c |    9 +++++++++
>>  1 files changed, 9 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/omap_phy_internal.c b/arch/arm/mach-omap2/omap_phy_internal.c
>> index d52651a..a13a37c 100644
>> --- a/arch/arm/mach-omap2/omap_phy_internal.c
>> +++ b/arch/arm/mach-omap2/omap_phy_internal.c
>> @@ -42,12 +42,16 @@
>>  #define        SESSEND                         BIT(3)
>>  #define        IDDIG                           BIT(4)
>>
>> +#define CONTROL_USB2PHYCORE            0x620
>> +#define USB2PHY_DISCHGDET              BIT(30)
>> +
>>  static struct clk *phyclk, *clk48m, *clk32k;
>>  static void __iomem *ctrl_base;
>>  static int usbotghs_control;
>>
>>  int omap4430_phy_init(struct device *dev)
>>  {
>> +       u32 usb2phycore;
>>         ctrl_base = ioremap(OMAP443X_SCM_BASE, SZ_1K);
>>         if (!ctrl_base) {
>>                 pr_err("control module ioremap failed\n");
>> @@ -56,6 +60,11 @@ int omap4430_phy_init(struct device *dev)
>>         /* Power down the phy */
>>         __raw_writel(PHY_PD, ctrl_base + CONTROL_DEV_CONF);
>>
>> +       /* Disable charger detection by default */
>> +       usb2phycore = omap4_ctrl_pad_readl(CONTROL_USB2PHYCORE);
>> +       usb2phycore |= USB2PHY_DISCHGDET;
>> +       omap4_ctrl_pad_writel(usb2phycore, CONTROL_USB2PHYCORE);
>
> Maybe I failed to understand correctly but the $subject says it
> *fixes* charger detection but the patch *disables* charger detection.
>

Yes, you are correct (the patch originally was done for case with
charger detection realized)

Will submit new patchsets with fixed subject and description

--
Best regards,
Ruslan Bilovol
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux