RE: [PATCH 2/2] usb: chipidea: usbmisc: set over current polarity for imx6 and imx7

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

 



Hi Peter,

> -----Original Message-----
> From: Peter Chen [mailto:hzpeterchen@xxxxxxxxx]
> Sent: Friday, July 15, 2016 5:21 PM
> To: Jun Li <jun.li@xxxxxxx>
> Cc: Peter Chen <peter.chen@xxxxxxx>; linux-usb@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 2/2] usb: chipidea: usbmisc: set over current polarity
> for imx6 and imx7
> 
> On Fri, Jul 15, 2016 at 07:38:23AM +0000, Jun Li wrote:
> > Hi,
> > > -----Original Message-----
> > > From: Peter Chen [mailto:hzpeterchen@xxxxxxxxx]
> > > Sent: Friday, July 15, 2016 3:02 PM
> > > To: Jun Li <jun.li@xxxxxxx>
> > > Cc: Peter Chen <peter.chen@xxxxxxx>; linux-usb@xxxxxxxxxxxxxxx
> > > Subject: Re: [PATCH 2/2] usb: chipidea: usbmisc: set over current
> > > polarity for imx6 and imx7
> > >
> > > On Tue, Jul 12, 2016 at 03:24:49PM +0800, Li Jun wrote:
> > > > As all usb power supply use low active for over current flag on
> > > > imx6
> > > > imx7 boards, and the default register setting(0) is for high
> > > > active, this patch is to correct it.
> > > >
> > >
> > > We may can't ensure all USB power switch chips work like that, I
> > > suggest you making this as default.
> > >
> > > I will change the commit log like below if you are ok.
> > >
> > > As most of all usb power switch chips use active-low for over
> > > current flag, but the default register setting(0) is for active-high
> > > at imx6/imx7, this patch changes default value as active-low.
> >
> > Looks better, I am okay with it except a tiny comment :%s/As most of
> > all usb power/As most of usb power
> >
> > Li Jun
> > >
> Since we can't break current default behaviour, but with your patch, the
> imx6sx sdb board creates over current event.
> 
> I think you may need to introduce a flag for OC polarity, and use it for
> exist platforms if necessary. It can narrow down affect only on single
> platform.
> 
> For new platforms, you can change SoC values by default.

To keep those platforms without specify either disable-over-current
or over-current-polarity out of problem, we need set the disable_oc
to be "1", or oc_polarity to be "1"(then register value to be "0"
as before) for them.

if (!of_property_read_u32(np, "over-current-polarity", &ret))
        data->oc_polarity = ret ? 1 : 0;
else
        data->oc_polarity = 1;

or

if (!of_property_read_u32(np, "over-current-polarity", &ret))
        data->oc_polarity = ret ? 1 : 0;
else
        data->disable_oc = 1;

which way do you prefer?

Li Jun    
> 
> --
> 
> Best Regards,
> Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux