Announcement

Collapse
No announcement yet.

header compatibility with Raspberry I2S

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • header compatibility with Raspberry I2S

    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.
    Thanks




  • #2
    - 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/


    Click image for larger version

Name:	i2s openrex.jpg
Views:	149
Size:	209.2 KB
ID:	7575

    Comment


    • #3
      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?

      Comment


      • #4
        Then you may be fine. In OpenRex, CPU provides clock to the codec.

        Comment


        • #5
          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?

          Comment


          • #6
            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 Click image for larger version

Name:	i2s openrex connection.jpg
Views:	147
Size:	85.2 KB
ID:	7640



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

Name:	asi slave mode.jpg
Views:	128
Size:	22.2 KB
ID:	7641
            Click image for larger version

Name:	ASI slave mode from BCLK.jpg
Views:	137
Size:	80.4 KB
ID:	7642
            Click image for larger version

Name:	asi master mode.jpg
Views:	101
Size:	20.0 KB
ID:	7643

            Comment

            Working...
            X
            😀
            🥰
            🤢
            😎
            😡
            👍
            👎