HWRITE1
HWRITE1(sc, i, sc->regs[i]);
HWRITE1(sc, GPIODATA(pin), (1 << pin));
HWRITE1(sc, GPIODATA(pin), 0);
HWRITE1((sc), (reg), HREAD1((sc), (reg)) | (bits))
HWRITE1((sc), (reg), HREAD1((sc), (reg)) & ~(bits))
HWRITE1(sc, I2C_I2SR, I2C_I2SR_IIF);
HWRITE1(sc, I2C_IFDR, sc->frequency);
HWRITE1(sc, I2C_I2DR, (addr << 1) | 1);
HWRITE1(sc, I2C_I2DR, addr << 1);
HWRITE1(sc, I2C_I2DR, ((uint8_t*)cmd)[i]);
HWRITE1(sc, I2C_I2DR, ((uint8_t*)data)[i]);
HWRITE1((sc), (reg), HREAD1((sc), (reg)) | (bits))
HWRITE1((sc), (reg), HREAD1((sc), (reg)) & ~(bits))
HWRITE1(sc, I2C_I2SR, I2C_I2SR_IAL | I2C_I2SR_IIF);
HWRITE1(sc, I2C_I2SR, 0);
HWRITE1(sc, I2C_I2CR, I2C_I2CR_IEN);
HWRITE1(sc, I2C_I2CR, 0);
HWRITE1(hp, SDHC_SOFTWARE_RESET, mask);
HWRITE1(hp, SDHC_SOFTWARE_RESET, 0);
HWRITE1(hp, SDHC_SOFTWARE_RESET, 0);
HWRITE1(hp, i, hp->regs[i]);
HWRITE1(hp, SDHC_TIMEOUT_CTL, SDHC_TIMEOUT_MAX);
HWRITE1(hp, SDHC_POWER_CTL, 0);
HWRITE1(hp, SDHC_POWER_CTL, 0);
HWRITE1(hp, SDHC_POWER_CTL, (vdd << SDHC_VOLTAGE_SHIFT) |
HWRITE1(hp, SDHC_HOST_CTL, reg);
HWRITE1((hp), (reg), HREAD1((hp), (reg)) & ~(bits))
HWRITE1((hp), (reg), HREAD1((hp), (reg)) | (bits))