Jump to content

Recommended Posts

Posted

Hi everyone,

 

I got my OrangePi Zero 2W to work with MAX98357A board, the violet one, but I can only hear one channel. I didn't modify ALSA much, just focused on DTS:

 

...
    fragment@1 {
        target-path = "/soc";
        __overlay__ {
            ahub0_plat: ahub0_plat {
                #sound-dai-cells = <0>;
		compatible	= "allwinner,sunxi-snd-plat-ahub";
                apb_num		= <2>;	/* for dma port 5 */
		dmas		= <&dma 5>, <&dma 5>;
		dma-names	= "tx", "rx";
		playback_cma	= <128>;
		capture_cma	= <128>;
		tx_fifo_size	= <128>;
		rx_fifo_size	= <128>;
                tdm_num         = <0>;
                tx_pin          = <0>;
                rx_pin          = <0>;

		pinctrl-names = "default", "sleep";
                pinctrl_used;
		pinctrl-0 = <&ahub_daudio0_pins_a>, <&ahub_daudio0_pins_b>, <&ahub_daudio0_pins_c>;
		pinctrl-1 = <&ahub_daudio0_pins_d>;

                status = "okay";
            };
            ahub0_mach: ahub0_mach {
                compatible = "allwinner,sunxi-snd-mach";
		soundcard-mach,name = "ahubi2s0";
		soundcard-mach,format = "i2s";
                soundcard-mach,frame-master = <&ahub0_cpu>;
                soundcard-mach,bitclock-master = <&ahub0_cpu>;
                soundcard-mach,slot-num         = <2>;
                soundcard-mach,slot-width       = <32>;

		status = "okay";

                ahub0_cpu: soundcard-mach,cpu {
		    sound-dai = <&ahub0_plat>;
                    soundcard-mach,pll-fs   = <4>;
                    soundcard-mach,mclk-fs  = <0x100>;
		};

		ahub0_codec: soundcard-mach,codec {
		};
            };
            hdmi: hdmi@6000000 {
                status = "disabled";
            };
        };
    };
...

 

Did I miss something, and now I'm hearing only the left channel?

 

Has anyone managed to listen to stereo using external DAC?

 

Best!

Posted
1 hour ago, D said:

MAX98357A

Looks like that one can take stereo input but it is mostly designed to output one channel only. 

Did not research on my own but asked LLM. Since you experience one channel output only it might be correct about this behavior and also the overlay seems correct.

 

In case you're interested in the output summary:

 

Spoiler
Quote

Summary:
Your device tree overlay for Orange Pi Zero 2W configures a stereo I2S interface, but the MAX98357A is a mono DAC that outputs audio only on one channel based on the hardware SD_MODE pin level. The missing element is the explicit handling of mono channel selection either by wiring SD_MODE pin or using two MAX98357A chips for stereo sound. Your current single DAC setup can output sound only on the channel corresponding to the SD_MODE pin, which is likely the right channel in your case.

Additional possible actions:

  • Check SD_MODE pin wiring on the MAX98357A module (low = left channel output, high = right channel).

  • Adjust the audio driver or overlay to output mono sound on the correct channel.

  • Consider adding a second MAX98357A for stereo outputs or mix the stereo signal to mono before sending to the DAC.

This analysis is based on the MAX98357A datasheet, Orange Pi Zero 2W hardware info, and typical device tree configurations for Allwinner SoCs.

 

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines