Subject: Re: [RFC PATCH 1/4] dt-binding: i2c: add generic properties for GPIO bus recovery

From: Russell King - ARM Linux admin <[email-masked]>
Date: Mon, 27 Jul 2020 11:50:29 +0100

On Mon, Jul 27, 2020 at 10:44:57AM +0000, [email-masked] wrote:
> On 24.07.2020 23:52, Russell King - ARM Linux admin wrote:
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> > 
> > On Fri, Jul 24, 2020 at 09:39:13PM +0200, Wolfram Sang wrote:
> >> On Sun, Jul 05, 2020 at 11:19:18PM +0200, Wolfram Sang wrote:
> >>>
> >>>> +- pinctrl
> >>>> + add extra pinctrl to configure SCL/SDA pins to GPIO function for bus
> >>>> + recovery, call it "gpio" or "recovery" state
> >>>
> >>> I think we should stick with "gpio" only. That is what at91 and imx have
> >>> in their bindings. pxa uses "recovery" as a pinctrl state name but I
> >>> can't find any further use or documentation of that. PXA is not fully
> >>> converted to the best of my knowledge, so maybe it is no problem for PXA
> >>> to switch to "gpio", too? We should ask Russell King (cced).
> > 
> > Fully converted to what?  The generic handling where the i2c core layer
> > handles everything to do with recovery, including the switch between
> > modes?
> > 
> > i2c-pxa _intentionally_ carefully handles the switch between i2c mode and
> > GPIO mode, and I don't see a generic driver doing that to avoid causing
> > any additional glitches on the bus.  Given the use case that this recovery
> > is targetted at, avoiding glitches is very important to keep.
> 
> Why is it not possbile to handle glitches in a generic way? I guess it 
> depends on the pinctl, but we could treat a worst-case scenario to 
> assure the switch between states is done properly.

Please look at how i2c-pxa switches between the two, and decide whether
the generic implementation can do the same.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel