Cannot build I2S echo application for NRF5340

Hi, I am a beginner into the embedded audio space, and happened upon this board to use for our university project. Our team's current plan would be to produce audio directly on the board and play it through the headphone jack, but have not found much success with the NRF5340 Audio application, as it has a lot of integration with Bluetooth (which we don't need for now). Right now we just need a simple application that plays a tune on the board.

In my search I have found the I2S echo application, which seems like a simple start for our use case. However, when trying to build the application we encountered the following error:

-- Found BOARD.dts: C:/ncs/v2.6.2/zephyr/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp.dts
-- Found devicetree overlay: boards/nrf5340dk_nrf5340_cpuapp.overlay
devicetree error: pinctrl-names property in /soc/peripheral@50000000/i2s@28000 in C:/ncs/v2.6.2/zephyr/misc/empty_file.c has 1 strings, expected 2 strings

This is our build configuration (all other options left as default):

SDK version:

Any help would be appreciated! Thanks!

Parents
No Data
Reply
  •  ,

    Can you comment on an optimal I2S MCLK frequency from your experienced perspective? I've noticed that there are some sample rates that are unsupported by nrf5340_audio, but I haven't sifted through the entire application to determine the cause, whether they are BLE related or other engineering limitations.

    If I were to write a general purpose audio library for the Audio DK from scratch, what would you suggest as the most flexible I2S MCLK frequency to accommodate the maximum number of sample rate selections and advanced I2S format options (such as all 8 available channels simultaneously)? Is higher always better?

    And one last question while I momentarily have the ear of an expert. According to this frequency equation from the nRF5340 Product Specification:

    A MCKFREQ register setting of 0x66666666 produces an exact clock of 6.144 MHz. Why then does Nordic use a markedly different value of 0x66666000 in line number 52 of audio_i2s.c?

Children
  • The main reason is as you already mentioned that we can reach all our desired LRCLK with the ratio settings available. If you look at table 3-13 in the CS47L63 data sheet it also states that if you use MCLK as a source for SYSCLK it has to be either 6.144 MHz or 12.288 MHz. Given the selection of ratios we have available we went with 6.144 MHz to be able to support 16 kHz.

    As mentioned we are adjusting the audio PLL ever so slightly up and down to be able to achieve synchronization between the left and the right audio receiver, this is based on the needs of LE Audio.

    As for the 0x66666000, that is the result based on the calculation you showed above. If you don't do the flooring operation it will be 0x66666666, but with the flooring it will be 0x66666000.

Related