blob: 4eb10d69508ca982414ab5554187cd32452fc0cb [file] [log] [blame]
/* Copyright 2013-2014 IBM Corp.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __P7IOC_REGS_H
#define __P7IOC_REGS_H
/*
* Register definitions
*
* We only define some registers here. Ideally we should auto-generate
* the full list from the spec. For now I add them as I need them
*/
/* RGC GEM registers */
#define P7IOC_GEM_XFIR 0x3E0008
#define P7IOC_GEM_RFIR 0x3E0010
#define P7IOC_GEM_RIRQFIR 0x3E0018
#define P7IOC_GEM_MASK 0x3E0020
#define P7IOC_GEM_RWOF 0x3E0028
/* LEM register base */
#define P7IOC_RGC_LEM_BASE 0x3E1E00
#define P7IOC_BI_UP_LEM_BASE 0x3C0000
#define P7IOC_BI_DOWN_LEM_BASE 0x3C0050
#define P7IOC_CI_PORTn_LEM_BASE(n) (0x3d0200 | ((n) * 0x1000))
#define P7IOC_PHBn_LEM_BASE(n) (0x000C00 | ((n) * 0x10000))
#define P7IOC_MISC_LEM_BASE 0x3EA000
#define P7IOC_I2C_LEM_BASE 0x3EB000
/* LEM register offset */
#define P7IOC_LEM_FIR_OFFSET 0x00
#define P7IOC_LEM_FIR_AND_OFFSET 0x08
#define P7IOC_LEM_FIR_OR_OFFSET 0x10
#define P7IOC_LEM_ERR_MASK_OFFSET 0x18
#define P7IOC_LEM_ERR_MASK_AND_OFFSET 0x20
#define P7IOC_LEM_ERR_MASK_OR_OFFSET 0x28
#define P7IOC_LEM_ACTION_0_OFFSET 0x30
#define P7IOC_LEM_ACTION_1_OFFSET 0x38
#define P7IOC_LEM_WOF_OFFSET 0x40
/* HSS registers */
#define P7IOC_HSS_BASE 0x3E8000
#define P7IOC_HSS_STRIDE 0x200
#define P7IOC_HSSn_CTL2_OFFSET 0x10
#define P7IOC_HSSn_CTL3_OFFSET 0x18
#define P7IOC_HSSn_CTL8_OFFSET 0x40
#define P7IOC_HSSn_CTL9_OFFSET 0x48
#define P7IOC_HSSn_CTL10_OFFSET 0x50
#define P7IOC_HSSn_CTL11_OFFSET 0x58
#define P7IOC_HSSn_CTL12_OFFSET 0x60
#define P7IOC_HSSn_CTL13_OFFSET 0x68
#define P7IOC_HSSn_CTL14_OFFSET 0x70
#define P7IOC_HSSn_CTL15_OFFSET 0x78
#define P7IOC_HSSn_CTL16_OFFSET 0x80
#define P7IOC_HSSn_CTL17_OFFSET 0x88
#define P7IOC_HSSn_CTL18_OFFSET 0x90
#define P7IOC_HSSn_CTL19_OFFSET 0x98
#define P7IOC_HSSn_CTL20_OFFSET 0xa0
#define P7IOC_HSSn_CTL21_OFFSET 0xa8
#define P7IOC_HSSn_CTL22_OFFSET 0xb0
#define P7IOC_HSSn_CTL23_OFFSET 0xb8
/* CI Routing registers & helper macros */
#define P7IOC_CI_RMATC_REG(i) (0x3D0400ul + ((i) << 4))
#define P7IOC_CI_RMASK_REG(i) (0x3D0408ul + ((i) << 4))
#define P7IOC_CI_RMATC_PORT(n) PPC_BIT(n)
#define P7IOC_CI_RMATC_ADDR_VALID PPC_BIT(16)
#define P7IOC_CI_RMATC_BUID_VALID PPC_BIT(17)
#define P7IOC_CI_RMATC_TYPE_VALID PPC_BIT(18)
/* AIB Addresses are 48-bit, the top 32 are used in
* the routing tables, we thus shift by 16
*/
#define P7IOC_CI_RMATC_ENCODE_ADDR(addr) ((uint32_t)((addr) >> 16))
#define P7IOC_CI_RMATC_ENCODE_BUID(buid) ((uint32_t)((buid) << 20))
#define P7IOC_CI_RMATC_ENCODE_TYPE(type) ((uint32_t)(type))
/* CI port numbers */
#define P7IOC_CI_PHB_PORT(pnum) ((pnum) + 2)
#define P7IOC_CI_UPSTREAM_PORT 0
#define P7IOC_CI_RGC_PORT 1
/* Other random chip registers */
#define P7IOC_CHIP_FENCE_SHADOW 0x3ec010
#define P7IOC_CHIP_FENCE_WOF 0x3ec018
#define P7IOC_CCRR 0x3e1c00
/* CI registers */
#define P7IOC_CIn_BASE(n) (0x3d0000 | ((n) * 0x1000))
#define P7IOC_CIn_LEM_FIR(n) (P7IOC_CIn_BASE(n) + 0x200)
#define P7IOC_CIn_LEM_FIR_AND(n) (P7IOC_CIn_BASE(n) + 0x208)
#define P7IOC_CIn_LEM_FIR_OR(n) (P7IOC_CIn_BASE(n) + 0x210)
#define P7IOC_CIn_LEM_ERR_MASK(n) (P7IOC_CIn_BASE(n) + 0x218)
#define P7IOC_CIn_LEM_ERR_MASK_AND(n) (P7IOC_CIn_BASE(n) + 0x220)
#define P7IOC_CIn_LEM_ERR_MASK_OR(n) (P7IOC_CIn_BASE(n) + 0x228)
/*
* PHB registers
*/
/* PHB Fundamental register set A */
#define PHB_BUID 0x100
#define PHB_BUID_LSI PPC_BITMASK(7,15)
#define PHB_BUID_MSI PPC_BITMASK(23,31)
#define PHB_DMA_CHAN_STATUS 0x110
#define PHB_CPU_LOADSTORE_STATUS 0x120
#define PHB_CONFIG_DATA 0x130
#define PHB_LOCK0 0x138
#define PHB_CONFIG_ADDRESS 0x140
#define PHB_CA_ENABLE PPC_BIT(0)
#define PHB_CA_BUS PPC_BITMASK(4,11)
#define PHB_CA_DEV PPC_BITMASK(12,16)
#define PHB_CA_FUNC PPC_BITMASK(17,19)
#define PHB_CA_BDFN PPC_BITMASK(4,19) /* bus,dev,func */
#define PHB_CA_REG PPC_BITMASK(20,31)
#define PHB_LOCK1 0x148
#define PHB_PHB2_CONFIG 0x160
#define PHB_PHB2C_64B_TCE_EN PPC_BIT(2)
#define PHB_PHB2C_32BIT_MSI_EN PPC_BIT(8)
#define PHB_PHB2C_IO_EN PPC_BIT(12)
#define PHB_PHB2C_64BIT_MSI_EN PPC_BIT(14)
#define PHB_PHB2C_M32_EN PPC_BIT(16)
#define PHB_IO_BASE_ADDR 0x170
#define PHB_IO_BASE_MASK 0x178
#define PHB_IO_START_ADDR 0x180
#define PHB_M32_BASE_ADDR 0x190
#define PHB_M32_BASE_MASK 0x198
#define PHB_M32_START_ADDR 0x1a0
#define PHB_M64_UPPER_BITS 0x1f0
#define PHB_TCE_KILL 0x210
#define PHB_TCEKILL_PAIR PPC_BIT(0)
#define PHB_TCEKILL_ADDR PPC_BITMASK(16,59)
#define PHB_TCE_PREFETCH 0x218
#define PHB_IODA_ADDR 0x220
#define PHB_IODA_AD_AUTOINC PPC_BIT(0)
#define PHB_IODA_AD_TSEL PPC_BITMASK(11,15)
#define PHB_IODA_AD_TADR PPC_BITMASK(48,63)
#define PHB_IODA_DATA0 0x228
#define PHB_IODA_DATA1 0x230
#define PHB_LOCK2 0x240
#define PHB_XIVE_UPDATE 0x248
#define PHB_PHB2_GEN_CAP 0x250
#define PHB_PHB2_TCE_CAP 0x258
#define PHB_PHB2_IRQ_CAP 0x260
#define PHB_PHB2_EEH_CAP 0x268
#define PHB_PAPR_ERR_INJ_CTL 0x2b0
#define PHB_PAPR_ERR_INJ_CTL_INB PPC_BIT(0)
#define PHB_PAPR_ERR_INJ_CTL_OUTB PPC_BIT(1)
#define PHB_PAPR_ERR_INJ_CTL_STICKY PPC_BIT(2)
#define PHB_PAPR_ERR_INJ_CTL_CFG PPC_BIT(3)
#define PHB_PAPR_ERR_INJ_CTL_RD PPC_BIT(4)
#define PHB_PAPR_ERR_INJ_CTL_WR PPC_BIT(5)
#define PHB_PAPR_ERR_INJ_CTL_FREEZE PPC_BIT(6)
#define PHB_PAPR_ERR_INJ_ADDR 0x2b8
#define PHB_PAPR_ERR_INJ_MASK 0x2c0
#define PHB_PAPR_ERR_INJ_MASK_CFG PPC_BITMASK(4,11)
#define PHB_PAPR_ERR_INJ_MASK_MMIO PPC_BITMASK(16,39) /* 16M aligned */
#define PHB_PAPR_ERR_INJ_MASK_IO PPC_BITMASK(16,47) /* 64K aligned */
#define PHB_PAPR_ERR_INJ_MASK_DMA PPC_BITMASK(60,63) /* 16 window */
#define PHB_ETU_ERR_SUMMARY 0x2c8
/* UTL registers */
#define UTL_SYS_BUS_CONTROL 0x400
#define UTL_STATUS 0x408
#define UTL_SYS_BUS_AGENT_STATUS 0x410
#define UTL_SYS_BUS_AGENT_ERR_SEVERITY 0x418
#define UTL_SYS_BUS_AGENT_IRQ_EN 0x420
#define UTL_SYS_BUS_BURST_SZ_CONF 0x440
#define UTL_REVISION_ID 0x448
#define UTL_OUT_POST_HDR_BUF_ALLOC 0x4c0
#define UTL_OUT_POST_DAT_BUF_ALLOC 0x4d0
#define UTL_IN_POST_HDR_BUF_ALLOC 0x4e0
#define UTL_IN_POST_DAT_BUF_ALLOC 0x4f0
#define UTL_OUT_NP_BUF_ALLOC 0x500
#define UTL_IN_NP_BUF_ALLOC 0x510
#define UTL_PCIE_TAGS_ALLOC 0x520
#define UTL_GBIF_READ_TAGS_ALLOC 0x530
#define UTL_PCIE_PORT_CONTROL 0x540
#define UTL_PCIE_PORT_STATUS 0x548
#define UTL_PCIE_PORT_ERROR_SEV 0x550
#define UTL_PCIE_PORT_IRQ_EN 0x558
#define UTL_RC_STATUS 0x560
#define UTL_RC_ERR_SEVERITY 0x568
#define UTL_RC_IRQ_EN 0x570
#define UTL_EP_STATUS 0x578
#define UTL_EP_ERR_SEVERITY 0x580
#define UTL_EP_ERR_IRQ_EN 0x588
#define UTL_PCI_PM_CTRL1 0x590
#define UTL_PCI_PM_CTRL2 0x598
#define UTL_GP_CTL1 0x5a0
#define UTL_GP_CTL2 0x5a8
/* PCI-E Stack registers */
#define PHB_PCIE_SYSTEM_CONFIG 0x600
#define PHB_PCIE_BUS_NUMBER 0x608
#define PHB_PCIE_SYSTEM_TEST 0x618
#define PHB_PCIE_LINK_MANAGEMENT 0x630
#define PHB_PCIE_DLP_TRAIN_CTL 0x640
#define PHB_PCIE_DLP_TCTX_DISABLE PPC_BIT(1)
#define PHB_PCIE_DLP_TCRX_DISABLED PPC_BIT(16)
#define PHB_PCIE_DLP_TC_DL_LINKUP PPC_BIT(21)
#define PHB_PCIE_DLP_TC_DL_PGRESET PPC_BIT(22)
#define PHB_PCIE_DLP_TC_DL_LINKACT PPC_BIT(23)
#define PHB_PCIE_SLOP_LOOPBACK_STATUS 0x648
#define PHB_PCIE_AER_CONTROL 0x650
#define PHB_PCIE_AUX_POWER_CONTROL 0x658
#define PHB_PCIE_SLOTCTL1 0x660
#define PHB_PCIE_SLOTCTL2 0x668
#define PHB_PCIE_SLOTCTL2_SLOTWAKE PPC_BIT(16)
#define PHB_PCIE_SLOTCTL2_PWR_EN_STAT PPC_BIT(17)
#define PHB_PCIE_SLOTCTL2_RCK_EN_STAT PPC_BIT(18)
#define PHB_PCIE_SLOTCTL2_PERST_STAT PPC_BIT(19)
#define PHB_PCIE_SLOTCTL2_PLED_S PPC_BITMASK(20,21) /* use PCIE_INDIC_* */
#define PHB_PCIE_SLOTCTL2_ALED_S PPC_BITMASK(22,23)
#define PHB_PCIE_SLOTCTL2_PRSTN_STAT PPC_BIT(24)
#define PHB_PCIE_SLOTCTL2_PWRFLT_STAT PPC_BIT(25)
#define PHB_PCIE_UTL_CONFIG 0x670
#define PHB_PCIE_DLP_CONTROL 0x678
#define PHB_PCIE_UTL_ERRLOG1 0x680
#define PHB_PCIE_UTL_ERRLOG2 0x688
#define PHB_PCIE_UTL_ERRLOG3 0x690
#define PHB_PCIE_UTL_ERRLOG4 0x698
#define PHB_PCIE_DLP_ERRLOG1 0x6a0
#define PHB_PCIE_DLP_ERRLOG2 0x6a8
#define PHB_PCIE_UTL_ERR_INJECT 0x6c0
#define PHB_PCIE_TLDLP_ERR_INJECT 0x6c8
#define PHB_PCIE_STRAPPING 0x700
/* Fundamental register set B */
#define PHB_VERSION 0x800
#define PHB_RESET 0x808
#define PHB_CONTROL 0x810
#define PHB_AIB_RX_CRED_INIT_TIMER 0x818
#define PHB_AIB_RX_CMD_CRED 0x820
#define PHB_AIB_RX_DATA_CRED 0x828
#define PHB_AIB_TX_CMD_CRED 0x830
#define PHB_AIB_TX_DATA_CRED 0x838
#define PHB_AIB_TX_CHAN_MAPPING 0x840
#define PHB_AIB_TX_CRED_SYNC_CTRL 0x848
#define PHB_LEGACY_CTRL 0x850
#define PHB_AIB_TAG_ENABLE 0x858
#define PHB_AIB_FENCE_CTRL 0x860
#define PHB_TCE_TAG_ENABLE 0x868
#define PHB_TCE_WATERMARK 0x870
#define PHB_TIMEOUT_CTRL1 0x878
#define PHB_TIMEOUT_CTRL2 0x880
#define PHB_QUIESCE_DMA_G 0x888
#define PHB_AIB_TAG_STATUS 0x900
#define PHB_TCE_TAG_STATUS 0x908
/* FIR & Error registers */
#define PHB_LEM_FIR_ACCUM 0xc00
#define PHB_LEM_FIR_AND_MASK 0xc08
#define PHB_LEM_FIR_OR_MASK 0xc10
#define PHB_LEM_ERROR_MASK 0xc18
#define PHB_LEM_ERROR_AND_MASK 0xc20
#define PHB_LEM_ERROR_OR_MASK 0xc28
#define PHB_LEM_ACTION0 0xc30
#define PHB_LEM_ACTION1 0xc38
#define PHB_LEM_WOF 0xc40
#define PHB_ERR_STATUS 0xc80
#define PHB_ERR1_STATUS 0xc88
#define PHB_ERR_INJECT 0xc90
#define PHB_ERR_LEM_ENABLE 0xc98
#define PHB_ERR_IRQ_ENABLE 0xca0
#define PHB_ERR_FREEZE_ENABLE 0xca8
#define PHB_ERR_AIB_FENCE_ENABLE 0xcb0
#define PHB_ERR_LOG_0 0xcc0
#define PHB_ERR_LOG_1 0xcc8
#define PHB_ERR_STATUS_MASK 0xcd0
#define PHB_ERR1_STATUS_MASK 0xcd8
#define PHB_OUT_ERR_STATUS 0xd00
#define PHB_OUT_ERR1_STATUS 0xd08
#define PHB_OUT_ERR_INJECT 0xd10
#define PHB_OUT_ERR_LEM_ENABLE 0xd18
#define PHB_OUT_ERR_IRQ_ENABLE 0xd20
#define PHB_OUT_ERR_FREEZE_ENABLE 0xd28
#define PHB_OUT_ERR_AIB_FENCE_ENABLE 0xd30
#define PHB_OUT_ERR_LOG_0 0xd40
#define PHB_OUT_ERR_LOG_1 0xd48
#define PHB_OUT_ERR_STATUS_MASK 0xd50
#define PHB_OUT_ERR1_STATUS_MASK 0xd58
#define PHB_INA_ERR_STATUS 0xd80
#define PHB_INA_ERR1_STATUS 0xd88
#define PHB_INA_ERR_INJECT 0xd90
#define PHB_INA_ERR_LEM_ENABLE 0xd98
#define PHB_INA_ERR_IRQ_ENABLE 0xda0
#define PHB_INA_ERR_FREEZE_ENABLE 0xda8
#define PHB_INA_ERR_AIB_FENCE_ENABLE 0xdb0
#define PHB_INA_ERR_LOG_0 0xdc0
#define PHB_INA_ERR_LOG_1 0xdc8
#define PHB_INA_ERR_STATUS_MASK 0xdd0
#define PHB_INA_ERR1_STATUS_MASK 0xdd8
#define PHB_INB_ERR_STATUS 0xe00
#define PHB_INB_ERR1_STATUS 0xe08
#define PHB_INB_ERR_INJECT 0xe10
#define PHB_INB_ERR_LEM_ENABLE 0xe18
#define PHB_INB_ERR_IRQ_ENABLE 0xe20
#define PHB_INB_ERR_FREEZE_ENABLE 0xe28
#define PHB_INB_ERR_AIB_FENCE_ENABLE 0xe30
#define PHB_INB_ERR_LOG_0 0xe40
#define PHB_INB_ERR_LOG_1 0xe48
#define PHB_INB_ERR_STATUS_MASK 0xe50
#define PHB_INB_ERR1_STATUS_MASK 0xe58
/* Performance monitor & Debug registers */
#define PHB_TRACE_CONTROL 0xf80
#define PHB_PERFMON_CONFIG 0xf88
#define PHB_PERFMON_CTR0 0xf90
#define PHB_PERFMON_CTR1 0xf98
#define PHB_PERFMON_CTR2 0xfa0
#define PHB_PERFMON_CTR3 0xfa8
#define PHB_HOTPLUG_OVERRIDE 0xfb0
/*
* IODA tables
*/
#define IODA_TBL_HRT 0
#define IODA_TBL_LIST 1
#define IODA_TBL_LXIVT 2
#define IODA_TBL_MIST 3
#define IODA_TBL_MXIVT 4
#define IODA_TBL_MVT 5
#define IODA_TBL_PELTM 6
#define IODA_TBL_PESTA 7
#define IODA_TBL_PESTB 8
#define IODA_TBL_TVT 9
#define IODA_TBL_TCAM 10
#define IODA_TBL_TDR 11
#define IODA_TBL_PELTV 12
#define IODA_TBL_M64BT 16
#define IODA_TBL_IODT 17
#define IODA_TBL_M32DT 18
#define IODA_TBL_M64DT 19
#define IODA_TBL_PEEV 20
/* L/M XIVT */
#define IODA_XIVT_SERVER PPC_BITMASK(8,23)
#define IODA_XIVT_PRIORITY PPC_BITMASK(24,31)
#define IODA_XIVT_PENUM PPC_BITMASK(41,47)
#define IODA_XIVT_HUBNUM PPC_BITMASK(58,59)
/* M64BT */
#define IODA_M64BT_ENABLE PPC_BIT(0)
#define IODA_M64BT_BASE PPC_BITMASK(8,31)
#define IODA_M64BT_MASK PPC_BITMASK(40,63)
/* IODT/M32DT/M64DX */
#define IODA_XXDT_PE PPC_BITMASK(0,6)
/* PELTM */
#define IODA_PELTM_BUS PPC_BITMASK(0,7)
#define IODA_PELTM_DEV PPC_BITMASK(8,12)
#define IODA_PELTM_FUNC PPC_BITMASK(13,15)
#define IODA_PELTM_BUS_VALID PPC_BITMASK(16,18)
#define IODA_BUS_VALID_ANY 0
#define IODA_BUS_VALID_3_BITS 2
#define IODA_BUS_VALID_4_BITS 3
#define IODA_BUS_VALID_5_BITS 4
#define IODA_BUS_VALID_6_BITS 5
#define IODA_BUS_VALID_7_BITS 6
#define IODA_BUS_VALID_ALL 7
#define IODA_PELTM_DEV_VALID PPC_BIT(19)
#define IODA_PELTM_FUNC_VALID PPC_BIT(20)
/* TVT */
#define IODA_TVT0_TABLE_ADDR PPC_BITMASK(0,47)
#define IODA_TVT0_BUS_VALID PPC_BITMASK(48,50)
#define IODA_TVT0_TCE_TABLE_SIZE PPC_BITMASK(51,55)
#define IODA_TVT0_BUS_NUM PPC_BITMASK(56,63)
#define IODA_TVT1_DEV_VALID PPC_BIT(2)
#define IODA_TVT1_DEV_NUM PPC_BITMASK(3,7)
#define IODA_TVT1_HUB_NUM PPC_BITMASK(10,11)
#define IODA_TVT1_FUNC_VALID PPC_BIT(12)
#define IODA_TVT1_FUNC_NUM PPC_BITMASK(13,15)
#define IODA_TVT1_IO_PSIZE PPC_BITMASK(19,23)
#define IODA_TVT1_PE_NUM PPC_BITMASK(57,63)
/* MVT */
#define IODA_MVT_VALID PPC_BIT(0)
#define IODA_MVT_BUS_VALID PPC_BITMASK(21,23)
#define IODA_MVT_BUS_NUM PPC_BITMASK(24,31)
#define IODA_MVT_PE_NUM PPC_BITMASK(41,47)
#define IODA_MVT_DEV_VALID PPC_BIT(50)
#define IODA_MVT_DEV_NUM PPC_BITMASK(51,55)
#define IODA_MVT_FUNC_VALID PPC_BIT(60)
#define IODA_MVT_FUNC_NUM PPC_BITMASK(61,63)
/* PESTA */
#define IODA_PESTA_MMIO_FROZEN PPC_BIT(0)
#define IODA_PESTA_MMIO_CAUSE PPC_BIT(2)
#define IODA_PESTA_CFG_READ PPC_BIT(3)
#define IODA_PESTA_CFG_WRITE PPC_BIT(4)
#define IODA_PESTA_TTYPE PPC_BITMASK(5,7)
#define PESTA_TTYPE_DMA_WRITE 0
#define PESTA_TTYPE_MSI 1
#define PESTA_TTYPE_DMA_READ 2
#define PESTA_TTYPE_DMA_READ_RESP 3
#define PESTA_TTYPE_MMIO_LOAD 4
#define PESTA_TTYPE_MMIO_STORE 5
#define PESTA_TTYPE_OTHER 7
#define IODA_PESTA_CA_RETURN PPC_BIT(8)
#define IODA_PESTA_UTL_RTOS_TIMEOUT PPC_BIT(8) /* Same bit as CA return */
#define IODA_PESTA_UR_RETURN PPC_BIT(9)
#define IODA_PESTA_UTL_NONFATAL PPC_BIT(10)
#define IODA_PESTA_UTL_FATAL PPC_BIT(11)
#define IODA_PESTA_TAG_REUSE_ERROR PPC_BIT(12)
#define IODA_PESTA_PARITY_UE PPC_BIT(13)
#define IODA_PESTA_UTL_CORRECTABLE PPC_BIT(14)
#define IODA_PESTA_UTL_INTERRUPT PPC_BIT(15)
#define IODA_PESTA_MMIO_XLATE PPC_BIT(16)
#define IODA_PESTA_IODA_ERROR PPC_BIT(16) /* Same bit as MMIO xlate */
#define IODA_PESTA_TVT_EXT_ERROR PPC_BIT(17)
#define IODA_PESTA_TCE_PAGE_FAULT PPC_BIT(18)
#define IODA_PESTA_TCE_ACCESS_FAULT PPC_BIT(19)
#define IODA_PESTA_DMA_RESP_TIMEOUT PPC_BIT(20)
#define IODA_PESTA_AIB_SIZE_INVALID PPC_BIT(21)
#define IODA_PESTA_LEM_BIT PPC_BITMASK(26,31)
#define IODA_PESTA_RID PPC_BITMASK(32,47)
#define IODA_PESTA_MSI_DATA PPC_BITMASK(48,63)
/* PESTB */
#define IODA_PESTB_DMA_STOPPED PPC_BIT(0)
#define IODA_PESTB_FAIL_ADDR PPC_BITMASK(3,63)
#endif /* __P7IOC_REGS_H */