MSCIC_WRITE
MSCIC_WRITE(MSC01_IC_RST, MSC01_IC_RST_RST_BIT);
MSCIC_WRITE(MSC01_IC_SUP+n*8, MSC01_IC_SUP_EDGE_BIT);
MSCIC_WRITE(MSC01_IC_SUP+n*8, MSC01_IC_SUP_EDGE_BIT | imp->im_lvl);
MSCIC_WRITE(MSC01_IC_SUP+n*8, 0);
MSCIC_WRITE(MSC01_IC_SUP+n*8, imp->im_lvl);
MSCIC_WRITE(MSC01_IC_GENA, MSC01_IC_GENA_GENA_BIT); /* Enable interrupt generation */
MSCIC_WRITE(MSC01_IC_DISL, 1<<(irq - irq_base));
MSCIC_WRITE(MSC01_IC_DISH, 1<<(irq - irq_base - 32));
MSCIC_WRITE(MSC01_IC_ENAL, 1<<(irq - irq_base));
MSCIC_WRITE(MSC01_IC_ENAH, 1<<(irq - irq_base - 32));
MSCIC_WRITE(MSC01_IC_EOI, 0);
MSCIC_WRITE(MSC01_IC_EOI, 0);
MSCIC_WRITE(MSC01_IC_SUP+irq*8, r | ~MSC01_IC_SUP_EDGE_BIT);
MSCIC_WRITE(MSC01_IC_SUP+irq*8, r);
MSCIC_WRITE(MSC01_IC_RAMW,