edison-fw / meta-intel-edison

Here is the meta-intel-edison that builds, tries to stay up to date. Master is based on Yocto Poky Gatesgarth LTS 5.10.yy vanilla kernels. It builds a 32bit kernel (Gatesgarth branch 64bit) with ACPI enabled and corresponding rootfs. Telegram group: https://t.me/IntelEdison Web-site:
https://edison-fw.github.io/meta-intel-edison/
MIT License
60 stars 38 forks source link

can we support I2S #93

Open xlla opened 4 years ago

xlla commented 4 years ago

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.

plbossart commented 4 years ago

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 commented 3 years ago

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 commented 3 years ago
  • 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