frob_econtrol
frob_econtrol(p, ECR_MODE_MASK, mode << 5);
frob_econtrol(pb, 1<<2, 1<<2);
frob_econtrol(pb, 1<<2, 0);
frob_econtrol(pb, 1<<2, 1<<2);
frob_econtrol(pb, 1<<2, 0);
frob_econtrol(pb, 0x10, 0x10);
frob_econtrol(port, (1<<4) | (1<<2), (1<<4) | (1<<2));
frob_econtrol(port, (1<<4) | (1<<2), (1<<4) | (1<<2));
frob_econtrol(port, 1<<3, 1<<3);
frob_econtrol(port, 1<<2, 0);
frob_econtrol(port, 1<<3, 0);
#define ECR_WRITE(p, v) frob_econtrol((p), 0xff, (v))