Platform forum

header compatibility with Raspberry I2S

atrac , 02-26-2018, 08:24 AM
I developed, some year ago, an audio board based on CS4272 chipset that fits on top of a Raspberry, using I2S (pins 37, 35, 38, 40) and I2C (pins 3 and 5). The chipset is very easy to use because drivers are available for Raspberry.

The Openrex project claims that the connector is compatible with Raspberry.
From the Openrex schematics I see that I2C pins are routed in the same way as in Raspberry, but this is not true for I2S, so at a first glance the header is not fully compatible.
In fact the pins that are used for I2C in Raspeberry are used for SPI in Openrex.

However, there might be a way to let SPI work as I2S in software? If this is true, how difficult would it be?

Another interesting question would be if the Cirrus chipset is fully supported for the Freescale. In this case I might also consider modifiyng the openrex board.

robertferanec , 02-26-2018, 09:34 AM
- For Audio you need AUDx_TXC, AUDx_TXD, AUDx_TXFS, AUDx_RXD, AUDx_CLK. Looks like, all these are available on J2 header under AUD5 + CCM_CLKO2 (J2.7). If you do not need clock, then it looks like your hat may work with OpenRex. Of course, you would need to test it.

- You would need to configure the pins alternate functions and include driver for your chip. This may help you: http://www.imx6rex.com/open-rex/soft...rd-or-openrex/

atrac , 02-27-2018, 02:05 AM
Thank you for your reply.

Originally posted by robertferanec
[...] If you do not need clock [...]
Sorry I do not understand this point, what do you mean?
The codec provides the clock on that pin (and the codec is the master).
Are you referring to pin 12? Maybe that it that can work master mode only?
robertferanec , 02-28-2018, 08:37 PM
Then you may be fine. In OpenRex, CPU provides clock to the codec.
atrac , 03-01-2018, 12:25 AM
Originally posted by robertferanec
Then you may be fine. In OpenRex, CPU provides clock to the codec.
I am not convinced.
- In Raspberry the codec provides clock to the CPU (I said that)
- In OpenRex the CPU provides clock to codec (you said that)

How can I be fine?

The question now is if there is a way to change this in software?
robertferanec , 03-01-2018, 09:22 AM
@atrac it has been a while I have been working with I2S, so I would have to study again how exactly it works and how the clock is used. But this can help you:

Connection of OpenRex

I have found this document and it can be useful for you http://www.ti.com/lit/an/slaa469/slaa469.pdf

Use our interactive Discord forum to reply or ask new questions.
Discord invite
Discord forum link (after invitation)

Didn't find what you were looking for?