public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* regmap: how to support devices with 'nested' pages
@ 2015-03-10  9:33 Peter Ujfalusi
  2015-03-10 10:25 ` Mark Brown
  0 siblings, 1 reply; 2+ messages in thread
From: Peter Ujfalusi @ 2015-03-10  9:33 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-kernel@vger.kernel.org

Hi Mark,

I got a device which registers are arranged in 'books' and pages:

book0
 page0
 page1
 ...
 page127
book1
 page0
 page1
 ...
 page127
...
book255
 page0
 page1
 ...
 page127

The pages can be selected via register0 of each page (in a standard way),
however the book switching can only be done via each book's page0's reg127.

With regmap's ranges I can get the pages covered, but with that I can only
stay within one book.

At power on the chip is at book0, page0.
If I want to access book0, page2:
write 2 to reg0 // to switch to page2
access to the desired register in book0, page2

Now if I want to access let's say book3, page4:
write 0 to reg0 // to switch to page0 of book0
write 3 to reg127 // to switch to book3
write 4 to reg0 // to switch to page4 of book3
access to the desired register

Do you know any other device which have similar addressing? Do you have advice
on how to handle this? Should I open code the book switching in the driver,
which means that I should not use the cache at all in regmap.

Thank you,
Péter

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-03-10 10:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-10  9:33 regmap: how to support devices with 'nested' pages Peter Ujfalusi
2015-03-10 10:25 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox