CHDMISoundBaseDevice feature extension up to 8ch. #477
Replies: 7 comments 6 replies
-
|
You could do an insensitive search for "chan" in the file drivers/gpu/drm/vc4/
vc4_hdmi.c in Linux and look for the same registers in the Circle driver, when
you have a match. But there is also the HDMI display driver in this file, so
not all matches will be important for HDMI audio. I guess you have to modify
soundbasedevice.cpp too, where SoundFormatIEC958 is found. You must use the
standard constructor of CSoundBaseDevice in CHDMISoundBaseDevice and
explicitly call CSoundBaseDevice::Setup() to be able to use 8 channels.
|
Beta Was this translation helpful? Give feedback.
-
|
The CHDMISoundBaseDevice driver can be configured to be used as input HDMI? |
Beta Was this translation helpful? Give feedback.
-
|
In the CHDMISoundBaseDevice class driver there are many methods for the input: Are these method working on the HDMI interface of CM4 for read audio data from HDMI port? |
Beta Was this translation helpful? Give feedback.
-
|
ok! |
Beta Was this translation helpful? Give feedback.
-
|
Yes, you have to set the following option in the first line of the file cmdline.txt on the SD card to
use 24-bit samples:
soundopt=24
|
Beta Was this translation helpful? Give feedback.
-
|
thanks a lot! |
Beta Was this translation helpful? Give feedback.
-
|
I'm trying to use the chip CM108 from C-Media electronics, this is a converter from I2S to USB audio format, have you some feedback about compatibility of this with Circle driver? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
May be useful for professional audio application the extension of the audio channels of the circle class CHDMISoundBaseDevice from actual limits of 2ch up to 8ch.
Trying to implement this feature extension I've searched for the necessary changes to do.
There are many define in the code fixing this limit, SOUND_HW_CHANNELS WRITE_CHANNELS and also some value in the SetAudioInfoFrame method, but also modifying these value to the new expect correct value the driver doesn't work correctly.
On the other side, it seem not available the technical documentation of the HDMI internal peripheral of BCM2711 to have a clear way on how to set the correct parameters in the registers to upgrade the number of channels.
There is also a Linux implementation of this driver working up to 8ch but the implementation is completely different and not very easy to derive from this the modification needed in the Circle code.
I am asking for suggestion for the right strategy to do this.
Beta Was this translation helpful? Give feedback.
All reactions