Re: [PATCH] pinctrl: pinctrl-cy8c95x0: Fix regcache
From: Andy Shevchenko
Date: Mon Sep 02 2024 - 05:28:33 EST
On Mon, Sep 2, 2024 at 10:30 AM Patrick Rudolph
<patrick.rudolph@xxxxxxxxxxxxx> wrote:
>
> The size of the mux stride was of by one, which could result in
off
> invalid pin configuration on the device side or invalid state
> readings on the software side.
>
> While on it also update the code and:
> - Increase the mux stride size to 16
> - Align the virtual muxed regmap range to 16
> - Start the regmap window at the selector
> - Mark reserved registers as not-readable
Reported-by: Andy Shevchenko <andy@xxxxxxxxxx>
Reviewed-by: Andy Shevchenko <andy@xxxxxxxxxx>
...
> - if (reg >= CY8C95X0_VIRTUAL)
> + if (reg >= CY8C95X0_VIRTUAL && (reg % MUXED_STRIDE) < 12)
Probably good to have 12 defined, but also a comment suffice, like:
/* Only 12 registers are present per port (see Table 6 in the datasheet). */
> return true;
--
With Best Regards,
Andy Shevchenko