config PLAT_USRV
        bool "uServer"
+       select PLAT_HAS_INT1ICU
 
 config PLAT_M32700UT
        bool "M32700UT"
+       select PLAT_HAS_INT0ICU
+       select PLAT_HAS_INT1ICU
+       select PLAT_HAS_INT2ICU
        help
          The M3T-M32700UT is an evaluation board based on uT-Engine
          specification.  This board has an M32700 (Chaos) evaluation chip.
 
 config PLAT_OPSPUT
        bool "OPSPUT"
+       select PLAT_HAS_INT0ICU
+       select PLAT_HAS_INT1ICU
+       select PLAT_HAS_INT2ICU
        help
          The OPSPUT is an evaluation board based on uT-Engine
          specification.  This board has a OPSP-REP chip.
 
 config PLAT_M32104UT
        bool "M32104UT"
+       select PLAT_HAS_INT1ICU
        help
          The M3T-M32104UT is an reference board based on uT-Engine
          specification.  This board has a M32104 chip.
        depends on CHIP_M32700 || CHIP_OPSP
        default y
 
+config PLAT_HAS_INT0ICU
+       bool
+       default n
+
+config PLAT_HAS_INT1ICU
+       bool
+       default n
+
+config PLAT_HAS_INT2ICU
+       bool
+       default n
+
 config BUS_CLOCK
        int "Bus Clock [Hz] (integer)"
        default "70000000" if PLAT_MAPPI
 
 #include <asm/m32700ut/m32700ut_pld.h>
 #include <asm/m32700ut/m32700ut_lan.h>
 #include <asm/m32700ut/m32700ut_lcd.h>
+/* for ei_handler:linux/arch/m32r/kernel/entry.S */
+#define M32R_INT1ICU_ISTS      PLD_ICUISTS
+#define M32R_INT1ICU_IRQ_BASE  M32700UT_PLD_IRQ_BASE
+#define M32R_INT0ICU_ISTS      M32700UT_LAN_ICUISTS
+#define M32R_INT0ICU_IRQ_BASE  M32700UT_LAN_PLD_IRQ_BASE
+#define M32R_INT2ICU_ISTS      M32700UT_LCD_ICUISTS
+#define M32R_INT2ICU_IRQ_BASE  M32700UT_LCD_PLD_IRQ_BASE
 #endif  /* CONFIG_PLAT_M32700UT */
 
 #if defined(CONFIG_PLAT_OPSPUT)
 #include <asm/opsput/opsput_pld.h>
 #include <asm/opsput/opsput_lan.h>
 #include <asm/opsput/opsput_lcd.h>
+/* for ei_handler:linux/arch/m32r/kernel/entry.S */
+#define M32R_INT1ICU_ISTS      PLD_ICUISTS
+#define M32R_INT1ICU_IRQ_BASE  OPSPUT_PLD_IRQ_BASE
+#define M32R_INT0ICU_ISTS      OPSPUT_LAN_ICUISTS
+#define M32R_INT0ICU_IRQ_BASE  OPSPUT_LAN_PLD_IRQ_BASE
+#define M32R_INT2ICU_ISTS      OPSPUT_LCD_ICUISTS
+#define M32R_INT2ICU_IRQ_BASE  OPSPUT_LCD_PLD_IRQ_BASE
 #endif  /* CONFIG_PLAT_OPSPUT */
 
 #if defined(CONFIG_PLAT_MAPPI2)
 
 #if defined(CONFIG_PLAT_USRV)
 #include <asm/m32700ut/m32700ut_pld.h>
+/* for ei_handler:linux/arch/m32r/kernel/entry.S */
+#define M32R_INT1ICU_ISTS      PLD_ICUISTS
+#define M32R_INT1ICU_IRQ_BASE  M32700UT_PLD_IRQ_BASE
 #endif
 
 #if defined(CONFIG_PLAT_M32104UT)
 #include <asm/m32104ut/m32104ut_pld.h>
+/* for ei_handler:linux/arch/m32r/kernel/entry.S */
+#define M32R_INT1ICU_ISTS      PLD_ICUISTS
+#define M32R_INT1ICU_IRQ_BASE  M32104UT_PLD_IRQ_BASE
 #endif  /* CONFIG_PLAT_M32104 */
 
 /*