On Wed, May 22, 2013 at 2:25 PM, Daniel Mack zonque@gmail.com wrote:
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.
Yes, but they were added before the chips went out of production.
Mark/Liam - you can add my TAS5504 driver if you want it. As far as I know there is no Linux based hardware using the chip except for a few prototypes we built about five years ago.
Of course it is easier to find CPU boards with exposed I2S (we had to build a CPU board too) now than it was five years ago so these chips may see more activity. Those TI evals board should easily attach to a Beaglebone.
Daniel
-- Jon Smirl jonsmirl@gmail.com