static void __init mb448_init_irq(void)
{
	/* enable individual interrupt mode for externals */
	plat_irq_setup_pins(IRQ_MODE_IRQ);

	/* Set the ILC to route external interrupts to the the INTC */
	/* Outputs 0-3 are the interrupt pins, 4-7 are routed to the INTC */
	ilc_route_external(ILC_EXT_MDINT, 4, 1);	/* STe100 PHY */
	ilc_route_external(ILC_EXT_IRQ1, 5, 0);		/* VoIP */
	ilc_route_external(ILC_EXT_IRQ2, 6, 0);		/* ATA */
	ilc_route_external(ILC_EXT_IRQ3, 7, 0);		/* SMC Ethernet */
}
static void __init mb442_init_irq(void)
{
	/* enable individual interrupt mode for externals */
	plat_irq_setup_pins(IRQ_MODE_IRQ);

	/* Set the ILC to route external interrupts to the the INTC */
	/* Outputs 0-3 are the interrupt pins, 4-7 are routed to the INTC */
	/* Inputs sys-irq2 and 3 are unused (pulled high) */
	ilc_route_external(ILC_EXT_IRQ0, 4, 0);		/* SMC Ethernet */
	ilc_route_external(ILC_EXT_IRQ1, 5, 0);		/* ATA */
	ilc_route_external(ILC_EXT_IRQ2, 6, 0);		/* Unused */
	ilc_route_external(ILC_EXT_MDINT, 7, 0);	/* STe100 PHY */
}
static int ilc_sysdev_suspend(struct sys_device *dev, pm_message_t state)
{
	int idx;
	static pm_message_t prev_state;

	if (state.event == PM_EVENT_ON &&
	    prev_state.event == PM_EVENT_FREEZE) /* Resuming from hibernation*/
		  for (idx = 0; idx < ARRAY_SIZE(ilc_log); ++idx)
			ilc_route_external(ilc_log[idx].ilc_irq,
					   ilc_log[idx].ext_out,
					   ilc_log[idx].invert);
	prev_state = state;
	return 0;
}