Re: [PATCH v5 2/2] ASoC: codecs: nau8360: Add support for NAU83G60 amplifier

YLCHANG2 <[email protected]> Mon, 6 Jul 2026 11:23:15 +0800
Newsgroups org.alsa-project.alsa-devel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-sound
Message-ID <[email protected]>
On 7/5/26 20:32, Mark Brown wrote:
> On Fri, Jul 03, 2026 at 11:26:12AM +0800, YLCHANG2 wrote:
>> On 7/2/26 23:15, Mark Brown wrote:
>>> I would expect TDM to be configured by set_tdm_slot() from the machine
>>> driver, not from userspace.  I see the driver does actually have a
>>> set_tdm_slot() operation...
>> Our DSP functions require specific Slot mapping (e.g., Slot 0 for AECL, Slot
>> 1 for AECR).
>> The standard set_tdm_slot() only defines active slots but doesn't handle the
>> functional mapping.
>> We originally intended to allow dynamic mapping via UCM/userspacea and then
>> apply these settings using set_tdm_slot().
>> How should we implement this mapping according to ASoC standards?
> This would usually be doing using DAPM routing if it's expected to be
> runtime variable, define AIF widgets for the bus slots then route to
> them.
>
>> Should we define the default mapping during the codec probe stage,
>> or is there a preferred way to handle this via the machine driver?
> Device properties, this is better if it's supposed to be fixed for the
> system.
Hi Mark,

Thank you for the suggestion.
We will drop the dynamic mapping via kcontrols.
Instead, we will adopt a static approach using device tree properties.

In the next patch version, we plan to:
1. Remove the SOC_ENUM kcontrols intended for DSP functional slot mapping.
2. Introduce device tree properties (e.g., nuvoton,dsp-tx-slot-mapping 
and nuvoton,dsp-rx-slot-mapping).
3. Parse these properties during the codec probe stage to configure the 
internal DSP TDM special function and path registers statically.