[PATCH 4/4] gpio: mpc8xxx: Preserve pre-init state of outputs
J. Neuschäfer
j.ne at posteo.net
Thu Dec 19 14:06:59 CET 2024
On Wed, Dec 18, 2024 at 02:20:21PM -0500, Sinan Akman wrote:
> Hi
>
> On 2024-12-15 10:18, J. Neuschäfer via B4 Relay wrote:
> > From: "J. Neuschäfer"<j.ne at posteo.net>
> >
> > The mpc8xxx_gpio driver contains a workaround for certain chips
> > where the previously written state of outputs cannot be read back
> > from the GPIO data (GPDAT) register (MPC8572/MPC8536). This workaround
> > consists of tracking the state of GPDAT in a "shadow register" (i.e. a
> > software variable). The shadow register is initialized to zero.
> >
> > This results in a problem w.r.t. outputs that are configured to a
> > high (1) state before U-Boot runs, but not touched by U-Boot itself:
> > Due to the zero-initialization, these GPIOs end up being set to zero,
> > the first time that any other output is set.
> >
> > To avoid such issues initialize the GPDAT shadow register to the value
> > previously held by any outputs, if possible. On MPC8572/MPC8536 this
> > should make no difference,
>
> Did you test this on a MPC83xx board ?
Yes, on MPC8314E. I'll mention it in the commit message.
I did not test it on MPC85xx, though.
-- jn
More information about the U-Boot
mailing list