Out32
void Out32(int reg, uint32 value);
void Out32(int reg, uint32 data);
Out32(PL011_CR, cr);
Out32(PL011_FBRD, 0);
Out32(PL011_IBRD, 1);
Out32(PL011_LCRH, 0); // TODO: ST is different tx, rx lcr
Out32(PL01x_DR, 0);
Out32(PL011_CR, cr);
Out32(PL011_ICR, PL011_OEIS | PL011_BEIS
Out32(PL011_IMSC, In32(PL011_IMSC) & ~PL011_MSKIM);
Out32(PL011_IBRD, baudDivisor);
Out32(PL011_FBRD, baudFractional);
Out32(PL011_LCRH, (In32(PL011_LCRH) & ~0xff)
Out32(PL011_IFLS, PL011_IFLS_RX4_8 | PL011_IFLS_TX4_8);
Out32(PL011_CR, cr);
Out32(PL011_CR, 0);
Out32(PL01x_DR, c);
Out32(UTXH, c);