···682682 * from EXCR1. Switch back to bank 0, change it in MCR. Then683683 * switch back to bank 2, read it from EXCR1 again and check684684 * it's changed. If so, set baud_base in EXCR2 to 921600. -- dwmw2685685- * On PowerPC we don't want to change baud_base, as we have686686- * a number of different divisors. -- Tom Rini687685 */688686 serial_outp(up, UART_LCR, 0);689687 status1 = serial_in(up, UART_MCR);···697699 serial_outp(up, UART_MCR, status1);698700699701 if ((status2 ^ status1) & UART_MCR_LOOP) {700700-#ifndef CONFIG_PPC702702+ unsigned short quot;703703+701704 serial_outp(up, UART_LCR, 0xE0);705705+706706+ quot = serial_inp(up, UART_DLM) << 8;707707+ quot += serial_inp(up, UART_DLL);708708+ quot <<= 3;709709+702710 status1 = serial_in(up, 0x04); /* EXCR1 */703711 status1 &= ~0xB0; /* Disable LOCK, mask out PRESL[01] */704712 status1 |= 0x10; /* 1.625 divisor for baud_base --> 921600 */705713 serial_outp(up, 0x04, status1);706706- serial_outp(up, UART_LCR, 0);707707- up->port.uartclk = 921600*16;708708-#endif714714+715715+ serial_outp(up, UART_DLL, quot & 0xff);716716+ serial_outp(up, UART_DLM, quot >> 8);709717718718+ serial_outp(up, UART_LCR, 0);719719+720720+ up->port.uartclk = 921600*16;710721 up->port.type = PORT_NS16550A;711722 up->capabilities |= UART_NATSEMI;712723 return;