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