mtdcr
mtdcr(DCRN_MAL0_CFG, MAL_RESET);
mtdcr(DCRN_EBC0_CFGADDR, EBC_BXCR(i));
mtdcr(DCRN_SDR0_CONFIG_ADDR, offset); \
mtdcr(DCRN_SDR0_CONFIG_ADDR, offset); \
mtdcr(DCRN_SDR0_CONFIG_DATA, data); })
mtdcr(DCRN_CPR0_CFGADDR, offset); \
mtdcr(DCRN_CPR0_CFGADDR, offset); \
mtdcr(DCRN_CPR0_CFGDATA, data); })
mtdcr(DCRN_SDRAM0_CFGADDR, offset); \
mtdcr(DCRN_SDRAM0_CFGADDR, offset); \
mtdcr(DCRN_SDRAM0_CFGDATA, data); })
#define dcr_write_native(host, dcr_n, value) mtdcr(dcr_n + host.base, value)
mtdcr(DCRN_PLB6_BASE, val);
mtdcr(DCRN_PLB6_HD, 0xffff0000);
mtdcr(DCRN_PLB6_SHD, 0xffff0000);
mtdcr(DCRN_CONF_EIR_RS, 0x80000000);
mtdcr(DCRN_CMU_ADDR, reg); \
mtdcr(DCRN_CMU_DATA, data); \
mtdcr(DCRN_CMU_ADDR, reg); \
mtdcr(DCRN_L2CDCRAI, reg); \
mtdcr(DCRN_L2CDCRDI, data); \
mtdcr(DCRN_L2CDCRAI, reg); \
mtdcr(dcrbase_isram + DCRN_SRAM0_DPC,
mtdcr(dcrbase_isram + DCRN_SRAM0_SB0CR,
mtdcr(dcrbase_isram + DCRN_SRAM0_SB1CR,
mtdcr(dcrbase_isram + DCRN_SRAM0_SB2CR,
mtdcr(dcrbase_isram + DCRN_SRAM0_SB3CR,
mtdcr(dcrbase_l2c + DCRN_L2C0_CFG, r);
mtdcr(dcrbase_l2c + DCRN_L2C0_ADDR, 0);
mtdcr(dcrbase_l2c + DCRN_L2C0_CMD, L2C_CMD_HCC);
mtdcr(dcrbase_l2c + DCRN_L2C0_CMD, L2C_CMD_CCP | L2C_CMD_CTE);
mtdcr(dcrbase_l2c + DCRN_L2C0_SNP0, r);
mtdcr(dcrbase_l2c + DCRN_L2C0_SNP1, r);
mtdcr(dcrbase_l2c + DCRN_L2C0_CFG, r);
mtdcr(dcrbase_l2c + DCRN_L2C0_ADDR, addr);
mtdcr(dcrbase_l2c + DCRN_L2C0_CMD, L2C_CMD_DIAG);
mtdcr(dcrbase_l2c + DCRN_L2C0_ADDR, 0);
mtdcr(dcrbase_l2c + DCRN_L2C0_CMD, L2C_CMD_CCP | L2C_CMD_CTE);
mtdcr(uic->dcrbase + UIC_ER, er);
mtdcr(uic->dcrbase + UIC_SR, sr);
mtdcr(uic->dcrbase + UIC_PR, pr);
mtdcr(uic->dcrbase + UIC_TR, tr);
mtdcr(uic->dcrbase + UIC_SR, ~mask);
mtdcr(uic->dcrbase + UIC_ER, 0);
mtdcr(uic->dcrbase + UIC_CR, 0);
mtdcr(uic->dcrbase + UIC_TR, 0);
mtdcr(uic->dcrbase + UIC_SR, 0xffffffff);
mtdcr(uic->dcrbase + UIC_SR, sr);
mtdcr(uic->dcrbase + UIC_ER, er);
mtdcr(uic->dcrbase + UIC_ER, er);
mtdcr(uic->dcrbase + UIC_SR, 1 << (31-src));