HWRITE2
HWRITE2(hp, SDHC_CLOCK_CTL, reg | div);
HWRITE2(hp, SDHC_HOST_CTL2, SDHC_EXECUTE_TUNING);
do if ((bits) != 0) HWRITE2((hp), (reg), HREAD2((hp), (reg)) & ~(bits)); while (0)
do if ((bits) != 0) HWRITE2((hp), (reg), HREAD2((hp), (reg)) | (bits)); while (0)
HWRITE2(hp, SDHC_BLOCK_SIZE, blksize);
HWRITE2(hp, SDHC_BLOCK_COUNT, blkcount);
HWRITE2(hp, SDHC_TRANSFER_MODE, mode);
HWRITE2(hp, SDHC_COMMAND, command);
HWRITE2(hp, SDHC_DATA, htole16(*(uint16_t *)data));
HWRITE2(hp, SDHC_DATA, htole16(*(uint16_t *)data));
HWRITE2(hp, SDHC_NINTR_STATUS, status);
HWRITE2(hp, SDHC_EINTR_STATUS, error);
HWRITE2(hp, reg, val);
HWRITE2(hp, SDHC_NINTR_SIGNAL_EN, 0);
HWRITE2(hp, SDHC_NINTR_SIGNAL_EN, 0);
HWRITE2(hp, SDHC_NINTR_STATUS_EN, sdhcimask);
HWRITE2(hp, SDHC_EINTR_STATUS_EN, SDHC_EINTR_STATUS_MASK);
HWRITE2(hp, SDHC_NINTR_SIGNAL_EN, sdhcimask);
HWRITE2(hp, SDHC_EINTR_SIGNAL_EN, SDHC_EINTR_SIGNAL_MASK);