March 3, 20251 yr Hardware: Board: Orange Pi Zero 2W (Allwinner H618) Audio Module: MAX98357A (I2S) Connections: BCLK → PI13 (Pin 7) LRC/WS → PI14 (Pin 16) DIN → PI15 (Pin 31) 5V/GND → Properly connected Software: Armbian Version: 25.5.0-trunk.147 (nightly) Kernel: 6.6.75-current-sunxi64 Configuration: /boot/armbianEnv.txt: overlay_prefix=sun50i-h618 overlays=i2s param_i2s=on Problem: No sound output via MAX98357A. aplay -l returns "no soundcards found". dmesg | grep i2s shows no output, indicating the I2S driver is not loaded. Missing I2S overlay: Checked /boot/dtb/allwinner/overlay/ — no sun50i-h618-i2s.dtbo (only I2C overlays are present). Loaded sound modules: Only snd_soc_hdmi_codec (HDMI audio). Steps Taken: Verified physical wiring (BCLK/LRC/DIN, 5V/GND). Updated to the latest nightly build (25.5.0-trunk.147). Added overlays=i2s, param_i2s=on to /boot/armbianEnv.txt. Tried manual driver load: modprobe sun8i-i2s (no effect). Questions: Is I2S support for Allwinner H618 available in kernel 6.6.75? Are there plans to add sun50i-h618-i2s.dtbo in future releases? Is there a workaround to enable I2S on H618 (e.g., custom DTB)? Would upgrading to kernel 6.7+ resolve this? Diagnostics: uname -a: Linux orangepizero2w 6.6.75-current-sunxi64 #1 SMP Sat Feb 1 17:37:57 UTC 2025 aarch64 GNU/Linux cat /etc/armbian-release: VERSION=25.5.0-trunk.147 BRANCH=current BOARD=orangepizero2w dmesg | grep -i i2s: No output. Request: Any guidance or patches to enable I2S on H618 would be greatly appreciated. Thank you!
March 3, 20251 yr 10 minutes ago, kris777 said: i2s doesn't work on my OrangePi lite either...oops both lite and zero 2w have nothing in common besides the name ingredient orange. I suggest to create a individual topic for that one and dont forget providing proper logs. "doesnt work" is probably the worst possible issue description.
March 3, 20251 yr 55 минут назад, Alex Dorokhin сказал: No sound output via MAX98357A. Probably there should be a driver for this device in the kernel. For 6.12.16: linux-sf> grep -nr 'compatible = "maxim,max9' drivers/media/* drivers/staging/media/* drivers/media/i2c/max9286.c:1666: { .compatible = "maxim,max9286" }, drivers/media/i2c/max96714.c:1006: { .compatible = "maxim,max96714f" }, drivers/media/i2c/max96717.c:1085: { .compatible = "maxim,max96717f" }, drivers/staging/media/max96712/max96712.c:465: { .compatible = "maxim,max96712" },
March 3, 20251 yr Author 11 минут назад, going сказал: Probably there should be a driver for this device in the kernel. Thank you for investigating the driver support for the MAX98357A! However, the absence of maxim,max98357a in the kernel drivers is expected behavior. Here’s why: The MAX98357A is a "dumb" I2S amplifier Unlike other Maxim devices (e.g., MAX9286 for cameras), the MAX98357A does not require a dedicated kernel driver. It works as a raw I2S-to-analog converter and relies on the I2S interface itself, configured via ALSA and the SoC’s I2S driver. The real issue is I2S driver support for Allwinner H618 For the MAX98357A to work, the I2S controller driver (e.g., sun8i-i2s) must be enabled in the kernel. In the OP’s case (kernel 6.6.75), this driver is missing for the H618. Here’s how to fix it:
March 4, 20251 yr 22 часа назад, Alex Dorokhin сказал: Unlike other Maxim devices (e.g., MAX9286 for cameras), the MAX98357A does not require a dedicated kernel driver. It works as a raw I2S-to-analog converter and relies on the I2S interface itself, configured via ALSA and the SoC’s I2S driver. The kernel has a driver for i2s: sound/soc/sunxi/sun4i-i2s.c It works for the h6 processor. Try adding the line compatible = "allwinner,sun50i-h6-i2s" to the DTS node so that the driver can be called. This driver may also work for the h618.
August 4, 20251 yr Hi all I2s work on orangepi zero 2w with the i2s0 pin, pi0, pi1, pi2, pi3 and pi4 You Need to apply an overlay to activated it on the device tree and choose some clock I succeed to have sound with a Dac PCM5102A Cordialy
August 16, 20251 yr “Looks like I2S support for the H618 isn’t in the current overlays yet — you may need a custom DTB or wait for kernel updates. Checking mainline Linux patches for sun50i-h618-i2s could be the next step.”
August 17, 20251 yr Hi subhan i don't wait kernel update , i just use a script who create a user-overlay who enable the sound on the OPI zero 2w via HDMI , i2S via the 40 pin hat or jack connector via the expansion board and the µc is a H618 In fact the main board except for HDMI have no output for sound , so i think it's better to stay with a user-overlay ☺️ Edited August 17, 20251 yr by Totof le Belge
October 3, 20251 yr @Totof le Belge Is there any chance you could give an in-depth explanation of the user-overlay script? I'm trying to use a speaker that uses I2S with the GPIO pins.
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.