s5h1420_readreg
(s5h1420_readreg(state, 0x3c) & 0xfe) | 0x02);
s5h1420_writereg(state, 0x3c, s5h1420_readreg(state, 0x3c) | 0x03);
s5h1420_writereg(state, 0x3c, s5h1420_readreg(state, 0x3c) & 0xfd);
(s5h1420_readreg(state, 0x3b) & 0x74) | 0x08);
(s5h1420_readreg(state, 0x3b) & 0x74) | 0x01);
val = s5h1420_readreg(state, 0x3b);
s5h1420_writereg(state, 0x3b, s5h1420_readreg(state, 0x3b) |
if (!(s5h1420_readreg(state, 0x3b) & 0x08))
val = s5h1420_readreg(state, 0x3b);
if (!(s5h1420_readreg(state, 0x3b) & 0x80)) /* FIXME: do we test DIS_RDY(0x08) or RCV_EN(0x80)? */
if (s5h1420_readreg(state, 0x49)) {
length = (s5h1420_readreg(state, 0x3b) & 0x70) >> 4;
reply->msg[i] = s5h1420_readreg(state, 0x3d + i);
val = s5h1420_readreg(state, 0x3b);
s5h1420_writereg(state, 0x3b, (s5h1420_readreg(state, 0x3b) & 0x70) | 0x01);
s5h1420_writereg(state, 0x3b, s5h1420_readreg(state, 0x3b) | 0x04);
s5h1420_writereg(state, 0x3b, s5h1420_readreg(state, 0x3b) | 0x08);
if (!(s5h1420_readreg(state, 0x3b) & 0x08))
val = s5h1420_readreg(state, 0x14);
val = s5h1420_readreg(state, 0x36);
val = s5h1420_readreg(state, Vit10);
switch (s5h1420_readreg(state, Vit10) & 0x07) {
val = s5h1420_readreg(state, Mpeg02);
val = s5h1420_readreg(state, QPSK01) & 0x7f;
*ber = (s5h1420_readreg(state, 0x48) << 8) | s5h1420_readreg(state, 0x47);
u8 val = s5h1420_readreg(state, 0x15);
*ucblocks = (s5h1420_readreg(state, 0x48) << 8) | s5h1420_readreg(state, 0x47);
v = s5h1420_readreg(state, Loop01);
v = s5h1420_readreg(state, Loop01);
s5h1420_writereg(state, 0x06, s5h1420_readreg(state, 0x06) | 0x08);
val = s5h1420_readreg(state, 0x0e) << 16;
val |= s5h1420_readreg(state, 0x0f) << 8;
val |= s5h1420_readreg(state, 0x10);
s5h1420_writereg(state, 0x06, s5h1420_readreg(state, 0x06) & 0xf7);
switch(s5h1420_readreg(state, 0x32) & 0x07) {
if (s5h1420_readreg(state, 0x32) & 0x08)
s5h1420_writereg(state, QPSK01, s5h1420_readreg(state, QPSK01) | 1);
i = s5h1420_readreg(state, ID01);
state->shadow[i] = s5h1420_readreg(state, i);