/dts-v1/; / { #address-cells = < 0x1 >; #size-cells = < 0x1 >; model = "Nordic nRF5340 Audio DK NRF5340 Application"; compatible = "nordic,nrf5340-audio-dk-nrf5340-cpuapp"; chosen { zephyr,entropy = &cryptocell_sw; zephyr,flash-controller = &flash_controller; zephyr,console = &uart0; zephyr,shell-uart = &uart0; zephyr,uart-mcumgr = &uart0; zephyr,bt-mon-uart = &uart0; zephyr,bt-c2h-uart = &uart0; zephyr,ipc_shm = &sram0_shared; zephyr,sram = &sram0_ns; zephyr,flash = &flash0; zephyr,code-partition = &slot0_ns_partition; }; aliases { led0 = &rgb1_red; led1 = &rgb1_green; led2 = &rgb1_blue; led3 = &rgb2_red; led4 = &rgb2_green; led5 = &rgb2_blue; led6 = &led1_blue; led7 = &led2_green; led8 = &led3_green; sw0 = &button_1_vol_dn; sw1 = &button_2_vol_up; sw2 = &button3; sw3 = &button4; sw4 = &button5; }; soc { #address-cells = < 0x1 >; #size-cells = < 0x1 >; compatible = "nordic,nRF5340-CPUAPP-QKAA", "nordic,nRF5340-CPUAPP", "nordic,nRF53", "simple-bus"; interrupt-parent = < &nvic >; ranges; nvic: interrupt-controller@e000e100 { #address-cells = < 0x1 >; compatible = "arm,v8m-nvic"; reg = < 0xe000e100 0xc00 >; interrupt-controller; #interrupt-cells = < 0x2 >; arm,num-irq-priority-bits = < 0x3 >; phandle = < 0x1 >; }; systick: timer@e000e010 { compatible = "arm,armv8m-systick"; reg = < 0xe000e010 0x10 >; status = "disabled"; }; sram0: memory@20000000 { compatible = "mmio-sram"; reg = < 0x20000000 0x80000 >; }; peripheral@40000000 { #address-cells = < 0x1 >; #size-cells = < 0x1 >; ranges = < 0x0 0x40000000 0x10000000 >; dcnf: dcnf@0 { compatible = "nordic,nrf-dcnf"; reg = < 0x0 0x1000 >; status = "okay"; }; oscillators: oscillator@4000 { compatible = "nordic,nrf-oscillators"; reg = < 0x4000 0x1000 >; status = "okay"; }; regulators: regulator@4000 { compatible = "nordic,nrf-regulators"; reg = < 0x4000 0x1000 >; status = "okay"; }; clock: clock@5000 { compatible = "nordic,nrf-clock"; reg = < 0x5000 0x1000 >; interrupts = < 0x5 0x1 >; status = "okay"; label = "CLOCK"; }; power: power@5000 { compatible = "nordic,nrf-power"; reg = < 0x5000 0x1000 >; interrupts = < 0x5 0x1 >; status = "okay"; }; reset: reset-controller@5000 { compatible = "nordic,nrf-reset"; reg = < 0x5000 0x1000 >; status = "okay"; }; ctrlap: ctrlap@6000 { compatible = "nordic,nrf-ctrlapperi"; reg = < 0x6000 0x1000 >; status = "okay"; }; i2c0: i2c@8000 { compatible = "nordic,nrf-twim"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0x8000 0x1000 >; clock-frequency = < 0x186a0 >; interrupts = < 0x8 0x1 >; status = "disabled"; label = "I2C_0"; }; spi0: spi@8000 { compatible = "nordic,nrf-spim"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0x8000 0x1000 >; interrupts = < 0x8 0x1 >; status = "disabled"; label = "SPI_0"; }; uart0: uart@8000 { compatible = "nordic,nrf-uarte"; reg = < 0x8000 0x1000 >; interrupts = < 0x8 0x1 >; status = "okay"; label = "UART_0"; current-speed = < 0x1c200 >; pinctrl-0 = < &uart0_default >; pinctrl-1 = < &uart0_sleep >; pinctrl-names = "default", "sleep"; }; i2c1: i2c@9000 { compatible = "nordic,nrf-twim"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0x9000 0x1000 >; clock-frequency = < 0x186a0 >; interrupts = < 0x9 0x1 >; status = "okay"; label = "I2C_1"; pinctrl-0 = < &i2c1_default >; pinctrl-1 = < &i2c1_sleep >; pinctrl-names = "default", "sleep"; }; spi1: spi@9000 { compatible = "nordic,nrf-spim"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0x9000 0x1000 >; interrupts = < 0x9 0x1 >; status = "disabled"; label = "SPI_1"; }; uart1: uart@9000 { compatible = "nordic,nrf-uarte"; reg = < 0x9000 0x1000 >; interrupts = < 0x9 0x1 >; status = "disabled"; label = "UART_1"; }; spi4: spi@a000 { compatible = "nordic,nrf-spim"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0xa000 0x1000 >; interrupts = < 0xa 0x1 >; status = "okay"; label = "SPI_4"; cs-gpios = < &gpio0 0xb 0x1 >, < &gpio0 0x11 0x1 >; pinctrl-0 = < &spi4_default >; pinctrl-1 = < &spi4_sleep >; pinctrl-names = "default", "sleep"; sdhc0: sdhc@0 { compatible = "zephyr,mmc-spi-slot"; reg = < 0x0 >; status = "okay"; label = "SDHC0"; spi-max-frequency = < 0x7a1200 >; }; cs47l63: cs47l63@1 { reg = < 0x1 >; label = "CS47L63"; }; }; i2c2: i2c@b000 { compatible = "nordic,nrf-twim"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0xb000 0x1000 >; clock-frequency = < 0x186a0 >; interrupts = < 0xb 0x1 >; status = "disabled"; label = "I2C_2"; }; spi2: spi@b000 { compatible = "nordic,nrf-spim"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0xb000 0x1000 >; interrupts = < 0xb 0x1 >; status = "disabled"; label = "SPI_2"; }; uart2: uart@b000 { compatible = "nordic,nrf-uarte"; reg = < 0xb000 0x1000 >; interrupts = < 0xb 0x1 >; status = "disabled"; label = "UART_2"; }; i2c3: i2c@c000 { compatible = "nordic,nrf-twim"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0xc000 0x1000 >; clock-frequency = < 0x186a0 >; interrupts = < 0xc 0x1 >; status = "disabled"; label = "I2C_3"; }; spi3: spi@c000 { compatible = "nordic,nrf-spim"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0xc000 0x1000 >; interrupts = < 0xc 0x1 >; status = "disabled"; label = "SPI_3"; }; uart3: uart@c000 { compatible = "nordic,nrf-uarte"; reg = < 0xc000 0x1000 >; interrupts = < 0xc 0x1 >; status = "disabled"; label = "UART_3"; }; adc: adc@e000 { compatible = "nordic,nrf-saadc"; reg = < 0xe000 0x1000 >; interrupts = < 0xe 0x1 >; status = "okay"; label = "ADC_0"; #io-channel-cells = < 0x1 >; }; timer0: timer@f000 { compatible = "nordic,nrf-timer"; status = "okay"; reg = < 0xf000 0x1000 >; cc-num = < 0x6 >; interrupts = < 0xf 0x1 >; prescaler = < 0x0 >; label = "TIMER_0"; }; timer1: timer@10000 { compatible = "nordic,nrf-timer"; status = "okay"; reg = < 0x10000 0x1000 >; cc-num = < 0x6 >; interrupts = < 0x10 0x1 >; prescaler = < 0x0 >; label = "TIMER_1"; }; timer2: timer@11000 { compatible = "nordic,nrf-timer"; status = "okay"; reg = < 0x11000 0x1000 >; cc-num = < 0x6 >; interrupts = < 0x11 0x1 >; prescaler = < 0x0 >; label = "TIMER_2"; }; rtc0: rtc@14000 { compatible = "nordic,nrf-rtc"; reg = < 0x14000 0x1000 >; cc-num = < 0x4 >; interrupts = < 0x14 0x1 >; status = "okay"; clock-frequency = < 0x8000 >; prescaler = < 0x1 >; label = "RTC_0"; }; rtc1: rtc@15000 { compatible = "nordic,nrf-rtc"; reg = < 0x15000 0x1000 >; cc-num = < 0x4 >; interrupts = < 0x15 0x1 >; status = "okay"; clock-frequency = < 0x8000 >; prescaler = < 0x1 >; label = "RTC_1"; }; dppic: dppic@17000 { compatible = "nordic,nrf-dppic"; reg = < 0x17000 0x1000 >; status = "okay"; label = "DPPIC"; }; wdt: wdt0: watchdog@18000 { compatible = "nordic,nrf-wdt"; reg = < 0x18000 0x1000 >; interrupts = < 0x18 0x1 >; status = "okay"; label = "WDT"; }; wdt1: watchdog@19000 { compatible = "nordic,nrf-wdt"; reg = < 0x19000 0x1000 >; interrupts = < 0x19 0x1 >; status = "disabled"; label = "WDT_1"; }; comp: comparator@1a000 { compatible = "nordic,nrf-comp"; reg = < 0x1a000 0x1000 >; interrupts = < 0x1a 0x1 >; status = "disabled"; #io-channel-cells = < 0x1 >; }; egu0: egu@1b000 { compatible = "nordic,nrf-egu"; reg = < 0x1b000 0x1000 >; interrupts = < 0x1b 0x1 >; status = "okay"; }; egu1: egu@1c000 { compatible = "nordic,nrf-egu"; reg = < 0x1c000 0x1000 >; interrupts = < 0x1c 0x1 >; status = "okay"; }; egu2: egu@1d000 { compatible = "nordic,nrf-egu"; reg = < 0x1d000 0x1000 >; interrupts = < 0x1d 0x1 >; status = "okay"; }; egu3: egu@1e000 { compatible = "nordic,nrf-egu"; reg = < 0x1e000 0x1000 >; interrupts = < 0x1e 0x1 >; status = "okay"; }; egu4: egu@1f000 { compatible = "nordic,nrf-egu"; reg = < 0x1f000 0x1000 >; interrupts = < 0x1f 0x1 >; status = "okay"; }; egu5: egu@20000 { compatible = "nordic,nrf-egu"; reg = < 0x20000 0x1000 >; interrupts = < 0x20 0x1 >; status = "okay"; }; pwm0: pwm@21000 { compatible = "nordic,nrf-pwm"; reg = < 0x21000 0x1000 >; interrupts = < 0x21 0x1 >; status = "okay"; label = "PWM_0"; #pwm-cells = < 0x3 >; }; pwm1: pwm@22000 { compatible = "nordic,nrf-pwm"; reg = < 0x22000 0x1000 >; interrupts = < 0x22 0x1 >; status = "disabled"; label = "PWM_1"; #pwm-cells = < 0x3 >; }; pwm2: pwm@23000 { compatible = "nordic,nrf-pwm"; reg = < 0x23000 0x1000 >; interrupts = < 0x23 0x1 >; status = "disabled"; label = "PWM_2"; #pwm-cells = < 0x3 >; }; pwm3: pwm@24000 { compatible = "nordic,nrf-pwm"; reg = < 0x24000 0x1000 >; interrupts = < 0x24 0x1 >; status = "disabled"; label = "PWM_3"; #pwm-cells = < 0x3 >; }; pdm0: pdm@26000 { compatible = "nordic,nrf-pdm"; reg = < 0x26000 0x1000 >; interrupts = < 0x26 0x1 >; status = "disabled"; label = "PDM_0"; }; i2s0: i2s@28000 { compatible = "nordic,nrf-i2s"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0x28000 0x1000 >; interrupts = < 0x28 0x1 >; status = "okay"; label = "I2S_0"; pinctrl-0 = < &i2s0_default >; pinctrl-names = "default"; }; mbox: ipc: mbox@2a000 { compatible = "nordic,mbox-nrf-ipc", "nordic,nrf-ipc"; reg = < 0x2a000 0x1000 >; tx-mask = < 0xffff >; rx-mask = < 0xffff >; interrupts = < 0x2a 0x1 >; #mbox-cells = < 0x1 >; status = "okay"; phandle = < 0xb >; }; qspi: qspi@2b000 { compatible = "nordic,nrf-qspi"; #address-cells = < 0x1 >; #size-cells = < 0x0 >; reg = < 0x2b000 0x1000 >, < 0x10000000 0x10000000 >; reg-names = "qspi", "qspi_mm"; interrupts = < 0x2b 0x1 >; status = "disabled"; label = "QSPI"; }; nfct: nfct@2d000 { compatible = "nordic,nrf-nfct"; reg = < 0x2d000 0x1000 >; interrupts = < 0x2d 0x1 >; status = "disabled"; }; mutex: mutex@30000 { compatible = "nordic,nrf-mutex"; reg = < 0x30000 0x1000 >; status = "okay"; }; qdec0: qdec@33000 { compatible = "nordic,nrf-qdec"; reg = < 0x33000 0x1000 >; interrupts = < 0x33 0x1 >; status = "disabled"; label = "QDEC_0"; }; qdec1: qdec@34000 { compatible = "nordic,nrf-qdec"; reg = < 0x34000 0x1000 >; interrupts = < 0x34 0x1 >; status = "disabled"; label = "QDEC_1"; }; usbd: zephyr_udc0: usbd@36000 { compatible = "nordic,nrf-usbd"; reg = < 0x36000 0x1000 >; interrupts = < 0x36 0x1 >; num-bidir-endpoints = < 0x1 >; num-in-endpoints = < 0x7 >; num-out-endpoints = < 0x7 >; num-isoin-endpoints = < 0x1 >; num-isoout-endpoints = < 0x1 >; status = "okay"; label = "USBD"; hs_0 { label = "HEADSET"; compatible = "usb-audio-hs"; mic-feature-mute; mic-channel-l; mic-channel-r; hp-feature-mute; hp-channel-l; hp-channel-r; }; }; usbreg: regulator@37000 { compatible = "nordic,nrf-usbreg"; reg = < 0x37000 0x1000 >; interrupts = < 0x37 0x1 >; status = "okay"; }; flash_controller: flash-controller@39000 { compatible = "nordic,nrf53-flash-controller"; reg = < 0x39000 0x1000 >; partial-erase; #address-cells = < 0x1 >; #size-cells = < 0x1 >; label = "NRF_FLASH_DRV_NAME"; flash0: flash@0 { compatible = "soc-nv-flash"; label = "NRF_FLASH"; erase-block-size = < 0x1000 >; write-block-size = < 0x4 >; reg = < 0x0 0x100000 >; partitions { compatible = "fixed-partitions"; #address-cells = < 0x1 >; #size-cells = < 0x1 >; boot_partition: partition@0 { label = "mcuboot"; reg = < 0x0 0x10000 >; }; slot0_partition: partition@10000 { label = "image-0"; reg = < 0x10000 0x40000 >; }; slot0_ns_partition: partition@50000 { label = "image-0-nonsecure"; reg = < 0x50000 0x30000 >; }; slot1_partition: partition@80000 { label = "image-1"; reg = < 0x80000 0x40000 >; }; slot1_ns_partition: partition@c0000 { label = "image-1-nonsecure"; reg = < 0xc0000 0x30000 >; }; scratch_partition: partition@f0000 { label = "image-scratch"; reg = < 0xf0000 0xa000 >; }; storage_partition: partition@fa000 { label = "storage"; reg = < 0xfa000 0x6000 >; }; }; }; }; kmu: kmu@39000 { compatible = "nordic,nrf-kmu"; reg = < 0x39000 0x1000 >; interrupts = < 0x39 0x1 >; status = "okay"; }; vmc: vmc@81000 { compatible = "nordic,nrf-vmc"; reg = < 0x81000 0x1000 >; status = "okay"; }; gpio0: gpio@842500 { compatible = "nordic,nrf-gpio"; gpio-controller; reg = < 0x842500 0x300 >; #gpio-cells = < 0x2 >; label = "GPIO_0"; status = "okay"; port = < 0x0 >; phandle = < 0x6 >; }; gpio1: gpio@842800 { compatible = "nordic,nrf-gpio"; gpio-controller; reg = < 0x842800 0x300 >; #gpio-cells = < 0x2 >; ngpios = < 0x10 >; label = "GPIO_1"; status = "okay"; port = < 0x1 >; phandle = < 0xc >; }; }; gpiote1: gpiote: gpiote@4002f000 { compatible = "nordic,nrf-gpiote"; reg = < 0x4002f000 0x1000 >; interrupts = < 0x2f 0x5 >; status = "okay"; label = "GPIOTE_1"; }; }; pinctrl: pin-controller { compatible = "nordic,nrf-pinctrl"; i2s0_default: i2s0_default { phandle = < 0x9 >; group1 { psels = < 0x13000c >; nordic,drive-mode = < 0x3 >; }; group2 { psels = < 0xd000e >, < 0xf0010 >, < 0x12000d >, < 0x11000f >; }; }; i2s0_sleep: i2s0_sleep { group1 { psels = < 0x13000c >, < 0xd000e >, < 0xf0010 >, < 0x12000d >, < 0x11000f >; low-power-enable; }; }; uart0_default: uart0_default { phandle = < 0x2 >; group1 { psels = < 0x25 >, < 0x20027 >; }; group2 { psels = < 0x10024 >, < 0x30026 >; bias-pull-up; }; }; uart0_sleep: uart0_sleep { phandle = < 0x3 >; group1 { psels = < 0x25 >, < 0x10024 >, < 0x20027 >, < 0x30026 >; low-power-enable; }; }; i2c1_default: i2c1_default { phandle = < 0x4 >; group1 { psels = < 0xc0022 >, < 0xb0023 >; }; }; i2c1_sleep: i2c1_sleep { phandle = < 0x5 >; group1 { psels = < 0xc0022 >, < 0xb0023 >; low-power-enable; }; }; spi4_default: spi4_default { phandle = < 0x7 >; group1 { psels = < 0x40008 >, < 0x50009 >; nordic,drive-mode = < 0x3 >; }; group2 { psels = < 0x6000a >; }; }; spi4_sleep: spi4_sleep { phandle = < 0x8 >; group1 { psels = < 0x40008 >, < 0x6000a >, < 0x50009 >; low-power-enable; }; }; }; rng_hci: entropy_bt_hci { compatible = "zephyr,bt-hci-entropy"; label = "bt_hci_entropy"; status = "okay"; }; cpus { #address-cells = < 0x1 >; #size-cells = < 0x0 >; cpu@0 { device_type = "cpu"; compatible = "arm,cortex-m33f"; reg = < 0x0 >; #address-cells = < 0x1 >; #size-cells = < 0x1 >; mpu: mpu@e000ed90 { compatible = "arm,armv8m-mpu"; reg = < 0xe000ed90 0x40 >; arm,num-mpu-regions = < 0x8 >; }; }; }; cryptocell_sw: cryptocell-sw { compatible = "nordic,nrf-cc312-sw"; #address-cells = < 0x0 >; label = "CRYPTOCELL_SW"; status = "okay"; }; ipc { ipc0: ipc0 { compatible = "zephyr,ipc-openamp-static-vrings"; memory-region = < &sram0_shared >; mboxes = < &mbox 0x0 >, < &mbox 0x1 >; mbox-names = "tx", "rx"; role = "host"; status = "okay"; }; }; gpio_fwd: nrf-gpio-forwarder { compatible = "nordic,nrf-gpio-forwarder"; status = "okay"; uart { gpios = < &gpio1 0x9 0x0 >, < &gpio1 0x8 0x0 >, < &gpio1 0xb 0x0 >, < &gpio1 0xa 0x0 >; }; }; reserved-memory { #address-cells = < 0x1 >; #size-cells = < 0x1 >; ranges; sram0_image: image@20000000 { reg = < 0x20000000 0x70000 >; }; sram0_s: image_s@20000000 { reg = < 0x20000000 0x40000 >; }; sram0_ns: image_ns@20040000 { reg = < 0x20040000 0x30000 >; }; sram0_shared: memory@20070000 { reg = < 0x20070000 0x10000 >; phandle = < 0xa >; }; }; leds: leds { compatible = "gpio-leds"; rgb1_red: led_0 { gpios = < &gpio0 0x7 0x0 >; label = "0 LED_RGB_RED CORE_APP"; }; rgb1_green: led_1 { gpios = < &gpio0 0x19 0x0 >; label = "0 LED_RGB_GREEN CORE_APP"; }; rgb1_blue: led_2 { gpios = < &gpio0 0x1a 0x0 >; label = "0 LED_RGB_BLUE CORE_APP"; }; rgb2_red: led_3 { gpios = < &gpio0 0x1c 0x0 >; label = "1 LED_RGB_RED CORE_NET"; }; rgb2_green: led_4 { gpios = < &gpio0 0x1d 0x0 >; label = "1 LED_RGB_GREEN CORE_NET"; }; rgb2_blue: led_5 { gpios = < &gpio0 0x1e 0x0 >; label = "1 LED_RGB_BLUE CORE_NET"; }; led1_blue: led_6 { gpios = < &gpio0 0x1f 0x0 >; label = "2 LED_MONO_BLUE CORE_APP"; }; led2_green: led_7 { gpios = < &gpio1 0x0 0x0 >; label = "3 LED_MONO_GREEN CORE_APP"; }; led3_green: led_8 { gpios = < &gpio1 0x1 0x0 >; label = "4 LED_MONO_GREEN CORE_APP"; }; }; buttons { compatible = "gpio-keys"; button_1_vol_dn: button_1_vol_dn { gpios = < &gpio0 0x2 0x11 >; label = "Push button 1"; }; button_2_vol_up: button_2_vol_up { gpios = < &gpio0 0x3 0x11 >; label = "Push button 2"; }; button3: button_3 { gpios = < &gpio0 0x4 0x11 >; label = "Push button 3"; }; button4: button_4 { gpios = < &gpio0 0x6 0x11 >; label = "Push button 4"; }; button5: button_5 { gpios = < &gpio0 0x5 0x11 >; label = "Push button 5"; }; }; nrf5340_audio_dk { compatible = "gpio-keys"; hw_codec_gpio_in: hw_codec_gpio_in { gpios = < &gpio0 0x14 0x1 >; label = "GPIO from HW codec"; }; hw_codec_irq_in: hw_codec_irq_in { gpios = < &gpio0 0x13 0x1 >; label = "Interrupt from HW codec"; }; hw_codec_reset_out: hw_codec_reset_out { gpios = < &gpio0 0x12 0x1 >; label = "Reset HW codec"; }; hw_codec_sel_out: hw_codec_sel_out { gpios = < &gpio0 0x15 0x1 >; label = "HW codec selector. Low selects OB HW codec, high \t\t\t\t selects external HW codec"; }; spi_sel_in: spi_sel_in { gpios = < &gpio0 0x16 0x1 >; label = "SPI select in. High = nRF SPI to HW codec. \t\t\t\t Low = FTDI to HW codec"; }; pmic_iset_out: pmic_iset_out { gpios = < &gpio0 0x17 0x0 >; label = "PMIC ISET"; }; board_id_en_out: board_id_en_out { gpios = < &gpio0 0x18 0x0 >; label = "Board revision readback enable"; }; board_id_in: board_id_in { gpios = < &gpio0 0x1b 0x0 >; label = "Board revision analog readback"; }; curr_mon_alert_in: curr_mon_alert_in { gpios = < &gpio1 0xf 0x1 >; label = "Curr mon alert in from INA231"; }; }; };