#ifndef IPU7_BUTTRESS_REGS_H
#define IPU7_BUTTRESS_REGS_H
#define BUTTRESS_REG_IRQ_STATUS 0x2000
#define BUTTRESS_REG_IRQ_STATUS_UNMASKED 0x2004
#define BUTTRESS_REG_IRQ_ENABLE 0x2008
#define BUTTRESS_REG_IRQ_CLEAR 0x200c
#define BUTTRESS_REG_IRQ_MASK 0x2010
#define BUTTRESS_REG_TSC_CMD 0x2014
#define BUTTRESS_REG_TSC_CTL 0x2018
#define BUTTRESS_REG_TSC_LO 0x201c
#define BUTTRESS_REG_TSC_HI 0x2020
#define BUTTRESS_REG_PB_TIMESTAMP_LO 0x2030
#define BUTTRESS_REG_PB_TIMESTAMP_HI 0x2034
#define BUTTRESS_REG_PB_TIMESTAMP_VALID 0x2038
#define BUTTRESS_REG_PS_WORKPOINT_REQ 0x2100
#define BUTTRESS_REG_IS_WORKPOINT_REQ 0x2104
#define BUTTRESS_REG_PS_WORKPOINT_DOMAIN_REQ 0x2108
#define BUTTRESS_REG_PS_DOMAINS_STATUS 0x2110
#define BUTTRESS_REG_PWR_STATUS 0x2114
#define BUTTRESS_REG_PS_WORKPOINT_REQ_SHADOW 0x2120
#define BUTTRESS_REG_IS_WORKPOINT_REQ_SHADOW 0x2124
#define BUTTRESS_REG_PS_WORKPOINT_DOMAIN_REQ_SHADOW 0x2128
#define BUTTRESS_REG_ISPS_WORKPOINT_DOWNLOAD 0x212c
#define BUTTRESS_REG_PG_FLOW_OVERRIDE 0x2180
#define BUTTRESS_REG_GLOBAL_OVERRIDE_UNGATE_CTL 0x2184
#define BUTTRESS_REG_PWR_FSM_CTL 0x2188
#define BUTTRESS_REG_IDLE_WDT 0x218c
#define BUTTRESS_REG_PS_PWR_DOMAIN_EVENTQ_EN 0x2190
#define BUTTRESS_REG_PS_PWR_DOMAIN_EVENTQ_ADDR 0x2194
#define BUTTRESS_REG_PS_PWR_DOMAIN_EVENTQ_DATA 0x2198
#define BUTTRESS_REG_POWER_EN_DELAY 0x219c
#define IPU7_BUTTRESS_REG_LTR_CONTROL 0x21a0
#define IPU7_BUTTRESS_REG_NDE_CONTROL 0x21a4
#define IPU7_BUTTRESS_REG_INT_FRM_PUNIT 0x21a8
#define IPU8_BUTTRESS_REG_LTR_CONTROL 0x21a4
#define IPU8_BUTTRESS_REG_NDE_CONTROL 0x21a8
#define IPU8_BUTTRESS_REG_INT_FRM_PUNIT 0x21ac
#define BUTTRESS_REG_SLEEP_LEVEL_CFG 0x21b0
#define BUTTRESS_REG_SLEEP_LEVEL_STS 0x21b4
#define BUTTRESS_REG_DVFS_FSM_STATUS 0x21b8
#define BUTTRESS_REG_PS_PLL_ENABLE 0x21bc
#define BUTTRESS_REG_D2D_CTL 0x21d4
#define BUTTRESS_REG_IB_CLK_CTL 0x21d8
#define BUTTRESS_REG_IB_CRO_CLK_CTL 0x21dc
#define BUTTRESS_REG_FUNC_FUSES 0x21e0
#define BUTTRESS_REG_ISOCH_CTL 0x21e4
#define BUTTRESS_REG_WORKPOINT_CTL 0x21f0
#define BUTTRESS_REG_DRV_IS_UCX_CONTROL_STATUS 0x2200
#define BUTTRESS_REG_DRV_IS_UCX_START_ADDR 0x2204
#define BUTTRESS_REG_DRV_PS_UCX_CONTROL_STATUS 0x2208
#define BUTTRESS_REG_DRV_PS_UCX_START_ADDR 0x220c
#define BUTTRESS_REG_DRV_UCX_RESET_CFG 0x2210
#define BUTTRESS_REG_CSE_IS_UCX_CONTROL_STATUS 0x2300
#define BUTTRESS_REG_CSE_IS_UCX_START_ADDR 0x2304
#define BUTTRESS_REG_CSE_PS_UCX_CONTROL_STATUS 0x2308
#define BUTTRESS_REG_CSE_PS_UCX_START_ADDR 0x230c
#define BUTTRESS_REG_CAMERA_MASK 0x2310
#define BUTTRESS_REG_FW_CTL 0x2314
#define BUTTRESS_REG_SECURITY_CTL 0x2318
#define BUTTRESS_REG_FUNCTIONAL_FW_SETUP 0x231c
#define BUTTRESS_REG_FW_BASE 0x2320
#define BUTTRESS_REG_FW_BASE_LIMIT 0x2324
#define BUTTRESS_REG_FW_SCRATCH_BASE 0x2328
#define BUTTRESS_REG_FW_SCRATCH_LIMIT 0x232c
#define BUTTRESS_REG_CSE_ACTION 0x2330
#define BUTTRESS_REG_FW_RESET_CTL 0x2334
#define BUTTRESS_REG_FW_SOURCE_SIZE 0x2338
#define BUTTRESS_REG_FW_SOURCE_BASE 0x233c
#define BUTTRESS_REG_IPU_SEC_CP_LSB 0x2400
#define BUTTRESS_REG_IPU_SEC_CP_MSB 0x2404
#define BUTTRESS_REG_IPU_SEC_WAC_LSB 0x2408
#define BUTTRESS_REG_IPU_SEC_WAC_MSB 0x240c
#define BUTTRESS_REG_IPU_SEC_RAC_LSB 0x2410
#define BUTTRESS_REG_IPU_SEC_RAC_MSB 0x2414
#define BUTTRESS_REG_IPU_DRV_CP_LSB 0x2418
#define BUTTRESS_REG_IPU_DRV_CP_MSB 0x241c
#define BUTTRESS_REG_IPU_DRV_WAC_LSB 0x2420
#define BUTTRESS_REG_IPU_DRV_WAC_MSB 0x2424
#define BUTTRESS_REG_IPU_DRV_RAC_LSB 0x2428
#define BUTTRESS_REG_IPU_DRV_RAC_MSB 0x242c
#define BUTTRESS_REG_IPU_FW_CP_LSB 0x2430
#define BUTTRESS_REG_IPU_FW_CP_MSB 0x2434
#define BUTTRESS_REG_IPU_FW_WAC_LSB 0x2438
#define BUTTRESS_REG_IPU_FW_WAC_MSB 0x243c
#define BUTTRESS_REG_IPU_FW_RAC_LSB 0x2440
#define BUTTRESS_REG_IPU_FW_RAC_MSB 0x2444
#define BUTTRESS_REG_IPU_BIOS_SEC_CP_LSB 0x2448
#define BUTTRESS_REG_IPU_BIOS_SEC_CP_MSB 0x244c
#define BUTTRESS_REG_IPU_BIOS_SEC_WAC_LSB 0x2450
#define BUTTRESS_REG_IPU_BIOS_SEC_WAC_MSB 0x2454
#define BUTTRESS_REG_IPU_BIOS_SEC_RAC_LSB 0x2458
#define BUTTRESS_REG_IPU_BIOS_SEC_RAC_MSB 0x245c
#define BUTTRESS_REG_IPU_DFD_CP_LSB 0x2460
#define BUTTRESS_REG_IPU_DFD_CP_MSB 0x2464
#define BUTTRESS_REG_IPU_DFD_WAC_LSB 0x2468
#define BUTTRESS_REG_IPU_DFD_WAC_MSB 0x246c
#define BUTTRESS_REG_IPU_DFD_RAC_LSB 0x2470
#define BUTTRESS_REG_IPU_DFD_RAC_MSB 0x2474
#define BUTTRESS_REG_CSE2IUDB0 0x2500
#define BUTTRESS_REG_CSE2IUDATA0 0x2504
#define BUTTRESS_REG_CSE2IUCSR 0x2508
#define BUTTRESS_REG_IU2CSEDB0 0x250c
#define BUTTRESS_REG_IU2CSEDATA0 0x2510
#define BUTTRESS_REG_IU2CSECSR 0x2514
#define BUTTRESS_REG_CSE2IUDB0_CR_SHADOW 0x2520
#define BUTTRESS_REG_CSE2IUDATA0_CR_SHADOW 0x2524
#define BUTTRESS_REG_CSE2IUCSR_CR_SHADOW 0x2528
#define BUTTRESS_REG_IU2CSEDB0_CR_SHADOW 0x252c
#define BUTTRESS_REG_DVFS_FSM_SURVIVABILITY 0x2900
#define BUTTRESS_REG_FLOWS_FSM_SURVIVABILITY 0x2904
#define BUTTRESS_REG_FABRICS_FSM_SURVIVABILITY 0x2908
#define BUTTRESS_REG_PS_SUB1_PM_FSM_SURVIVABILITY 0x290c
#define BUTTRESS_REG_PS_SUB0_PM_FSM_SURVIVABILITY 0x2910
#define BUTTRESS_REG_PS_PM_FSM_SURVIVABILITY 0x2914
#define BUTTRESS_REG_IS_PM_FSM_SURVIVABILITY 0x2918
#define BUTTRESS_REG_FLR_RST_FSM_SURVIVABILITY 0x291c
#define BUTTRESS_REG_FW_RST_FSM_SURVIVABILITY 0x2920
#define BUTTRESS_REG_RESETPREP_FSM_SURVIVABILITY 0x2924
#define BUTTRESS_REG_POWER_FSM_DOMAIN_STATUS 0x3000
#define BUTTRESS_REG_IDLEREQ_STATUS1 0x3004
#define BUTTRESS_REG_POWER_FSM_STATUS_IS_PS 0x3008
#define BUTTRESS_REG_POWER_ACK_B_STATUS 0x300c
#define BUTTRESS_REG_DOMAIN_RETENTION_CTL 0x3010
#define BUTTRESS_REG_CG_CTRL_BITS 0x3014
#define BUTTRESS_REG_IS_IFC_STATUS0 0x3018
#define BUTTRESS_REG_IS_IFC_STATUS1 0x301c
#define BUTTRESS_REG_PS_IFC_STATUS0 0x3020
#define BUTTRESS_REG_PS_IFC_STATUS1 0x3024
#define BUTTRESS_REG_BTRS_IFC_STATUS0 0x3028
#define BUTTRESS_REG_BTRS_IFC_STATUS1 0x302c
#define BUTTRESS_REG_IPU_SKU 0x3030
#define BUTTRESS_REG_PS_IDLEACK 0x3034
#define BUTTRESS_REG_IS_IDLEACK 0x3038
#define BUTTRESS_REG_SPARE_REGS_0 0x303c
#define BUTTRESS_REG_SPARE_REGS_1 0x3040
#define BUTTRESS_REG_SPARE_REGS_2 0x3044
#define BUTTRESS_REG_SPARE_REGS_3 0x3048
#define BUTTRESS_REG_IUNIT_ACV 0x304c
#define BUTTRESS_REG_CHICKEN_BITS 0x3050
#define BUTTRESS_REG_SBENDPOINT_CFG 0x3054
#define BUTTRESS_REG_ECC_ERR_LOG 0x3058
#define BUTTRESS_REG_POWER_FSM_STATUS 0x3070
#define BUTTRESS_REG_RESET_FSM_STATUS 0x3074
#define BUTTRESS_REG_IDLE_STATUS 0x3078
#define BUTTRESS_REG_IDLEACK_STATUS 0x307c
#define BUTTRESS_REG_IPU_DEBUG 0x3080
#define BUTTRESS_REG_FW_BOOT_PARAMS0 0x4000
#define BUTTRESS_REG_FW_BOOT_PARAMS1 0x4004
#define BUTTRESS_REG_FW_BOOT_PARAMS2 0x4008
#define BUTTRESS_REG_FW_BOOT_PARAMS3 0x400c
#define BUTTRESS_REG_FW_BOOT_PARAMS4 0x4010
#define BUTTRESS_REG_FW_BOOT_PARAMS5 0x4014
#define BUTTRESS_REG_FW_BOOT_PARAMS6 0x4018
#define BUTTRESS_REG_FW_BOOT_PARAMS7 0x401c
#define BUTTRESS_REG_FW_BOOT_PARAMS8 0x4020
#define BUTTRESS_REG_FW_BOOT_PARAMS9 0x4024
#define BUTTRESS_REG_FW_BOOT_PARAMS10 0x4028
#define BUTTRESS_REG_FW_BOOT_PARAMS11 0x402c
#define BUTTRESS_REG_FW_BOOT_PARAMS12 0x4030
#define BUTTRESS_REG_FW_BOOT_PARAMS13 0x4034
#define BUTTRESS_REG_FW_BOOT_PARAMS14 0x4038
#define BUTTRESS_REG_FW_BOOT_PARAMS15 0x403c
#define BUTTRESS_FW_BOOT_PARAMS_ENTRY(i) \
(BUTTRESS_REG_FW_BOOT_PARAMS0 + ((i) * 4U))
#define BUTTRESS_REG_FW_GP(i) (0x4040 + 0x4 * (i))
#define BUTTRESS_REG_FPGA_SUPPORT(i) (0x40c0 + 0x4 * (i))
#define BUTTRESS_REG_FW_GP8 0x4060
#define BUTTRESS_REG_FW_GP24 0x40a0
#define BUTTRESS_REG_GPIO_0_PADCFG_ADDR_CR 0x4100
#define BUTTRESS_REG_GPIO_1_PADCFG_ADDR_CR 0x4104
#define BUTTRESS_REG_GPIO_2_PADCFG_ADDR_CR 0x4108
#define BUTTRESS_REG_GPIO_3_PADCFG_ADDR_CR 0x410c
#define BUTTRESS_REG_GPIO_4_PADCFG_ADDR_CR 0x4110
#define BUTTRESS_REG_GPIO_5_PADCFG_ADDR_CR 0x4114
#define BUTTRESS_REG_GPIO_6_PADCFG_ADDR_CR 0x4118
#define BUTTRESS_REG_GPIO_7_PADCFG_ADDR_CR 0x411c
#define BUTTRESS_REG_GPIO_ENABLE 0x4140
#define BUTTRESS_REG_GPIO_VALUE_CR 0x4144
#define BUTTRESS_REG_IS_MEM_CORRECTABLE_ERROR_STATUS 0x5000
#define BUTTRESS_REG_IS_MEM_FATAL_ERROR_STATUS 0x5004
#define BUTTRESS_REG_IS_MEM_NON_FATAL_ERROR_STATUS 0x5008
#define BUTTRESS_REG_IS_MEM_CHECK_PASSED 0x500c
#define BUTTRESS_REG_IS_MEM_ERROR_INJECT 0x5010
#define BUTTRESS_REG_IS_MEM_ERROR_CLEAR 0x5014
#define BUTTRESS_REG_PS_MEM_CORRECTABLE_ERROR_STATUS 0x5040
#define BUTTRESS_REG_PS_MEM_FATAL_ERROR_STATUS 0x5044
#define BUTTRESS_REG_PS_MEM_NON_FATAL_ERROR_STATUS 0x5048
#define BUTTRESS_REG_PS_MEM_CHECK_PASSED 0x504c
#define BUTTRESS_REG_PS_MEM_ERROR_INJECT 0x5050
#define BUTTRESS_REG_PS_MEM_ERROR_CLEAR 0x5054
#define BUTTRESS_REG_IS_AB_REGION_MIN_ADDRESS(i) (0x6000 + 0x8 * (i))
#define BUTTRESS_REG_IS_AB_REGION_MAX_ADDRESS(i) (0x6004 + 0x8 * (i))
#define BUTTRESS_REG_IS_AB_VIOLATION_LOG0 0x6080
#define BUTTRESS_REG_IS_AB_VIOLATION_LOG1 0x6084
#define BUTTRESS_REG_PS_AB_REGION_MIN_ADDRESS(i) (0x6100 + 0x8 * (i))
#define BUTTRESS_REG_PS_AB_REGION_MAX_ADDRESS0 (0x6104 + 0x8 * (i))
#define BUTTRESS_REG_PS_AB_VIOLATION_LOG0 0x6180
#define BUTTRESS_REG_PS_AB_VIOLATION_LOG1 0x6184
#define BUTTRESS_REG_PS_DEBUG_AB_VIOLATION_LOG0 0x6200
#define BUTTRESS_REG_PS_DEBUG_AB_VIOLATION_LOG1 0x6204
#define BUTTRESS_REG_IS_DEBUG_AB_VIOLATION_LOG0 0x6208
#define BUTTRESS_REG_IS_DEBUG_AB_VIOLATION_LOG1 0x620c
#define BUTTRESS_REG_IB_DVP_AB_VIOLATION_LOG0 0x6210
#define BUTTRESS_REG_IB_DVP_AB_VIOLATION_LOG1 0x6214
#define BUTTRESS_REG_IB_ATB2DTF_AB_VIOLATION_LOG0 0x6218
#define BUTTRESS_REG_IB_ATB2DTF_AB_VIOLATION_LOG1 0x621c
#define BUTTRESS_REG_AB_ENABLE 0x6220
#define BUTTRESS_REG_AB_DEFAULT_ACCESS 0x6230
#define BUTTRESS_IRQ_IPC_EXEC_DONE_BY_CSE BIT(0)
#define BUTTRESS_IRQ_IPC_FROM_CSE_IS_WAITING BIT(1)
#define BUTTRESS_IRQ_CSE_CSR_SET BIT(2)
#define BUTTRESS_IRQ_PUNIT_2_IUNIT_IRQ BIT(3)
#define BUTTRESS_IRQ_SAI_VIOLATION BIT(4)
#define BUTTRESS_IRQ_IS_AB_VIOLATION BIT(5)
#define BUTTRESS_IRQ_PS_AB_VIOLATION BIT(6)
#define BUTTRESS_IRQ_IB_CFG_NOC_ERR_IRQ BIT(7)
#define BUTTRESS_IRQ_IB_DATA_NOC_ERR_IRQ BIT(8)
#define BUTTRESS_IRQ_IB_DVP_AB_VIOLATION BIT(9)
#define BUTTRESS_IRQ_ATB2DTF_AB_VIOLATION BIT(10)
#define BUTTRESS_IRQ_IS_DEBUG_AB_VIOLATION BIT(11)
#define BUTTRESS_IRQ_PS_DEBUG_AB_VIOLATION BIT(12)
#define BUTTRESS_IRQ_IB_CFG_NOC_TIMEOUT_IRQ BIT(13)
#define BUTTRESS_IRQ_ECC_CORRECTABLE BIT(14)
#define BUTTRESS_IRQ_ECC_NONCORRECTABLE_NONFATAL BIT(15)
#define BUTTRESS_IRQ_ECC_NONCORRECTABLE_FATAL BIT(16)
#define BUTTRESS_IRQ_IS_CFG_NOC_TIMEOUT_IRQ BIT(17)
#define BUTTRESS_IRQ_PS_CFG_NOC_TIMEOUT_IRQ BIT(18)
#define BUTTRESS_IRQ_LB_CFG_NOC_TIMEOUT_IRQ BIT(19)
#define BUTTRESS_IRQ_IS_UC_PFATAL_ERROR BIT(26)
#define BUTTRESS_IRQ_PS_UC_PFATAL_ERROR BIT(27)
#define BUTTRESS_IRQ_IS_WATCHDOG BIT(28)
#define BUTTRESS_IRQ_PS_WATCHDOG BIT(29)
#define BUTTRESS_IRQ_IS_IRQ BIT(30)
#define BUTTRESS_IRQ_PS_IRQ BIT(31)
#define BUTTRESS_PWR_STATUS_HH_STATE_IDLE 0U
#define BUTTRESS_PWR_STATUS_HH_STATE_IN_PRGS 1U
#define BUTTRESS_PWR_STATUS_HH_STATE_DONE 2U
#define BUTTRESS_PWR_STATUS_HH_STATE_ERR 3U
#define BUTTRESS_TSC_CMD_START_TSC_SYNC BIT(0)
#define BUTTRESS_PWR_STATUS_HH_STATUS_SHIFT 11
#define BUTTRESS_PWR_STATUS_HH_STATUS_MASK (0x3 << 11)
#define BUTTRESS_TSW_WA_SOFT_RESET BIT(8)
#define BUTTRESS_SEL_PB_TIMESTAMP BIT(9)
#define BUTTRESS_IRQS (BUTTRESS_IRQ_IS_IRQ | \
BUTTRESS_IRQ_PS_IRQ | \
BUTTRESS_IRQ_IPC_FROM_CSE_IS_WAITING | \
BUTTRESS_IRQ_CSE_CSR_SET | \
BUTTRESS_IRQ_IPC_EXEC_DONE_BY_CSE | \
BUTTRESS_IRQ_PUNIT_2_IUNIT_IRQ)
#define BUTTRESS_IU2CSEDB0_BUSY BIT(31)
#define BUTTRESS_IU2CSEDB0_SHORT_FORMAT_SHIFT 27
#define BUTTRESS_IU2CSEDB0_CLIENT_ID_SHIFT 10
#define BUTTRESS_IU2CSEDB0_IPC_CLIENT_ID_VAL 2
#define BUTTRESS_IU2CSEDATA0_IPC_BOOT_LOAD 1
#define BUTTRESS_IU2CSEDATA0_IPC_AUTH_RUN 2
#define BUTTRESS_IU2CSEDATA0_IPC_AUTH_REPLACE 3
#define BUTTRESS_IU2CSEDATA0_IPC_UPDATE_SECURE_TOUCH 16
#define BUTTRESS_CSE2IUDATA0_IPC_BOOT_LOAD_DONE BIT(0)
#define BUTTRESS_CSE2IUDATA0_IPC_AUTH_RUN_DONE BIT(1)
#define BUTTRESS_CSE2IUDATA0_IPC_AUTH_REPLACE_DONE BIT(2)
#define BUTTRESS_CSE2IUDATA0_IPC_UPDATE_SECURE_TOUCH_DONE BIT(4)
#define BUTTRESS_IU2CSECSR_IPC_PEER_COMP_ACTIONS_RST_PHASE1 BIT(0)
#define BUTTRESS_IU2CSECSR_IPC_PEER_COMP_ACTIONS_RST_PHASE2 BIT(1)
#define BUTTRESS_IU2CSECSR_IPC_PEER_QUERIED_IP_COMP_ACTIONS_RST_PHASE BIT(2)
#define BUTTRESS_IU2CSECSR_IPC_PEER_ASSERTED_REG_VALID_REQ BIT(3)
#define BUTTRESS_IU2CSECSR_IPC_PEER_ACKED_REG_VALID BIT(4)
#define BUTTRESS_IU2CSECSR_IPC_PEER_DEASSERTED_REG_VALID_REQ BIT(5)
#define BUTTRESS_CSE2IUDATA0_IPC_NACK 0xf20
#define BUTTRESS_CSE2IUDATA0_IPC_NACK_MASK 0xffff
#define BUTTRESS_IS_FREQ_CTL_RATIO_MASK 0xff
#define BUTTRESS_PS_FREQ_CTL_RATIO_MASK 0xff
#define IPU7_IS_FREQ_MAX 450
#define IPU7_IS_FREQ_MIN 50
#define IPU7_PS_FREQ_MAX 750
#define BUTTRESS_PS_FREQ_RATIO_STEP 25U
#define BUTTRESS_IS_FREQ_RATIO_STEP 25U
#define IPU7_IS_FREQ_CTL_DEFAULT_RATIO 0x1b
#define IPU7_PS_FREQ_CTL_DEFAULT_RATIO 0x14
#define IPU8_IS_FREQ_CTL_DEFAULT_RATIO 0x10
#define IPU8_PS_FREQ_CTL_DEFAULT_RATIO 0x10
#define IPU_FREQ_CTL_CDYN 0x80
#define IPU_FREQ_CTL_RATIO_SHIFT 0x0
#define IPU_FREQ_CTL_CDYN_SHIFT 0x8
#define IPU_BUTTRESS_PWR_STATE_IS_PWR_SHIFT 0
#define IPU_BUTTRESS_PWR_STATE_IS_PWR_MASK \
(0x3 << IPU_BUTTRESS_PWR_STATE_IS_PWR_SHIFT)
#define IPU_BUTTRESS_PWR_STATE_PS_PWR_SHIFT 4
#define IPU_BUTTRESS_PWR_STATE_PS_PWR_MASK \
(0x3 << IPU_BUTTRESS_PWR_STATE_PS_PWR_SHIFT)
#define IPU_BUTTRESS_PWR_STATE_DN_DONE 0x0
#define IPU_BUTTRESS_PWR_STATE_UP_PROCESS 0x1
#define IPU_BUTTRESS_PWR_STATE_DN_PROCESS 0x2
#define IPU_BUTTRESS_PWR_STATE_UP_DONE 0x3
#define BUTTRESS_PWR_STATE_IS_PWR_SHIFT 3
#define BUTTRESS_PWR_STATE_IS_PWR_MASK (0x3 << 3)
#define BUTTRESS_PWR_STATE_PS_PWR_SHIFT 6
#define BUTTRESS_PWR_STATE_PS_PWR_MASK (0x3 << 6)
#define PS_FSM_CG BIT(3)
#define BUTTRESS_OVERRIDE_IS_CLK BIT(1)
#define BUTTRESS_OVERRIDE_PS_CLK BIT(2)
#define BUTTRESS_OWN_ACK_PS_PLL BIT(8)
#define BUTTRESS_OWN_ACK_IS_CLK BIT(9)
#define BUTTRESS_OWN_ACK_PS_CLK BIT(10)
#define BUTTRESS_FW_RESET_CTL_START BIT(0)
#define BUTTRESS_FW_RESET_CTL_DONE BIT(1)
#define BUTTRESS_SECURITY_CTL_FW_SECURE_MODE BIT(16)
#define BUTTRESS_SECURITY_CTL_FW_SETUP_MASK GENMASK(4, 0)
#define BUTTRESS_SECURITY_CTL_FW_SETUP_DONE BIT(0)
#define BUTTRESS_SECURITY_CTL_AUTH_DONE BIT(1)
#define BUTTRESS_SECURITY_CTL_AUTH_FAILED BIT(3)
#define BUTTRESS_D2D_PWR_EN BIT(0)
#define BUTTRESS_D2D_PWR_ACK BIT(4)
#define NDE_VAL_MASK GENMASK(9, 0)
#define NDE_SCALE_MASK GENMASK(12, 10)
#define NDE_VALID_MASK BIT(13)
#define NDE_RESVEC_MASK GENMASK(19, 16)
#define NDE_IN_VBLANK_DIS_MASK BIT(31)
#define BUTTRESS_NDE_VAL_ACTIVE 48
#define BUTTRESS_NDE_SCALE_ACTIVE 2
#define BUTTRESS_NDE_VALID_ACTIVE 1
#define BUTTRESS_NDE_VAL_DEFAULT 1023
#define BUTTRESS_NDE_SCALE_DEFAULT 2
#define BUTTRESS_NDE_VALID_DEFAULT 0
#define UCX_CTL_RESET BIT(0)
#define UCX_CTL_RUN BIT(1)
#define UCX_CTL_WAKEUP BIT(2)
#define UCX_CTL_SPARE GENMASK(7, 3)
#define UCX_STS_PWR GENMASK(17, 16)
#define UCX_STS_SLEEPING BIT(18)
#define PHY_CSI_CFG 0xc0
#define PHY_CSI_RCOMP_CONTROL 0xc8
#define PHY_CSI_BSCAN_EXCLUDE 0xd8
#define PHY_CPHY_DLL_OVRD(x) (0x100 + 0x100 * (x))
#define PHY_DPHY_DLL_OVRD(x) (0x14c + 0x100 * (x))
#define PHY_CPHY_RX_CONTROL1(x) (0x110 + 0x100 * (x))
#define PHY_CPHY_RX_CONTROL2(x) (0x114 + 0x100 * (x))
#define PHY_DPHY_CFG(x) (0x148 + 0x100 * (x))
#define PHY_BB_AFE_CONFIG(x) (0x174 + 0x100 * (x))
#define INTERRUPT_STATUS 0x0
#define BTRS_LOCAL_INTERRUPT_MASK 0x4
#define GLOBAL_INTERRUPT_MASK 0x8
#define HM_ATS 0xc
#define ATS_ERROR_LOG1 0x10
#define ATS_ERROR_LOG2 0x14
#define ATS_ERROR_CLEAR 0x18
#define CFI_0_ERROR_LOG 0x1c
#define CFI_0_ERROR_CLEAR 0x20
#define HASH_CONFIG 0x2c
#define TLBID_HASH_ENABLE_31_0 0x30
#define TLBID_HASH_ENABLE_63_32 0x34
#define TLBID_HASH_ENABLE_95_64 0x38
#define TLBID_HASH_ENABLE_127_96 0x3c
#define CFI_1_ERROR_LOGGING 0x40
#define CFI_1_ERROR_CLEAR 0x44
#define IMR_ERROR_LOGGING_LOW 0x48
#define IMR_ERROR_LOGGING_HIGH 0x4c
#define IMR_ERROR_CLEAR 0x50
#define PORT_ARBITRATION_WEIGHTS 0x54
#define IMR_ERROR_LOGGING_CFI_1_LOW 0x58
#define IMR_ERROR_LOGGING_CFI_1_HIGH 0x5c
#define IMR_ERROR_CLEAR_CFI_1 0x60
#define BAR2_MISC_CONFIG 0x64
#define RSP_ID_CONFIG_AXI2CFI_0 0x68
#define RSP_ID_CONFIG_AXI2CFI_1 0x6c
#define PB_DRIVER_PCODE_MAILBOX_STATUS 0x70
#define PB_DRIVER_PCODE_MAILBOX_INTERFACE 0x74
#define PORT_ARBITRATION_WEIGHTS_ATS 0x78
#endif