#include "opt_vr41xx.h"
#include <hpcmips/vr/vrcpudef.h>
#define ICU_NO_REG_W 0xffffffff
#define SYSINT1_REG_W 0x000
#define MSYSINT1_REG_W 0x00c
#define SYSINT1_INT15 (1<<15)
#define SYSINT1_INT14 (1<<14)
#define SYSINT1_INT13 (1<<13)
#define SYSINT1_DOZEPIU (1<<13)
#define SYSINT1_INT12 (1<<12)
#define SYSINT1_CLKRUN (1<<12)
#define SYSINT1_INT11 (1<<11)
#define SYSINT1_SOFT (1<<11)
#define SYSINT1_INT10 (1<<10)
#define SYSINT1_WRBERR (1<<10)
#define SYSINT1_INT9 (1<<9)
#define SYSINT1_SIU (1<<9)
#define SYSINT1_INT8 (1<<8)
#define SYSINT1_GIU (1<<8)
#define SYSINT1_INT7 (1<<7)
#define SYSINT1_KIU (1<<7)
#define SYSINT1_INT6 (1<<6)
#define SYSINT1_AIU (1<<6)
#define SYSINT1_INT5 (1<<5)
#define SYSINT1_PIU (1<<5)
#define SYSINT1_INT4 (1<<4)
#define SYSINT1_INT3 (1<<3)
#define SYSINT1_ETIMER (1<<3)
#define SYSINT1_INT2 (1<<2)
#define SYSINT1_RTCL1 (1<<2)
#define SYSINT1_INT1 (1<<1)
#define SYSINT1_POWER (1<<1)
#define SYSINT1_INT0 (1<<0)
#define SYSINT1_BAT (1<<0)
#define ICUPIUINT_REG_W 0x002
#define MPIUINT_REG_W 0x00e
#define PIUINT_PADCMD (1<<6)
#define PIUINT_PADADP (1<<5)
#define PIUINT_PADPAGE1 (1<<4)
#define PIUINT_PADPAGE0 (1<<3)
#define PIUINT_PADLOST (1<<2)
#define PIUINT_PENCHG (1)
#define VR4102_AIUINT_REG_W 0x004
#define VR4102_MAIUINT_REG_W 0x010
#define VR4122_AIUINT_REG_W ICU_NO_REG_W
#define VR4122_MAIUINT_REG_W ICU_NO_REG_W
#define VR4181_AIUINT_REG_W 0x004
#define VR4181_MAIUINT_REG_W 0x010
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define AIUINT_REG_W VR4102_AIUINT_REG_W
#define MAIUINT_REG_W VR4102_MAIUINT_REG_W
#endif
#if defined VRGROUP_4122_4131
#define AIUINT_REG_W VR4122_AIUINT_REG_W
#define MAIUINT_REG_W VR4122_MAIUINT_REG_W
#endif
#if defined VRGROUP_4181
#define AIUINT_REG_W VR4181_AIUINT_REG_W
#define MAIUINT_REG_W VR4181_MAIUINT_REG_W
#endif
#endif
#define AIUINT_INTMEND (1<<11)
#define AIUINT_INTM (1<<10)
#define AIUINT_INTMIDLE (1<<9)
#define AIUINT_INTMST (1<<8)
#define AIUINT_INTSEND (1<<3)
#define AIUINT_INTS (1<<2)
#define AIUINT_INTSIDLE (1<<1)
#define VR4102_KIUINT_REG_W 0x006
#define VR4102_MKIUINT_REG_W 0x012
#define VR4122_KIUINT_REG_W ICU_NO_REG_W
#define VR4122_MKIUINT_REG_W ICU_NO_REG_W
#define VR4181_KIUINT_REG_W 0x118
#define VR4181_MKIUINT_REG_W 0x012
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define KIUINT_REG_W VR4102_KIUINT_REG_W
#define MKIUINT_REG_W VR4102_MKIUINT_REG_W
#endif
#if defined VRGROUP_4122_4131
#define KIUINT_REG_W VR4122_KIUINT_REG_W
#define MKIUINT_REG_W VR4122_MKIUINT_REG_W
#endif
#if defined VRGROUP_4181
#define KIUINT_REG_W VR4181_KIUINT_REG_W
#define MKIUINT_REG_W VR4181_MKIUINT_REG_W
#endif
#endif
#define KIUINT_KDATLOST (1<<2)
#define KIUINT_KDATRDY (1<<1)
#define KIUINT_SCANINT (1)
#define VR4102_GIUINT_L_REG_W 0x008
#define VR4102_MGIUINT_L_REG_W 0x014
#define VR4122_GIUINT_L_REG_W 0x008
#define VR4122_MGIUINT_L_REG_W 0x014
#define VR4181_GIUINT_L_REG_W ICU_NO_REG_W
#define VR4181_MGIUINT_L_REG_W ICU_NO_REG_W
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define GIUINT_L_REG_W VR4102_GIUINT_L_REG_W
#define MGIUINT_L_REG_W VR4102_MGIUINT_L_REG_W
#endif
#if defined VRGROUP_4122_4131
#define GIUINT_L_REG_W VR4122_GIUINT_L_REG_W
#define MGIUINT_L_REG_W VR4122_MGIUINT_L_REG_W
#endif
#if defined VRGROUP_4181
#define GIUINT_L_REG_W VR4181_GIUINT_L_REG_W
#define MGIUINT_L_REG_W VR4181_MGIUINT_L_REG_W
#endif
#endif
#define GIUINT_GPIO15 (1<<15)
#define GIUINT_GPIO14 (1<<14)
#define GIUINT_GPIO13 (1<<13)
#define GIUINT_GPIO12 (1<<12)
#define GIUINT_GPIO11 (1<<11)
#define GIUINT_GPIO10 (1<<10)
#define GIUINT_GPIO9 (1<<9)
#define GIUINT_GPIO8 (1<<8)
#define GIUINT_GPIO7 (1<<7)
#define GIUINT_GPIO6 (1<<6)
#define GIUINT_GPIO5 (1<<5)
#define GIUINT_GPIO4 (1<<4)
#define GIUINT_GPIO3 (1<<3)
#define GIUINT_GPIO2 (1<<2)
#define GIUINT_GPIO1 (1<<1)
#define GIUINT_GPIO0 (1)
#define VR4102_DSIUINT_REG_W 0x00a
#define VR4102_MDSIUINT_REG_W 0x016
#define VR4122_DSIUINT_REG_W 0x00a
#define VR4122_MDSIUINT_REG_W 0x016
#define VR4181_DSIUINT_REG_W ICU_NO_REG_W
#define VR4181_MDSIUINT_REG_W ICU_NO_REG_W
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define DSIUINT_REG_W VR4102_DSIUINT_REG_W
#define MDSIUINT_REG_W VR4102_MDSIUINT_REG_W
#endif
#if defined VRGROUP_4122_4131
#define DSIUINT_REG_W VR4122_DSIUINT_REG_W
#define MDSIUINT_REG_W VR4122_MDSIUINT_REG_W
#endif
#if defined VRGROUP_4181
#define DSIUINT_REG_W VR4181_DSIUINT_REG_W
#define MDSIUINT_REG_W VR4181_MDSIUINT_REG_W
#endif
#endif
#define DSIUINT_DCTS (1<<11)
#define DSIUINT_SER0 (1<<10)
#define DSIUINT_SR0 (1<<9)
#define DSIUINT_ST0 (1<<8)
#define NMI_REG_W 0x018
#define LOWBATT_NMIORINT (1)
#define LOWBATT_INT0 (1)
#define LOWBATT_NMI (0)
#define SOFTINT_REG_W 0x01a
#define SOFTINT_MASK3 (1<<3)
#define SOFTINT_SET3 (1<<3)
#define SOFTINT_CLEAR3 (0<<3)
#define SOFTINT_MASK2 (1<<2)
#define SOFTINT_SET2 (1<<2)
#define SOFTINT_CLEAR2 (0<<2)
#define SOFTINT_MASK1 (1<<1)
#define SOFTINT_SET1 (1<<1)
#define SOFTINT_CLEAR1 (0<<1)
#define SOFTINT_MASK0 (1)
#define SOFTINT_SET0 (1)
#define SOFTINT_CLEAR0 (0)
#define VR4102_SYSINT2_REG_W 0x180
#define VR4102_MSYSINT2_REG_W 0x186
#define VR4122_SYSINT2_REG_W 0x020
#define VR4122_MSYSINT2_REG_W 0x026
#define VR4181_SYSINT2_REG_W 0x180
#define VR4181_MSYSINT2_REG_W 0x186
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define SYSINT2_REG_W VR4102_SYSINT2_REG_W
#define MSYSINT2_REG_W VR4102_MSYSINT2_REG_W
#endif
#if defined VRGROUP_4122_4131
#define SYSINT2_REG_W VR4122_SYSINT2_REG_W
#define MSYSINT2_REG_W VR4122_MSYSINT2_REG_W
#endif
#if defined VRGROUP_4181
#define SYSINT2_REG_W VR4181_SYSINT2_REG_W
#define MSYSINT2_REG_W VR4181_MSYSINT2_REG_W
#endif
#endif
#define SYSINT2_INT31 (1<<15)
#define SYSINT2_INT30 (1<<14)
#define SYSINT2_INT29 (1<<13)
#define SYSINT2_INT28 (1<<12)
#define SYSINT2_INT27 (1<<11)
#define SYSINT2_INT26 (1<<10)
#define SYSINT2_INT25 (1<<9)
#define SYSINT2_BCU (1<<9)
#define SYSINT2_INT24 (1<<8)
#define SYSINT2_CSI (1<<8)
#define SYSINT2_INT23 (1<<7)
#define SYSINT2_SCU (1<<7)
#define SYSINT2_INT22 (1<<6)
#define SYSINT2_PCI (1<<6)
#define SYSINT2_LCD (1<<6)
#define SYSINT2_DSIU (1<<5)
#define SYSINT2_DCU81 (1<<5)
#define SYSINT2_FIR (1<<4)
#define SYSINT2_TCLK (1<<3)
#define SYSINT2_CSI81 (1<<3)
#define SYSINT2_HSP (1<<2)
#define SYSINT2_ECU (1<<2)
#define SYSINT2_LED (1<<1)
#define SYSINT2_RTCL2 (1<<0)
#define VR4102_GIUINT_H_REG_W 0x182
#define VR4102_MGIUINT_H_REG_W 0x188
#define VR4122_GIUINT_H_REG_W 0x022
#define VR4122_MGIUINT_H_REG_W 0x028
#define VR4181_GIUINT_H_REG_W ICU_NO_REG_W
#define VR4181_MGIUINT_H_REG_W ICU_NO_REG_W
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define GIUINT_H_REG_W VR4102_GIUINT_H_REG_W
#define MGIUINT_H_REG_W VR4102_MGIUINT_H_REG_W
#endif
#if defined VRGROUP_4122_4131
#define GIUINT_H_REG_W VR4122_GIUINT_H_REG_W
#define MGIUINT_H_REG_W VR4122_MGIUINT_H_REG_W
#endif
#if defined VRGROUP_4181
#define GIUINT_H_REG_W VR4181_GIUINT_H_REG_W
#define MGIUINT_H_REG_W VR4181_MGIUINT_H_REG_W
#endif
#endif
#define GIUINT_GPIO31 (1<<15)
#define GIUINT_GPIO30 (1<<14)
#define GIUINT_GPIO29 (1<<13)
#define GIUINT_GPIO28 (1<<12)
#define GIUINT_GPIO27 (1<<11)
#define GIUINT_GPIO26 (1<<10)
#define GIUINT_GPIO25 (1<<9)
#define GIUINT_GPIO24 (1<<8)
#define GIUINT_GPIO23 (1<<7)
#define GIUINT_GPIO22 (1<<6)
#define GIUINT_GPIO21 (1<<5)
#define GIUINT_GPIO20 (1<<4)
#define GIUINT_GPIO19 (1<<3)
#define GIUINT_GPIO18 (1<<2)
#define GIUINT_GPIO17 (1<<1)
#define GIUINT_GPIO16 (1)
#define VR4102_FIRINT_REG_W 0x184
#define VR4102_MFIRINT_REG_W 0x18a
#define VR4122_FIRINT_REG_W 0x024
#define VR4122_MFIRINT_REG_W 0x02a
#define VR4181_FIRINT_REG_W ICU_NO_REG_W
#define VR4181_MFIRINT_REG_W ICU_NO_REG_W
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define FIRINT_REG_W VR4102_FIRINT_REG_W
#define MFIRINT_REG_W VR4102_MFIRINT_REG_W
#endif
#if defined VRGROUP_4122_4131
#define FIRINT_REG_W VR4122_FIRINT_REG_W
#define MFIRINT_REG_W VR4122_MFIRINT_REG_W
#endif
#if defined VRGROUP_4181
#define FIRINT_REG_W VR4181_FIRINT_REG_W
#define MFIRINT_REG_W VR4181_MFIRINT_REG_W
#endif
#endif
#define FIRINT_FIR (1<<4)
#define FIRINT_RECV2 (1<<3)
#define FIRINT_TRNS2 (1<<2)
#define FIRINT_RECV1 (1<<1)
#define FIRINT_TRNS1 (1)
#define VR4102_PCIINT_REG_W ICU_NO_REG_W
#define VR4102_MPCIINT_REG_W ICU_NO_REG_W
#define VR4122_PCIINT_REG_W 0x2c
#define VR4122_MPCIINT_REG_W 0x32
#define VR4181_PCIINT_REG_W ICU_NO_REG_W
#define VR4181_MPCIINT_REG_W ICU_NO_REG_W
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define PCIINT_REG_W VR4102_PCIINT_REG_W
#define MPCIINT_REG_W VR4102_MPCIINT_REG_W
#endif
#if defined VRGROUP_4122_4131
#define PCIINT_REG_W VR4122_PCIINT_REG_W
#define MPCIINT_REG_W VR4122_MPCIINT_REG_W
#endif
#if defined VRGROUP_4181
#define PCIINT_REG_W VR4181_PCIINT_REG_W
#define MPCIINT_REG_W VR4181_MPCIINT_REG_W
#endif
#endif
#define PCIINT_INT0 (1)
#define VR4102_SCUINT_REG_W ICU_NO_REG_W
#define VR4102_MSCUINT_REG_W ICU_NO_REG_W
#define VR4122_SCUINT_REG_W 0x2e
#define VR4122_MSCUINT_REG_W 0x34
#define VR4181_SCUINT_REG_W ICU_NO_REG_W
#define VR4181_MSCUINT_REG_W ICU_NO_REG_W
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define SCUINT_REG_W VR4102_SCUINT_REG_W
#define MSCUINT_REG_W VR4102_MSCUINT_REG_W
#endif
#if defined VRGROUP_4122_4131
#define SCUINT_REG_W VR4122_SCUINT_REG_W
#define MSCUINT_REG_W VR4122_MSCUINT_REG_W
#endif
#if defined VRGROUP_4181
#define SCUINT_REG_W VR4181_SCUINT_REG_W
#define MSCUINT_REG_W VR4181_MSCUINT_REG_W
#endif
#endif
#define SCUINT_INT0 (1)
#define VR4102_CSIINT_REG_W ICU_NO_REG_W
#define VR4102_MCSIINT_REG_W ICU_NO_REG_W
#define VR4122_CSIINT_REG_W 0x30
#define VR4122_MCSIINT_REG_W 0x36
#define VR4181_CSIINT_REG_W ICU_NO_REG_W
#define VR4181_MCSIINT_REG_W ICU_NO_REG_W
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define CSIINT_REG_W VR4102_CSIINT_REG_W
#define MCSIINT_REG_W VR4102_MCSIINT_REG_W
#endif
#if defined VRGROUP_4122_4131
#define CSIINT_REG_W VR4122_CSIINT_REG_W
#define MCSIINT_REG_W VR4122_MCSIINT_REG_W
#endif
#if defined VRGROUP_4181
#define CSIINT_REG_W VR4181_CSIINT_REG_W
#define MCSIINT_REG_W VR4181_MCSIINT_REG_W
#endif
#endif
#define CSIINT_TRPAGE2 (1<<6)
#define CSIINT_TRPAGE1 (1<<5)
#define CSIINT_TREND (1<<4)
#define CSIINT_TREMPTY (1<<3)
#define CSIINT_RCPAGE2 (1<<2)
#define CSIINT_RCPAGE1 (1<<1)
#define CSIINT_RCOVER (1)
#define VR4102_BCUINT_REG_W ICU_NO_REG_W
#define VR4102_MBCUINT_REG_W ICU_NO_REG_W
#define VR4122_BCUINT_REG_W 0x38
#define VR4122_MBCUINT_REG_W 0x3a
#define VR4181_BCUINT_REG_W ICU_NO_REG_W
#define VR4181_MBCUINT_REG_W ICU_NO_REG_W
#if defined SINGLE_VRIP_BASE
#if defined VRGROUP_4102_4121
#define BCUINT_REG_W VR4102_BCUINT_REG_W
#define MBCUINT_REG_W VR4102_MBCUINT_REG_W
#endif
#if defined VRGROUP_4122_4131
#define BCUINT_REG_W VR4122_BCUINT_REG_W
#define MBCUINT_REG_W VR4122_MBCUINT_REG_W
#endif
#if defined VRGROUP_4181
#define BCUINT_REG_W VR4181_BCUINT_REG_W
#define MBCUINT_REG_W VR4181_MBCUINT_REG_W
#endif
#endif
#define BCUINT_INT (1)