nRF54LM20B I2S DAC (MAX98357A) support – feasibility, sample application, and overlay file

Hello Nordic Team,

We are trying to test an I2S DAC (MAX98357A) with the nRF54LM20B EVK. Could you confirm if this is supported and which sample application is recommended for a simple I2S audio test?

Also, we tried the audio_codec sample (NCS v3.3.0), but it does not include a board overlay for nRF54LM20B—could you please share a reference overlay or confirm support?

Regards,

Subhiksha

  • Hi Maria,

    Thank you for your response.

    May I know which sample application you have taken and built it?

    Here I'm attaching the overlay file which i have been using.

    / {
    	aliases {
    		i2s-node0 = &tdm;
    	};
    };
    
    &pinctrl {
    	tdm_default_alt: tdm_default_alt {
    		group1 {
    			psels = <NRF_PSEL(TDM_SCK_M, 1,10)>,
    				    <NRF_PSEL(TDM_FSYNC_M, 0, 7)>,
    				    <NRF_PSEL(TDM_SDOUT, 1, 12)>;  /* TDM_SDOUT shorted to TDM_SDIN */
    		};
    	};
    };
    
    &tdm {
    	status = "okay";
    	pinctrl-0 = <&tdm_default_alt>;
    	pinctrl-names = "default";
    };

    Regards,

    Subhiksha

  • Hi Subhiksha,

    I used zephyr/samples/drivers/i2s/i2s_codec. I can see now that you wrote audio_codec, which I assume is the zephyr/samples/drivers/audio/codec sample. My apologies for the confusion. 

    I am not able to reproduce the errors you showed in your screenshot with the audio/codec sample. Are you building another sample here? Or are you building your own application? 

    Also, I note that your build target is the nrf54lm20dk/nrf54lm20/cpuapp/ns. Make sure that you have an .overlay for the build target you are using. 

    Just to let you know, I will be away until Tuesday, but I'll follow up when I get back. 

    Best regards,

    Maria

  • Hello Maria,

    Thank you for your clarification.

    We have tried building both samples:

    • zephyr/samples/drivers/i2s/i2s_codec
    • zephyr/samples/drivers/audio/codec

    However, in both cases, we are still encountering build errors similar to the one shared earlier.

    Additionally, we noticed that there is no default board-specific overlay file available for nrf54lm20dk/nrf54lm20/cpuapp/ns in these samples. So we created a custom overlay by referring to the nrf54lm20dk_nrf54lm20_common.dtsi file, but the issue persists.

    We wanted to clarify:

    • Did you use a default overlay (if available) for nRF54LM20B while testing?
    • Or did you create a custom overlay manually for your setup?

    If possible, could you please share a reference overlay or configuration that worked in your setup?

    Please let us know if you need our overlay file or build logs—we can share them for further debugging.

    Regards,
    Subhiksha

  • Subhiksha said:

    We wanted to clarify:

    • Did you use a default overlay (if available) for nRF54LM20B while testing?
    • Or did you create a custom overlay manually for your setup?

    I created a custom overlay which I shared in this reply: 

    Maria Gilje said:

    I was able to successfully build the sample for nRF54LM20B with this .overlay, main.c, Kconfig, and .conf fragment: 

    nrf54lm20dk_nrf54lm20b_cpuapp_ns.overlay

    The _ns.overlay will only be used when building for the /ns target, and overlays without "_ns" will not be used when building for the /ns target. 

    Subhiksha said:
    Please let us know if you need our overlay file or build logs—we can share them for further debugging.

    Yes, please share the full build logs (with Insert->Code) so I can analyse the full output you get. 

    Best regards,

    Maria

Related