EECTL
#define eeprom_delay() er32(EECTL)
(er32(EECTL) & 0x40 ? EE_READ64_CMD : EE_READ256_CMD);
ew32(EECTL, EE_ENB & ~EE_CS);
ew32(EECTL, EE_ENB);
ew32(EECTL, EE_ENB | dataval);
ew32(EECTL, EE_ENB | dataval | EE_SHIFT_CLK);
ew32(EECTL, EE_ENB);
ew32(EECTL, EE_ENB | EE_SHIFT_CLK);
retval = (retval << 1) | ((er32(EECTL) & EE_DATA_READ) ? 1 : 0);
ew32(EECTL, EE_ENB);
ew32(EECTL, EE_ENB & ~EE_CS);