blob: c09637b38cd7be5128139023e358814ee6810ae3 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* GXP IOVAs. The list of addresses for fixed device-side IOVAs
*
* Copyright (C) 2022 Google LLC
*/
#ifndef __CALLISTO_IOVA_H__
#define __CALLISTO_IOVA_H__
/* IOVAs from system firmware's view */
#define GXP_IOVA_MAILBOX(_x_) (0x18390000 + (_x_) * 0x00020000)
#define GXP_IOVA_EXT_TPU_MBX (0x1A050000)
#define GXP_IOVA_FIRMWARE(_x_) (0xFA000000 + (_x_) * 0x00100000)
#define GXP_IOVA_SHARED_BUFFER (0xFA3A8000)
#define GXP_IOVA_PRIV_FW_DATA (0xFA500000)
#define GXP_IOVA_TPU_MBX_BUFFER(_x_) (0xFE100000 + (_x_) * 0x00040000)
/* IOVAs for MCU firmware */
#define GXP_MCU_NS_MAILBOX(_x_) (0x2000000 + (_x_) * 0x1000)
#define GXP_IREMAP_CODE_BASE 0x10000000
#define GXP_IREMAP_CODE_SIZE 0x100000 /* 1MB */
/* offset from GXP_IREMAP_CODE_BASE */
#define GXP_IREMAP_SECURE_OFFSET GXP_IREMAP_CODE_SIZE
#define GXP_IREMAP_SECURE_SIZE 0x100000 /* 1MB */
#define GXP_IREMAP_DATA_OFFSET (GXP_IREMAP_SECURE_OFFSET + GXP_IREMAP_SECURE_SIZE)
#define GXP_IREMAP_DATA_SIZE 0x1FF000 /* (2MB - 4KB) */
/* Last 4K page of IREMAP_DATA */
#define GXP_MCU_BOOT_MODE_OFFSET (GXP_IREMAP_DATA_OFFSET + GXP_IREMAP_DATA_SIZE)
#endif /* __CALLISTO_IOVA_H__ */