linux/drivers/staging/media/atomisp/pci/hive_isp_css_common/isp_global.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Support for Intel Camera Imaging ISP subsystem.
 * Copyright (c) 2015, Intel Corporation.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 */

#ifndef __ISP_GLOBAL_H_INCLUDED__
#define __ISP_GLOBAL_H_INCLUDED__

#include <system_local.h>

#include "mamoiada_params.h"

#define ISP_PMEM_WIDTH_LOG2
#define ISP_PMEM_SIZE

#define ISP_NWAY_LOG2
#define ISP_VEC_NELEMS_LOG2

#ifdef PIPE_GENERATION
#define PIPEMEM
#define ISP_NWAY
#else
#define PIPEMEM(x)
#endif

/* The number of data bytes in a vector disregarding the reduced precision */
#define ISP_VEC_BYTES

/* ISP SC Registers */
#define ISP_SC_REG
#define ISP_PC_REG
#define ISP_IRQ_READY_REG
#define ISP_IRQ_CLEAR_REG

/* ISP SC Register bits */
#define ISP_RST_BIT
#define ISP_START_BIT
#define ISP_BREAK_BIT
#define ISP_RUN_BIT
#define ISP_BROKEN_BIT
#define ISP_IDLE_BIT
#define ISP_SLEEPING_BIT
#define ISP_STALLING_BIT
#define ISP_IRQ_CLEAR_BIT
#define ISP_IRQ_READY_BIT
#define ISP_IRQ_SLEEPING_BIT

/* ISP Register bits */
#define ISP_CTRL_SINK_BIT
#define ISP_PMEM_SINK_BIT
#define ISP_DMEM_SINK_BIT
#define ISP_FIFO0_SINK_BIT
#define ISP_FIFO1_SINK_BIT
#define ISP_FIFO2_SINK_BIT
#define ISP_FIFO3_SINK_BIT
#define ISP_FIFO4_SINK_BIT
#define ISP_FIFO5_SINK_BIT
#define ISP_FIFO6_SINK_BIT
#define ISP_VMEM_SINK_BIT
#define ISP_VAMEM1_SINK_BIT
#define ISP_VAMEM2_SINK_BIT
#define ISP_VAMEM3_SINK_BIT
#define ISP_HMEM_SINK_BIT

#define ISP_CTRL_SINK_REG
#define ISP_PMEM_SINK_REG
#define ISP_DMEM_SINK_REG
#define ISP_FIFO0_SINK_REG
#define ISP_FIFO1_SINK_REG
#define ISP_FIFO2_SINK_REG
#define ISP_FIFO3_SINK_REG
#define ISP_FIFO4_SINK_REG
#define ISP_FIFO5_SINK_REG
#define ISP_FIFO6_SINK_REG
#define ISP_VMEM_SINK_REG
#define ISP_VAMEM1_SINK_REG
#define ISP_VAMEM2_SINK_REG
#define ISP_VAMEM3_SINK_REG
#define ISP_HMEM_SINK_REG

/* ISP2401 */
#define BAMEM
#define XNR3_DOWN_BAMEM_BASE_ADDRESS
#define XNR3_UP_BAMEM_BASE_ADDRESS
#define bmem_ldrow(fu, pid, offset, data)
#define bmem_strow(fu, pid, offset, data)
#define bmem_ldblk(fu, pid, offset, data)
#define bmem_stblk(fu, pid, offset, data)

#endif /* __ISP_GLOBAL_H_INCLUDED__ */