To get I2S audio out, what setup or configuration is required?

Robert AlexanderRobert Alexander Posts: 15New Member

We are using the UP-CHT01 and I'm trying just to get sound out for alert type sounds. I don't have room for a big stereo DAC. So I have been trying to use this simple DAC/Amp:
https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp/

I've downloaded the Aaeon Framework referred to here:
https://forum.up-community.org/discussion/2918/where-can-i-get-a-up-board-sdk-to-write-my-software-to-control-gpio-pins

I think I have a current BIOS and in it have set I2S/GPIO to I2S

I've connected the decoder/amp to the PCM pins of the GPIO as follows:

Amp Vin to pin2 5V and also tried pin1 3.3v with the same success.
Amp GND to pin6 GND
Amp DIN to pin40 PCM_DOUT
Amp BCLK to pin12 PCM_CLK
Amp LRCLK to pin19 PCM_FS (word select = Left Right Clock = Frame Sync)

Now I am able to get a noise out of the speaker when I play a sound or test the speaker but it's not the right sound. It's just sounds like radio tuning chirps.
Are there more settings in the BIOS or some way to configure the Intel SST Audio Device?

Comments

  • glodiglodi Posts: 1New Member

    I've a question ralating BIOS of UP-Board UP-CHT01 R0.7 (UPC1DM07), too:

    How to disable ALC5672 sound codec entry of DSDT ACPI table?

    looking at "iasl -dl dsdt.dat" it seems there is a ALC5672 / RT5672 codec connected on CLK3, I2C2, I2S2.
    (see attachment)

    This makes no sense: 19.2 MHz CLK3 MCLK not available on HAT connector.

    This non-existing Sound codec on Up-Board ACPI table loads 10EC5672 driver which fails on booting:

    On booting linux 4.16.7 I get following error message:
    [ 8.576921] rt5670 i2c-10EC5672:00: Device with ID register 0xffff9547 is not rt5670/72

    Ralating linux sound driver selection on "sound/soc/intel/common/soc-acpi-intel-cht-match.c"
    this prevent loading of default driver "bytcht_nocodec", which just makes I2S available on cherry trail.

    Robert Alexander:
    Linux SST firmware set output to I2S mode, 48 kHz, CLK Master

    Codec needs to be configured as slave, additionally codec must have
    - ether PLL to synchronize internal CLK to 48 kHz frame clock
    - or accepts asynchronous data.
    cause there is no 19,2 MHz MCLK available on UP-Board.

    Maybe Windows driver configures digital snd similar.

    Are there any BIOS-setting or -update availabe without entry of fake sound-codec on DSDT ACPI table ?

  • Robert AlexanderRobert Alexander Posts: 15New Member

    This is interesting information that may be helpful. The codec I'm trying to use does not use the CLK Master thus, I believe, should be working asynchronously. I suppose I could try putting Linux on my test machine and try running the script given for using it on the Pi. That will let me know if this is the hardware or the OS.
    Changing the bios setting does make a difference though. (It's just a chirping noise but it does happen when I'm supposed to get the notification sounds.) So can the call for the ALC5672 driver be disabled by selecting GPIO over I2S in the HAP config in the BIOS?

Sign In or Register to comment.