/* SPDX-License-Identifier: GPL-2.0
 *
 * Copyright 2020 HabanaLabs, Ltd.
 * All Rights Reserved.
 *
 */
#ifndef GAUDI2_CORESIGHT_REGS_DRV_H_
#define GAUDI2_CORESIGHT_REGS_DRV_H_

#include "gaudi2_masks.h"
#include "../include/gaudi2/gaudi2_coresight.h"
#include "gaudi2P.h"

/* FUNNEL Offsets - same offsets for all funnels*/
#define mmFUNNEL_CTRL_REG_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_CTRL_REG -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_PRIORITY_CTRL_REG_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_PRIORITY_CTRL_REG -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_ITATBDATA0_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_ITATBDATA0 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_ITATBCTR2_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_ITATBCTR2 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_ITATBCTR1_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_ITATBCTR1 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_ITATBCTR0_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_ITATBCTR0 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_ITCTRL_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_ITCTRL -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_CLAIMSET_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_CLAIMSET -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_CLAIMCLR_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_CLAIMCLR -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_LOCKACCESS_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_LOCKACCESS -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_LOCKSTATUS_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_LOCKSTATUS -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_AUTHSTATUS_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_AUTHSTATUS -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_DEVID_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_DEVID -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_DEVTYPE_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_DEVTYPE -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_PIDR4_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_PIDR4 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_PERIPHID5_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_PERIPHID5 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_PERIPHID6_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_PERIPHID6 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_PERIPHID7_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_PERIPHID7 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_PIDR0_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_PIDR0 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_PIDR1_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_PIDR1 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_PIDR2_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_PIDR2 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_PIDR3_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_PIDR3 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_CID0_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_CID0 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_CID1_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_CID1 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_CID2_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_CID2 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

#define mmFUNNEL_CID3_OFFSET	\
			(mmDCORE0_TPC0_EML_FUNNEL_CID3 -	\
				mmDCORE0_TPC0_EML_FUNNEL_BASE)

/* ETF Offsets - same offsets for all etfs */
#define mmETF_RSZ_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_RSZ -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_STS_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_STS -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_RRD_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_RRD -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_RRP_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_RRP -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_RWP_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_RWP -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_TRG_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_TRG -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_CTL_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_CTL -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_RWD_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_RWD -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_MODE_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_MODE -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_LBUFLEVEL_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_LBUFLEVEL -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_CBUFLEVEL_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_CBUFLEVEL -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_BUFWM_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_BUFWM -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_FFSR_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_FFSR -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_FFCR_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_FFCR -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_PSCR_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_PSCR -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITATBMDATA0_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITATBMDATA0 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITATBMCTR2_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITATBMCTR2 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITATBMCTR1_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITATBMCTR1 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITATBMCTR0_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITATBMCTR0 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITMISCOP0_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITMISCOP0 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITTRFLIN_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITTRFLIN -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITATBDATA0_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITATBDATA0 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITATBCTR2_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITATBCTR2 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITATBCTR1_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITATBCTR1 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITATBCTR0_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITATBCTR0 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_ITCTRL_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_ITCTRL -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_CLAIMSET_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_CLAIMSET -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_CLAIMCLR_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_CLAIMCLR -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_LAR_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_LAR -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_LSR_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_LSR -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_AUTHSTATUS_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_AUTHSTATUS -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_DEVID_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_DEVID -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_DEVTYPE_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_DEVTYPE -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_PERIPHID4_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_PERIPHID4 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_PERIPHID5_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_PERIPHID5 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_PERIPHID6_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_PERIPHID6 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_PERIPHID7_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_PERIPHID7 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_PERIPHID0_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_PERIPHID0 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_PERIPHID1_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_PERIPHID1 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_PERIPHID2_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_PERIPHID2 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_PERIPHID3_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_PERIPHID3 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_COMPID0_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_COMPID0 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_COMPID1_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_COMPID1 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_COMPID2_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_COMPID2 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)

#define mmETF_COMPID3_OFFSET	\
			(mmDCORE0_TPC0_EML_ETF_COMPID3 -	\
				mmDCORE0_TPC0_EML_ETF_BASE)


/* STM OFFSETS - same offsets for all stms */
#define mmSTM_STMDMASTARTR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMDMASTARTR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMDMASTOPR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMDMASTOPR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMDMASTATR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMDMASTATR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMDMACTLR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMDMACTLR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMDMAIDR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMDMAIDR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMHEER_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMHEER -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMHETER_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMHETER -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMHEBSR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMHEBSR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMHEMCR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMHEMCR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMHEEXTMUXR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMHEEXTMUXR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMHEMASTR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMHEMASTR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMHEFEAT1R_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMHEFEAT1R -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMHEIDR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMHEIDR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMSPER_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMSPER -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMSPTER_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMSPTER -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMSPSCR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMSPSCR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMSPMSCR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMSPMSCR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMSPOVERRIDER_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMSPOVERRIDER -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMSPMOVERRIDER_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMSPMOVERRIDER -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMSPTRIGCSR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMSPTRIGCSR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMTCSR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMTCSR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMTSSTIMR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMTSSTIMR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMTSFREQR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMTSFREQR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMSYNCR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMSYNCR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMAUXCR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMAUXCR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMFEAT1R_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMFEAT1R -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMFEAT2R_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMFEAT2R -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMFEAT3R_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMFEAT3R -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMITTRIGGER_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMITTRIGGER -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMITATBDATA0_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMITATBDATA0 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMITATBCTR2_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMITATBCTR2 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMITATBID_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMITATBID -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMITATBCTR0_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMITATBCTR0 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMITCTRL_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMITCTRL -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMCLAIMSET_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMCLAIMSET -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMCLAIMCLR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMCLAIMCLR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMLAR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMLAR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMLSR_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMLSR -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMAUTHSTATUS_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMAUTHSTATUS -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMDEVARCH_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMDEVARCH -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMDEVID_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMDEVID -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMDEVTYPE_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMDEVTYPE -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMPIDR4_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMPIDR4 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMPIDR5_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMPIDR5 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMPIDR6_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMPIDR6 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMPIDR7_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMPIDR7 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMPIDR0_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMPIDR0 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMPIDR1_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMPIDR1 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMPIDR2_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMPIDR2 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMPIDR3_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMPIDR3 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMCIDR0_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMCIDR0 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMCIDR1_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMCIDR1 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMCIDR2_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMCIDR2 -	\
				mmDCORE0_TPC0_EML_STM_BASE)

#define mmSTM_STMCIDR3_OFFSET	\
			(mmDCORE0_TPC0_EML_STM_STMCIDR3 -	\
				mmDCORE0_TPC0_EML_STM_BASE)


/* SPMU OFFSETS - same offsets for all SPMUs */
#define mmSPMU_PMEVCNTR0_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTR0_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTR1_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTR1_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTR2_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTR2_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTR3_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTR3_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTR4_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTR4_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTR5_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTR5_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCCNTR_L_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCCNTR_L_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCCNTR_H_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCCNTR_H_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMTRC_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMTRC -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_TRC_CTRL_HOST_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_TRC_CTRL_HOST -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_TRC_STAT_HOST_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_TRC_STAT_HOST -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_TRC_EN_HOST_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_TRC_EN_HOST -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVTYPER0_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVTYPER0_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVTYPER1_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVTYPER1_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVTYPER2_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVTYPER2_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVTYPER3_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVTYPER3_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVTYPER4_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVTYPER4_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVTYPER5_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVTYPER5_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMSSR_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMSSR -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMOVSSR_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMOVSSR -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCCNTSR_L_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCCNTSR_L -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCCNTSR_H_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCCNTSR_H -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTSR0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTSR0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTSR1_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTSR1 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTSR2_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTSR2 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTSR3_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTSR3 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTSR4_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTSR4 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMEVCNTSR5_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMEVCNTSR5 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMSCR_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMSCR -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMSRR_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMSRR -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCNTENSET_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCNTENSET_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCNTENCLR_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCNTENCLR_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMINTENSET_EL1_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMINTENSET_EL1 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMINTENCLR_EL1_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMINTENCLR_EL1 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMOVSCLR_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMOVSCLR_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMSWINC_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMSWINC_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMOVSSET_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMOVSSET_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCFGR_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCFGR -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCR_EL0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCR_EL0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMITCTRL_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMITCTRL -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCLAIMSET_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCLAIMSET -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCLAIMCLR_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCLAIMCLR -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMDEVAFF0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMDEVAFF0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMDEVAFF1_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMDEVAFF1 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMLAR_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMLAR -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMLSR_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMLSR -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMAUTHSTATUS_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMAUTHSTATUS -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMDEVARCH_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMDEVARCH -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMDEVID2_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMDEVID2 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMDEVID1_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMDEVID1 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMDEVID_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMDEVID -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMDEVTYPE_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMDEVTYPE -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMPIDR4_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMPIDR4 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMPIDR5_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMPIDR5 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMPIDR6_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMPIDR6 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMPIDR7_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMPIDR7 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMPIDR0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMPIDR0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMPIDR1_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMPIDR1 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMPIDR2_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMPIDR2 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMPIDR3_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMPIDR3 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCIDR0_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCIDR0 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCIDR1_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCIDR1 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCIDR2_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCIDR2 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)

#define mmSPMU_PMCIDR3_OFFSET	\
			(mmDCORE0_TPC0_EML_SPMU_PMCIDR3 -	\
				mmDCORE0_TPC0_EML_SPMU_BASE)


/* BMON OFFSETS - same offsets for all BMONs*/
#define mmBMON_CR_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_CR -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_RESET_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_REG_RESET -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_INT_CLR_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_INT_CLR -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_TRIG_TH_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_TRIG_TH -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRL_S0_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRL_S0 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRH_S0_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRH_S0 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRL_E0_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRL_E0 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRH_E0_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRH_E0 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRL_S1_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRL_S1 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRH_S1_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRH_S1 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRL_E1_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRL_E1 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRH_E1_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRH_E1 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRL_S2_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRL_S2 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRH_S2_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRH_S2 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRL_E2_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRL_E2 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRH_E2_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRH_E2 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRL_S3_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRL_S3 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRH_S3_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRH_S3 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRL_E3_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRL_E3 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRH_E3_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRH_E3 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_REDUCTION_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_REDUCTION -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_IDL_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_IDL -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_IDH_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_IDH -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_IDENL_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_IDENL -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_IDENH_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_IDENH -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_LATENCY_SMP_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_LATENCY_SMP -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ATTR_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ATTR -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ATTREN_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ATTREN -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_USRENL_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_USRENL -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_USRL_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_USRL -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_USRENH_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_USRENH -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_USRH_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_USRH -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_CAPTURE_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_CAPTURE -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_RELEASE_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_RELEASE -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_WIN_CAPTURE_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_WIN_CAPTURE -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_BW_WIN_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_BW_WIN -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_MATCH_CNT_SOD_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_MATCH_CNT_SOD -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_MATCH_CNT_WIN_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_MATCH_CNT_WIN -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_CYCCNT_L_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_CYCCNT_L -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_CYCCNT_H_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_CYCCNT_H -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_MAXLAT_SOD_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_MAXLAT_SOD -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_MINLAT_SOD_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_MINLAT_SOD -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_MAXBW_SOD_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_MAXBW_SOD -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_MINBW_SOD_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_MINBW_SOD -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_MAXOS_SOD_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_MAXOS_SOD -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_MINOS_SOD_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_MINOS_SOD -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRL_SNAPSHOT_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRL_SNAPSHOT -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ADDRH_SNAPSHOT_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ADDRH_SNAPSHOT -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_IDL_SNAPSHOT_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_IDL_SNAPSHOT -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_IDH_SNAPSHOT_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_IDH_SNAPSHOT -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_ATTR_SNAPSHOT_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_ATTR_SNAPSHOT -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_STM_TRC_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_STM_TRC -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_STM_TRC_DROP_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_STM_TRC_DROP -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_DEVARCH_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_DEVARCH -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PMDEVID2_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PMDEVID2 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PMDEVID1_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PMDEVID1 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PMDEVID_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PMDEVID -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_DEVTYPE_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_DEVTYPE -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PIDR4_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PIDR4 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PIDR5_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PIDR5 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PIDR6_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PIDR6 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PIDR7_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PIDR7 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PIDR0_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PIDR0 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PIDR1_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PIDR1 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PIDR2_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PIDR2 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_PIDR3_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_PIDR3 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_CIDR0_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_CIDR0 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_CIDR1_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_CIDR1 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_CIDR2_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_CIDR2 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)

#define mmBMON_CIDR3_OFFSET	\
			(mmDCORE0_TPC0_EML_BUSMON_0_CIDR3 -	\
				mmDCORE0_TPC0_EML_BUSMON_0_BASE)


/* Coresight unlock offset */
#define  mmCORESIGHT_UNLOCK_REGISTER_OFFSET mmSTM_STMLAR_OFFSET
#define  mmCORESIGHT_UNLOCK_STATUS_REGISTER_OFFSET mmSTM_STMLSR_OFFSET

#endif /* GAUDI2_CORESIGHT_REGS_DRV_H_ */