blob: fcb52da3d65bfc5a0b31f98eb4e8b8cdd17a0a70 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (C) 2018 - 2020 Intel Corporation */
#ifndef IPU6SE_PLATFORM_RESOURCES_H
#define IPU6SE_PLATFORM_RESOURCES_H
#include <linux/kernel.h>
#include <linux/device.h>
#include "ipu-platform-resources.h"
#define IPU6SE_FW_PSYS_N_PADDING_UINT8_IN_PROCESS_EXT_STRUCT 1
enum {
IPU6SE_FW_PSYS_CMD_QUEUE_COMMAND_ID = 0,
IPU6SE_FW_PSYS_CMD_QUEUE_DEVICE_ID,
IPU6SE_FW_PSYS_CMD_QUEUE_PPG0_COMMAND_ID,
IPU6SE_FW_PSYS_CMD_QUEUE_PPG1_COMMAND_ID,
IPU6SE_FW_PSYS_CMD_QUEUE_PPG2_COMMAND_ID,
IPU6SE_FW_PSYS_CMD_QUEUE_PPG3_COMMAND_ID,
IPU6SE_FW_PSYS_CMD_QUEUE_PPG4_COMMAND_ID,
IPU6SE_FW_PSYS_CMD_QUEUE_PPG5_COMMAND_ID,
IPU6SE_FW_PSYS_N_PSYS_CMD_QUEUE_ID
};
enum {
IPU6SE_FW_PSYS_TRANSFER_VMEM0_TYPE_ID = 0,
IPU6SE_FW_PSYS_LB_VMEM_TYPE_ID,
IPU6SE_FW_PSYS_DMEM_TYPE_ID,
IPU6SE_FW_PSYS_VMEM_TYPE_ID,
IPU6SE_FW_PSYS_BAMEM_TYPE_ID,
IPU6SE_FW_PSYS_PMEM_TYPE_ID,
IPU6SE_FW_PSYS_N_MEM_TYPE_ID
};
enum ipu6se_mem_id {
IPU6SE_FW_PSYS_TRANSFER_VMEM0_ID = 0, /* TRANSFER VMEM 0 */
IPU6SE_FW_PSYS_LB_VMEM_ID, /* LB VMEM */
IPU6SE_FW_PSYS_DMEM0_ID, /* SPC0 Dmem */
IPU6SE_FW_PSYS_DMEM1_ID, /* SPP0 Dmem */
IPU6SE_FW_PSYS_N_MEM_ID
};
enum {
IPU6SE_FW_PSYS_DEV_CHN_DMA_EXT0_ID = 0,
IPU6SE_FW_PSYS_DEV_CHN_DMA_EXT1_READ_ID,
IPU6SE_FW_PSYS_DEV_CHN_DMA_EXT1_WRITE_ID,
IPU6SE_FW_PSYS_DEV_CHN_DMA_ISA_ID,
IPU6SE_FW_PSYS_N_DEV_CHN_ID
};
enum {
IPU6SE_FW_PSYS_SP_CTRL_TYPE_ID = 0,
IPU6SE_FW_PSYS_SP_SERVER_TYPE_ID,
IPU6SE_FW_PSYS_ACC_ISA_TYPE_ID,
IPU6SE_FW_PSYS_N_CELL_TYPE_ID
};
enum {
IPU6SE_FW_PSYS_SP0_ID = 0,
IPU6SE_FW_PSYS_ISA_ICA_ID,
IPU6SE_FW_PSYS_ISA_LSC_ID,
IPU6SE_FW_PSYS_ISA_DPC_ID,
IPU6SE_FW_PSYS_ISA_B2B_ID,
IPU6SE_FW_PSYS_ISA_BNLM_ID,
IPU6SE_FW_PSYS_ISA_DM_ID,
IPU6SE_FW_PSYS_ISA_R2I_SIE_ID,
IPU6SE_FW_PSYS_ISA_R2I_DS_A_ID,
IPU6SE_FW_PSYS_ISA_R2I_DS_B_ID,
IPU6SE_FW_PSYS_ISA_AWB_ID,
IPU6SE_FW_PSYS_ISA_AE_ID,
IPU6SE_FW_PSYS_ISA_AF_ID,
IPU6SE_FW_PSYS_ISA_PAF_ID,
IPU6SE_FW_PSYS_N_CELL_ID
};
enum {
IPU6SE_FW_PSYS_DEV_DFM_ISL_FULL_PORT_ID = 0,
IPU6SE_FW_PSYS_DEV_DFM_ISL_EMPTY_PORT_ID,
};
/* Excluding PMEM */
#define IPU6SE_FW_PSYS_N_DATA_MEM_TYPE_ID (IPU6SE_FW_PSYS_N_MEM_TYPE_ID - 1)
#define IPU6SE_FW_PSYS_N_DEV_DFM_ID \
(IPU6SE_FW_PSYS_DEV_DFM_ISL_EMPTY_PORT_ID + 1)
#define IPU6SE_FW_PSYS_VMEM0_MAX_SIZE 0x0800
/* Transfer VMEM0 words, ref HAS Transfer*/
#define IPU6SE_FW_PSYS_TRANSFER_VMEM0_MAX_SIZE 0x0800
#define IPU6SE_FW_PSYS_LB_VMEM_MAX_SIZE 0x0400 /* LB VMEM words */
#define IPU6SE_FW_PSYS_DMEM0_MAX_SIZE 0x4000
#define IPU6SE_FW_PSYS_DMEM1_MAX_SIZE 0x1000
#define IPU6SE_FW_PSYS_DEV_CHN_DMA_EXT0_MAX_SIZE 22
#define IPU6SE_FW_PSYS_DEV_CHN_DMA_EXT1_READ_MAX_SIZE 22
#define IPU6SE_FW_PSYS_DEV_CHN_DMA_EXT1_WRITE_MAX_SIZE 22
#define IPU6SE_FW_PSYS_DEV_CHN_DMA_IPFD_MAX_SIZE 0
#define IPU6SE_FW_PSYS_DEV_CHN_DMA_ISA_MAX_SIZE 2
#define IPU6SE_FW_PSYS_DEV_DFM_ISL_FULL_PORT_ID_MAX_SIZE 32
#define IPU6SE_FW_PSYS_DEV_DFM_LB_FULL_PORT_ID_MAX_SIZE 32
#define IPU6SE_FW_PSYS_DEV_DFM_ISL_EMPTY_PORT_ID_MAX_SIZE 32
#define IPU6SE_FW_PSYS_DEV_DFM_LB_EMPTY_PORT_ID_MAX_SIZE 32
#endif /* IPU6SE_PLATFORM_RESOURCES_H */