Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can we support I2S #93

Open
xlla opened this issue Feb 23, 2020 · 3 comments
Open

can we support I2S #93

xlla opened this issue Feb 23, 2020 · 3 comments
Labels
Arduino Arduino library and SDK help wanted question

Comments

@xlla
Copy link

xlla commented Feb 23, 2020

In edison-arduino-hardware-guide.pdf, it said

Some additional functions are available on certain SoC pins, such as I2S and UART flow control, but they are not currently supported by the Arduino library. However, it may be possible to use these from Linux.

but for now, an Arudino I2S library is exist, how to add an i2s feature.

@andy-shev andy-shev added Arduino Arduino library and SDK help wanted question labels May 19, 2020
@plbossart
Copy link
Contributor

IIRC you need to enable the SSP2 pins. In the past I did this with a script, not sure how we would do this now?

@htot
Copy link
Member

htot commented Dec 23, 2020

Correct me if I'm wrong.

We now have a ACPI_FEATURES i2s in meta-acpi. This can be enabled in the edison.conf.

When enabled the acpi tables (notably arduino.asl) will be build with MUX_I2S defined and the I2S will be active with sof codec nocodec enabled in the kernel.

So, in a sense we are supporting i2s already.

Iirc the normal way to proceed would be:

  1. enable ACPI_FEATURES i2s
  2. add a shield with a codec on the edison-arduino.
  3. add the driver to the kernel in a kernel fragment (like here)
  4. install firmware for the codec if needed (like here)

If so can we close this here with reference to https://thesofproject.github.io/latest/index.html?

Or do we need to write a little instruction? @xlla do you have hardware that you can test?

@plbossart
Copy link
Contributor

  • add the driver to the kernel in a kernel fragment (like here)

yes, but this would need to add the relevant configurations for the machine driver and codec. It's no longer SOF-only.

  • install firmware for the codec if needed (like here)

You are missing the part where we need an ACPI snippet to describe the codec. Here's what we use for the Up2 board with the initrd override method:
https://github.com/thesofproject/acpi-scripts/blob/master/Up2/PCM512X.asl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Arduino Arduino library and SDK help wanted question
Projects
None yet
Development

No branches or pull requests

4 participants