[PATCH 4/4] gpio: mpc8xxx: Preserve pre-init state of outputs

Sinan Akman sinan at writeme.com
Thu Dec 19 17:13:41 CET 2024


On 2024-12-19 08:06, J. Neuschäfer wrote:
> 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.

yes please do, thanks.

Reviewed-by: Sinan Akman  <sinan at writeme.com>

>
> I did not test it on MPC85xx, though.
>
>
>   -- jn



More information about the U-Boot mailing list