In32
uint32 In32(int reg);
uint32 In32(int reg);
while (In32(PL01x_FR) & PL01x_FR_BUSY)
Out32(PL011_IMSC, In32(PL011_IMSC) & ~PL011_MSKIM);
Out32(PL011_LCRH, (In32(PL011_LCRH) & ~0xff)
while ((In32(PL01x_FR) & PL01x_FR_TXFF) != 0)
while ((In32(PL01x_FR) & PL01x_FR_RXFE) != 0)
if ((In32(PL01x_FR) & PL01x_FR_RXFE) != 0)
return In32(PL01x_DR);
while ((In32(PL01x_FR) & PL011_FR_TXFE) == 0)
while ((In32(PL01x_FR) & PL01x_FR_RXFE) == 0)
while (wait && ((In32(UFSTAT) & UFSTAT_RXCNT) == 0))
if ((In32(UFSTAT) & UFSTAT_RXCNT) == 0)
return In32(URXH);
while ((In32(UFSTAT) & UFSTAT_TXFULL) != 0)