HDMI eARC on VIM3L S905D3 aka HDMI Audio Return Channel

Hi everyone,

I’m looking to use my VIM3L with the Tone board to function similar to an AVR pre-amp from HDMI eARC to drive an external power amplifier (TPA3255?) but with more configurability, better audio quality thanks to Tone board, and significantly lower quiescent + standby power consumption.

The Amlogic S905D3 conveniently has eARC support on the SoC and the selling point of the Khadas VIM3L is that the eARC signal is actually connected from the HDMI connector to the SoC according to the schematic.

Currently working:

  • Can play audio out of Tone Board to external amp using ALSA aplay on 5.7 kernel.
  • Can present the VIM3L as a CEC Audio system (using cec-ctl, cec-follower on the v5.7.0 kernel) and convince my TV to output its ARC signal (my TV is only ARC not eARC yet)
  • Can send CEC commands as expected and get volume up/down signals from the TV over CEC.

Need to do:

  • The last major piece here is getting the eARC HDMI RX / capture input to work

The HDMI AUGE eARC driver is present in Khada’s 4.9 kernel branch @ sound/soc/amlogic/auge/earc.c

It’s unclear to me if this works, does anyone know of anyone using eARC driver on the 4.9 kernel? I can’t test in my setup because it’s impossible to get my TV to output ARC unless I advertise as a CEC Audio system and I can only do that on the new CEC framework driver using cec-follower and not with cec-client on the older driver without writing a client.

I’d like to port the eARC driver forward to the main line kernel.

The datasheet for the S905D3 is missing the entire eARC section with the exception of a block diagram and brief register description.

To get this rolling I’m curious if anyone has insight in to these questions:

  1. Does the eARC driver on the 4.9 kernel work? Has anyone ever used it? Curious to understand the status of this.
  2. Is anyone aware of efforts to forward port the AUGE eARC driver to the mainline 5.5 or later kernel (5.5 kernel added CEC framework driver).
  3. Has anyone backported the CEC framework driver to the 4.9 kernel?

ARC is more common for TVs, how it works on vim3L is also interesting to me

Did you manage to get eARC working on the board?

Progress with eARC-feature?

As far as I have found the answer to all 3 questions is ‘no’, however I have had success with both eARC and the new CEC framework using the amlogic patched kernel 5.4 from the VIM4 on the VIM3L. Documenting my progress in this thread: https://forum.khadas.com/t/amlogic-kernel-5-4-on-vim3l/

1 Like