On Wed, May 22, 2013 at 1:55 PM, Daniel Mack zonque@gmail.com wrote:
On 22.05.2013 19:50, jonsmirl@gmail.com wrote:
On Fri, Mar 8, 2013 at 6:07 AM, Daniel Mack zonque@gmail.com wrote:
This patch adds a driver for TI's TA5086 6-channel PWM processor.
This chip has a very unusual register layout, specifically because the registers are of unequal size, and multi-byte registers require bulk writes to take effect. Regmap does not support these kind of mappings.
Currently, the driver does not touch any of the registers >= 0x20, so it doesn't matter, because the register map is mapped to an 8-bit array. In case more features will be added in the future that require access to higher registers, the entire regmap H/W I/O routines have to be open-coded.
Check out my tas5504 driver from a long time ago. It dealt with those registers.
https://github.com/jonsmirl/mpc5200/blob/master/sound/soc/codecs/tas5504.c https://github.com/jonsmirl/mpc5200/blob/master/sound/soc/codecs/tas5504.h
Sure, without any regmap abstractions, things are somehow manageable. Though you lose all the nice things that regmap gives you, such as hardware independence and caching. I might have a different solution, but I need to get my hands on one of these devices to test.
On a slightly different note: why isn't your driver in the mainline kernel?
TI doesn't make the chip any more.
Thanks, Daniel
-- Jon Smirl jonsmirl@gmail.com