linux/drivers/staging/media/atomisp/pci/css_2401_system/hrt/stream2mmio_defs.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 _STREAM2MMMIO_DEFS_H
#define _STREAM2MMMIO_DEFS_H

#include <mipi_backend_defs.h>

#define _STREAM2MMIO_REG_ALIGN

#define _STREAM2MMIO_COMMAND_REG_ID
#define _STREAM2MMIO_ACKNOWLEDGE_REG_ID
#define _STREAM2MMIO_PIX_WIDTH_ID_REG_ID
#define _STREAM2MMIO_START_ADDR_REG_ID
#define _STREAM2MMIO_END_ADDR_REG_ID
#define _STREAM2MMIO_STRIDE_REG_ID
#define _STREAM2MMIO_NUM_ITEMS_REG_ID
#define _STREAM2MMIO_BLOCK_WHEN_NO_CMD_REG_ID
#define _STREAM2MMIO_REGS_PER_SID

#define _STREAM2MMIO_SID_REG_OFFSET
#define _STREAM2MMIO_MAX_NOF_SIDS

/* command token definition     */
#define _STREAM2MMIO_CMD_TOKEN_CMD_LSB
#define _STREAM2MMIO_CMD_TOKEN_CMD_MSB

#define _STREAM2MMIO_CMD_TOKEN_WIDTH

#define _STREAM2MMIO_CMD_TOKEN_STORE_WORDS
#define _STREAM2MMIO_CMD_TOKEN_STORE_PACKETS
#define _STREAM2MMIO_CMD_TOKEN_SYNC_FRAME

/* acknowledges from packer module */
/* fields: eof   - indicates whether last (short) packet received was an eof packet */
/*         eop   - indicates whether command has ended due to packet end or due to no of words requested has been received */
/*         count - indicates number of words stored */
#define _STREAM2MMIO_PACK_NUM_ITEMS_BITS
#define _STREAM2MMIO_PACK_ACK_EOP_BIT
#define _STREAM2MMIO_PACK_ACK_EOF_BIT

/* acknowledge token definition */
#define _STREAM2MMIO_ACK_TOKEN_NUM_ITEMS_LSB
#define _STREAM2MMIO_ACK_TOKEN_NUM_ITEMS_MSB
#define _STREAM2MMIO_ACK_TOKEN_EOP_BIT
#define _STREAM2MMIO_ACK_TOKEN_EOF_BIT
#define _STREAM2MMIO_ACK_TOKEN_VALID_BIT
/* if there is no valid ack, a read  */
/* on the ack register returns 0     */
#define _STREAM2MMIO_ACK_TOKEN_WIDTH

/* commands for packer module */
#define _STREAM2MMIO_PACK_CMD_STORE_WORDS
#define _STREAM2MMIO_PACK_CMD_STORE_LONG_PACKET
#define _STREAM2MMIO_PACK_CMD_STORE_SHORT_PACKET

#endif /* _STREAM2MMIO_DEFS_H */