On Wed, May 13, 2015 at 10:21 AM, Dylan Reid <dgreid@xxxxxxxxxxxx> wrote:
On Wed, May 13, 2015 at 9:42 AM, Mark Brown <broonie@xxxxxxxxxx> wrote:
On Wed, May 13, 2015 at 09:23:01PM +0800, zhengxing wrote:
On 2015å05æ13æ 03:22, Mark Brown wrote:
Is it not possible to extend simple card to handle your use cases?
Given the very generic naming and the fact that things like jack
detection and so on should depend on the CODEC and board usually rather
than on the SoC it doesn't sound like this is Rockchip specific.
This also looks like you're reimplementing some device model enumeration
stuff which probably shouldn't be happening but let's understand the
problem you're trying to solve here before going too far into the code.
Because we are trying to bring rt5650 in the project, so we intend to
describe supported codecs with DTS via only a rockchip machine driver file,
others remain pre-implement(like max98090 / rt5645 that vendor machine
driver).
I don't undertand what you're saying here, sorry - why is this not just
a case of writing multiple machine drivers?
I don't understand this either. I'd think the best solution is
simple-card, configured through DTS for each device.
I communicated with Dylan, and he told me that the jack detection is an
issue in the simple-card, and suggested we are better to send them at
present.
But what are these issues?
The issue I was referring to when I spoke with rock chip was the need
to pass the jack simple-card creates to the headset chip or codec. We
need a way to specify a device like a tsa227e or rt5650 to pass the
jack to, which events are supported by the jack, and a generic API for
passing the jack.
I'm having some trouble envisioning how to pass the jack to the
headset chip in a generic way. A callback could be added to
snd_soc_component_driver, or a snd_soc_headset_driver could be added.
The headset_drive would fit the ts3a227e well, but not the rt5645
which is also a full blown codec.