On 22.05.2013 20:01, jonsmirl@gmail.com wrote:
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.
That might be, but we have tons of drivers for devices in the mainline kernel which aren't in production anymore.
Daniel