| /* SPDX-License-Identifier: GPL-2.0-only */ |
| /* |
| * Include all configuration files for Callisto. |
| * |
| * Copyright (C) 2022 Google LLC |
| */ |
| |
| #ifndef __CALLISTO_CONFIG_H__ |
| #define __CALLISTO_CONFIG_H__ |
| |
| #include <linux/sizes.h> |
| |
| #define GXP_DRIVER_NAME "gxp_callisto" |
| #define DSP_FIRMWARE_DEFAULT_PREFIX "gxp_callisto_fw_core" |
| #define GXP_DEFAULT_MCU_FIRMWARE "google/gxp-callisto.fw" |
| |
| /* |
| * From soc/gs/include/dt-bindings/clock/zuma.h |
| * #define ACPM_DVFS_AUR 0x0B040013 |
| */ |
| #define AUR_DVFS_DOMAIN 19 |
| |
| #define GXP_NUM_CORES 3 |
| /* three for cores, one for KCI, and one for UCI */ |
| #define GXP_NUM_MAILBOXES (GXP_NUM_CORES + 2) |
| /* Indexes of the mailbox reg in device tree */ |
| #define KCI_MAILBOX_ID (GXP_NUM_CORES) |
| #define UCI_MAILBOX_ID (GXP_NUM_CORES + 1) |
| |
| /* three for cores, one for MCU */ |
| #define GXP_NUM_WAKEUP_DOORBELLS (GXP_NUM_CORES + 1) |
| |
| /* The total size of the configuration region. */ |
| #define GXP_SHARED_BUFFER_SIZE SZ_512K |
| /* Size of slice per VD. */ |
| #define GXP_SHARED_SLICE_SIZE SZ_32K |
| /* The max number of active virtual devices. */ |
| #define GXP_NUM_SHARED_SLICES 15 |
| |
| /* |
| * Can be coherent with AP |
| * |
| * Linux IOMMU-DMA APIs optimise cache operations based on "dma-coherent" |
| * property in DT. Handle "dma-coherent" property in driver itself instead of |
| * specifying in DT so as to support both coherent and non-coherent buffers. |
| */ |
| #define GXP_IS_DMA_COHERENT |
| |
| /* HW watchdog */ |
| #define GXP_WDG_DT_IRQ_INDEX 5 |
| #define GXP_WDG_ENABLE_BIT 0 |
| #define GXP_WDG_INT_CLEAR_BIT 5 |
| |
| #if IS_ENABLED(CONFIG_GXP_GEM5) |
| /* Zuma DSP on gem5 uses ARM SMMU. */ |
| #define GXP_MMU_REQUIRE_ATTACH 1 |
| #endif |
| |
| #include "config-pwr-state.h" |
| #include "context.h" |
| #include "csrs.h" |
| #include "iova.h" |
| #include "lpm.h" |
| #include "mailbox-regs.h" |
| |
| #endif /* __CALLISTO_CONFIG_H__ */ |