Not understanding how to enable peripherals in devicetree




I’m a complete newcomer to zephyr and devicetree, and I’m running into some trouble trying to enable the I2S peripheral on the nRF5340dk board.  I’ve enabled both the I2S driver (Modules->hal_nordic->nrfx_drivers) and the I2S bus drivers (Device Drivers) in menuconfig.  I’ve also added “CONFIG_I2S=y” to my top-level prj.conf.  Despite this, when I check zephyr.dts in my build directory, the i2s0 device is disabled.


Zephyr.dts excerpt:

i2s0: i2s@28000 {

compatible = "nordic,nrf-i2s";

     #address-cells = < 0x1 >;

     #size-cells = < 0x0 >;

     reg = < 0x28000 0x1000 >;

     interrupts = < 0x28 0x1 >;

     status = "disabled";

     label = "I2S_0";



I’ve checked the i2s litex sample and read through the docs, but I’m not finding a solution.  Am I missing a step somewhere to enable this device? Do I need a devicetree overlay to explicitly enable i2s?  If it’s relevant, I’ve been using the Nordic edition of SEGGER Embedded studio to build the project, as per Nordic’s nRF Connect toolchain documentation.




  • Jason

Join to automatically receive all group messages.