On Tue, May 14, 2024 at 11:51 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > On Tue, May 14, 2024 at 10:39 AM Patrick Rudolph > <patrick.rudolph@xxxxxxxxxxxxx> wrote: > > > Do you have an example where muxed registers are used in a regmap? > > Is there some documentation available explaining the existing > > mechanism? I'm not aware of anything. > > The regmap is sadly undocumented I have had it on my list for a long > time to document this gem, but I never find the time. > > You have to mark registers that cannot be cached as volatile, then > enable caching in the regmap with e.g. .cache_type = REGCACHE_FLAT > in the regmap config, then it pretty much caches itself. > <linux/regmap.h> has some cache maintenance functions if you > run into corner cases. > > (Mark will correct me if I say something wrong...) It's about introducing pages of virtual registers (from regmap p.o.v.) to access the banks of selectable registers. The cache most likely will be the same, i.e. MAPPLE_TREE. -- With Best Regards, Andy Shevchenko