linux/drivers/media/platform/qcom/venus/hfi_venus_io.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
 * Copyright (C) 2017 Linaro Ltd.
 */
#ifndef __VENUS_HFI_VENUS_IO_H__
#define __VENUS_HFI_VENUS_IO_H__

#define VBIF_BASE

#define VBIF_AXI_HALT_CTRL0
#define VBIF_AXI_HALT_CTRL1

#define VBIF_AXI_HALT_CTRL0_HALT_REQ
#define VBIF_AXI_HALT_CTRL1_HALT_ACK
#define VBIF_AXI_HALT_ACK_TIMEOUT_US

#define CPU_BASE

#define CPU_CS_BASE
#define CPU_IC_BASE
#define CPU_BASE_V6
#define CPU_CS_BASE_V6
#define CPU_IC_BASE_V6

#define CPU_CS_A2HSOFTINTCLR

#define VIDC_CTRL_INIT
#define VIDC_CTRL_INIT_RESERVED_BITS31_1_MASK
#define VIDC_CTRL_INIT_RESERVED_BITS31_1_SHIFT
#define VIDC_CTRL_INIT_CTRL_MASK
#define VIDC_CTRL_INIT_CTRL_SHIFT

/* HFI control status */
#define CPU_CS_SCIACMDARG0
#define CPU_CS_SCIACMDARG0_MASK
#define CPU_CS_SCIACMDARG0_SHIFT
#define CPU_CS_SCIACMDARG0_ERROR_STATUS_MASK
#define CPU_CS_SCIACMDARG0_ERROR_STATUS_SHIFT
#define CPU_CS_SCIACMDARG0_INIT_STATUS_MASK
#define CPU_CS_SCIACMDARG0_INIT_STATUS_SHIFT
#define CPU_CS_SCIACMDARG0_PC_READY
#define CPU_CS_SCIACMDARG0_INIT_IDLE_MSG_MASK

/* HFI queue table info */
#define CPU_CS_SCIACMDARG1

/* HFI queue table address */
#define CPU_CS_SCIACMDARG2

/* Venus cpu */
#define CPU_CS_SCIACMDARG3

#define SFR_ADDR
#define MMAP_ADDR
#define UC_REGION_ADDR
#define UC_REGION_SIZE

#define CPU_CS_H2XSOFTINTEN_V6

#define CPU_CS_X2RPMH_V6
#define CPU_CS_X2RPMH_MASK0_BMSK_V6
#define CPU_CS_X2RPMH_MASK0_SHFT_V6
#define CPU_CS_X2RPMH_MASK1_BMSK_V6
#define CPU_CS_X2RPMH_MASK1_SHFT_V6
#define CPU_CS_X2RPMH_SWOVERRIDE_BMSK_V6
#define CPU_CS_X2RPMH_SWOVERRIDE_SHFT_V6

/* Relative to CPU_IC_BASE */
#define CPU_IC_SOFTINT
#define CPU_IC_SOFTINT_V6
#define CPU_IC_SOFTINT_H2A_MASK
#define CPU_IC_SOFTINT_H2A_SHIFT
#define CPU_IC_SOFTINT_H2A_SHIFT_V6

/* Venus wrapper */
#define WRAPPER_BASE_V6
#define WRAPPER_BASE

#define WRAPPER_HW_VERSION
#define WRAPPER_HW_VERSION_MAJOR_VERSION_MASK
#define WRAPPER_HW_VERSION_MAJOR_VERSION_SHIFT
#define WRAPPER_HW_VERSION_MINOR_VERSION_MASK
#define WRAPPER_HW_VERSION_MINOR_VERSION_SHIFT
#define WRAPPER_HW_VERSION_STEP_VERSION_MASK

#define WRAPPER_CLOCK_CONFIG

#define WRAPPER_INTR_STATUS
#define WRAPPER_INTR_STATUS_A2HWD_MASK
#define WRAPPER_INTR_STATUS_A2HWD_SHIFT
#define WRAPPER_INTR_STATUS_A2H_MASK
#define WRAPPER_INTR_STATUS_A2H_SHIFT

#define WRAPPER_INTR_MASK
#define WRAPPER_INTR_MASK_A2HWD_BASK
#define WRAPPER_INTR_MASK_A2HWD_SHIFT
#define WRAPPER_INTR_MASK_A2HVCODEC_MASK
#define WRAPPER_INTR_MASK_A2HVCODEC_SHIFT
#define WRAPPER_INTR_MASK_A2HCPU_MASK
#define WRAPPER_INTR_MASK_A2HCPU_SHIFT

#define WRAPPER_INTR_STATUS_A2HWD_MASK_V6
#define WRAPPER_INTR_MASK_A2HWD_BASK_V6

#define WRAPPER_INTR_CLEAR
#define WRAPPER_INTR_CLEAR_A2HWD_MASK
#define WRAPPER_INTR_CLEAR_A2HWD_SHIFT
#define WRAPPER_INTR_CLEAR_A2H_MASK
#define WRAPPER_INTR_CLEAR_A2H_SHIFT

#define WRAPPER_POWER_STATUS
#define WRAPPER_VDEC_VCODEC_POWER_CONTROL
#define WRAPPER_VENC_VCODEC_POWER_CONTROL
#define WRAPPER_DEBUG_BRIDGE_LPI_CONTROL_V6
#define WRAPPER_DEBUG_BRIDGE_LPI_STATUS_V6
#define WRAPPER_VDEC_VENC_AHB_BRIDGE_SYNC_RESET

#define WRAPPER_CPU_CLOCK_CONFIG
#define WRAPPER_CPU_AXI_HALT
#define WRAPPER_CPU_AXI_HALT_HALT
#define WRAPPER_CPU_AXI_HALT_STATUS
#define WRAPPER_CPU_AXI_HALT_STATUS_IDLE

#define WRAPPER_CPU_CGC_DIS
#define WRAPPER_CPU_STATUS
#define WRAPPER_CPU_STATUS_WFI
#define WRAPPER_SW_RESET
#define WRAPPER_CPA_START_ADDR
#define WRAPPER_CPA_END_ADDR
#define WRAPPER_FW_START_ADDR
#define WRAPPER_FW_END_ADDR
#define WRAPPER_NONPIX_START_ADDR
#define WRAPPER_NONPIX_END_ADDR
#define WRAPPER_A9SS_SW_RESET
#define WRAPPER_A9SS_SW_RESET_BIT

/* Venus 4xx */
#define WRAPPER_VCODEC0_MMCC_POWER_STATUS
#define WRAPPER_VCODEC0_MMCC_POWER_CONTROL

#define WRAPPER_VCODEC1_MMCC_POWER_STATUS
#define WRAPPER_VCODEC1_MMCC_POWER_CONTROL

/* Venus 6xx */
#define WRAPPER_CORE_POWER_STATUS_V6
#define WRAPPER_CORE_POWER_CONTROL_V6

/* Wrapper TZ 6xx */
#define WRAPPER_TZ_BASE_V6
#define WRAPPER_TZ_CPU_STATUS_V6
#define WRAPPER_TZ_XTSS_SW_RESET
#define WRAPPER_XTSS_SW_RESET_BIT

/* Venus AON */
#define AON_BASE_V6
#define AON_WRAPPER_MVP_NOC_LPI_CONTROL
#define AON_WRAPPER_MVP_NOC_LPI_STATUS

#endif