On 05/07/18 17:50, Mark Brown wrote:
On Thu, Jul 05, 2018 at 05:13:21PM +0100, Srinivas Kandagatla wrote:
All am trying to do is support paged registers, which seems to be only possible via read/write support at bus level.
Could you explain what you mean by paged registers? There's framework support for what's normally called pages but perhaps this is some slimbus specific thing?
AFAIU, this is not specific to SLIMbus. The way registers are organized in WCD9335 codec is in 256 bytes of 6 Pages. Its possible that the reason to do this is because SLIMbus has max of 1024 bytes for "User Value elements" per device, according to Value Map from SLIMbus Specs.
Access to codec registers is done in 2 steps.
1> Write page number in page register. 2> access register within the page.
This seems to exactly what struct regmap_range_cfg gives.
Adding ranges to regmap_config along with read/write bus callbacks works for me.
thanks, srini