public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
* I2c GPIO Recovery with pinctrl strict mode
@ 2023-02-07 17:56 Ryan.Wanner
  2023-02-09 10:32 ` Linus Walleij
  0 siblings, 1 reply; 7+ messages in thread
From: Ryan.Wanner @ 2023-02-07 17:56 UTC (permalink / raw)
  To: linux-i2c, linux-kernel, linux-gpio
  Cc: alexandre.belloni, Ludovic.Desroches, linus.walleij,
	Nicolas.Ferre, Claudiu.Beznea

Hello,

I came across an issue working on i2c and pinctrl strict mode, with
at91-i2c and at91-pio4 pinctrl driver. I understand that for i2c
recovery the pins under i2c change states into gpio mode for the
recovery then back to their default state when recovery is complete.
With strict mode my goal is to change ownership from the default i2c
into gpio ownership then back to i2c ownership to continue normal
operation.

My main issue is the process of freeing ownership of a pin(s) having
another driver, in this case gpio, to take ownership then free that
ownership back to the default state, in this case it would be back to
i2c.

I have tried calling pinmux_disable_setting() and then claiming the
gpios then enabling them for recovery then disabling them again. This
causes lots of warnings and some cases the full ownership is not
transferred.

It seems that what I am attempting to achieve is not doable currently.
Is this the case or am I missing some extra things needing to prepare
for this action?

Thanks,
Ryan

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-02-18 23:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-07 17:56 I2c GPIO Recovery with pinctrl strict mode Ryan.Wanner
2023-02-09 10:32 ` Linus Walleij
2023-02-09 13:24   ` Michael Walle
2023-02-10 15:21   ` Ryan.Wanner
2023-02-13  9:29     ` Linus Walleij
2023-02-17 17:36       ` Ryan.Wanner
2023-02-18 23:29         ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox