On Wed, May 22, 2013 at 2:20 PM, jonsmirl@gmail.com jonsmirl@gmail.com wrote:
On Wed, May 22, 2013 at 2:01 PM, jonsmirl@gmail.com 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.
These ST amps are more recent that the TI parts.
TI has stopped making the TAS5504 but they still make the TAS5508 which is very similar.
TAS5508 eval board is $399. http://www.ti.com/tool/tas5508-5142k7evm
TAS5086 eval for $299 http://www.ti.com/tool/tas5086-5186v6evm
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
-- Jon Smirl jonsmirl@gmail.com
-- Jon Smirl jonsmirl@gmail.com