/*
 * Copyright (c) 2019 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/* Default shared SRAM planning when building for nRF5340.
 * This file is included by both nRF5340 CPUAPP (Application MCU)
 * and nRF5340 CPUNET (Network MCU).
 * - 64 kB SRAM allocated as Shared memory (sram0_shared)
 * - Region defined after the secure SRAM partition of CPUAPP
 */

/ {
    chosen {
      /* shared memory reserved for the inter-processor communication */
      zephyr,ipc_shm = &sram0_shared;
    };

    /* SRAM allocated to shared memory */
    sram0_shared: memory@20010000 {
      device_type = "memory";
      compatible = "mmio-sram";
      reg = <0x20010000 DT_SIZE_K(64)>;
    };
  };
