mtsdr
mtsdr(DCR_SDR0_AHB_CFG, v);
mtsdr(DCR_SDR0_USB2HOST_CFG, v);
mtsdr(DCR_SDR0_SRST1, srst | SDR0_SRST1_USBHOST);
mtsdr(DCR_SDR0_SRST1, srst & ~SDR0_SRST1_USBHOST);
mtsdr(DCR_SDR0_AHB_CFG, ahbcfg);
mtsdr(DCR_SDR0_SRST1, SDR0_SRST1_SATA_RESET);
mtsdr(SATA_PESDR0_PHY_CTL_RST, (reg & 0xeffffffc) | 0x00000001);
mtsdr(SATA_PESDR0_L0CLK, (reg & 0xfffffff8) | 0x00000007);
mtsdr(SATA_PESDR0_L0CDRCTL, 0x00003111);
mtsdr(SATA_PESDR0_L0DRV, 0x00000104);
mtsdr(DCR_SDR0_SRST1, 0);
mtsdr(DCR_SDR0_AHB_CFG,
mtsdr(DCR_SDR0_PFC1, mfsdr(DCR_SDR0_PFC1) | SDR0_PFC1_USBEN);
mtsdr(DCR_SDR0_SRST0, srst0 | SDR0_SRST0_UPRST | SDR0_SRST0_AHB);
mtsdr(DCR_SDR0_SRST0, srst0);
mtsdr(DCR_SDR0_ETH_CFG, sdr);
mtsdr(DCR_SDR0_MFR, sdr);
mtsdr(DCR_SDR0_ETH_CFG, sdr);
mtsdr(DCR_SDR0_MFR, sdr);
mtsdr(DCR_SDR0_ETH_CFG, sdr);
mtsdr(DCR_SDR0_ETH_CFG, sdr);