Thanks Mark for the review,
On 29/07/2021 12:13, Mark Brown wrote:
This all looks fairly similar to the prior Qcom audio binding(s). It
would be nice to not see this all re-invented.
AudioReach is a new DSP signal processing framework Which is different to
its previous DSP firmware(aka Elite).
It makes use of ASoC Topology to load audio graphs on to the DSP which is
then managed by APM (Audio Processing Manager) service.
So internals are not exactly same.
From device tree side we might end up with similar layout, but there are
some subtle differences like clocks are managed by q6prm service instead of
q6afe service in old firmware, front-end pcm dais definitions come from ASoC
topology.
The software we're running on the hardware shouldn't impact how the
hardware is described, it should be posible to switch DSP frameworks on
the same hardware - look at what Intel have done with SoF.
I totally agree with you.
There are two parts to the software running on the hardware, first is
the hardware itself and second is the services that are running which
control parts of hardware.
Hardware device tree description across these new and old DSP framework
are exactly same, However association between hardware and DSP service
would change as per DSP framework services it exposes.
Ex: clock controller would be associated with PRM(proxy resource
manager) in AudioReach vs AFE (Audio Frontend Manager) in Elite, but the
clocks and other hardware properties remain same across these.
As exiting DT-bindings had both services and hardware description in
same document which Is why I could not reuse it.
I will try to split up the hardware parts and DSP services parts in the
existing bindings so that we could reuse the hardware bindings across
multiple dsp frameworks. It should also be possible to reuse some old
code too in this process.
--srini
Are you suggesting that we should reuse the old bindings (q6afe, q6asm) by
add new compatible strings along with differences ?