162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci *
362306a36Sopenharmony_ci * Copyright 2018-2020 HabanaLabs, Ltd.
462306a36Sopenharmony_ci * All Rights Reserved.
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#ifndef GAUDI_H
962306a36Sopenharmony_ci#define GAUDI_H
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#define SRAM_BAR_ID		0
1262306a36Sopenharmony_ci#define CFG_BAR_ID		2
1362306a36Sopenharmony_ci#define HBM_BAR_ID		4
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#define SRAM_BAR_SIZE		0x4000000ull		/* 64MB */
1662306a36Sopenharmony_ci#define CFG_BAR_SIZE		0x8000000ull		/* 128MB */
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#define CFG_BASE		0x7FFC000000ull
1962306a36Sopenharmony_ci#define CFG_SIZE		0x4000000		/* 32MB CFG + 32MB DBG*/
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci#define SRAM_BASE_ADDR		0x7FF0000000ull
2262306a36Sopenharmony_ci#define SRAM_SIZE		0x1400000		/* 20MB */
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci#define SPI_FLASH_BASE_ADDR	0x7FF8000000ull
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci#define PSOC_SCRATCHPAD_ADDR	0x7FFBFE0000ull
2762306a36Sopenharmony_ci#define PSOC_SCRATCHPAD_SIZE	0x10000			/* 64KB */
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci#define PCIE_FW_SRAM_ADDR	0x7FFBFF0000ull
3062306a36Sopenharmony_ci#define PCIE_FW_SRAM_SIZE	0x8000			/* 32KB */
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci#define DRAM_PHYS_BASE		0x0ull
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci#define HOST_PHYS_BASE		0x8000000000ull		/* 0.5TB */
3562306a36Sopenharmony_ci#define HOST_PHYS_SIZE		0x1000000000000ull	/* 0.25PB (48 bits) */
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci#define GAUDI_MSI_ENTRIES	32
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci#define QMAN_PQ_ENTRY_SIZE	16			/* Bytes */
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci#define MAX_ASID		2
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci#define PROT_BITS_OFFS		0xF80
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci#define MME_NUMBER_OF_MASTER_ENGINES	2
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci#define MME_NUMBER_OF_SLAVE_ENGINES	2
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci#define TPC_NUMBER_OF_ENGINES	8
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci#define DMA_NUMBER_OF_CHANNELS	8
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci#define NIC_NUMBER_OF_MACROS	5
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci#define NIC_NUMBER_OF_ENGINES	(NIC_NUMBER_OF_MACROS * 2)
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci#define NUMBER_OF_IF		8
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci#define DEVICE_CACHE_LINE_SIZE	128
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci#endif /* GAUDI_H */
62