Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

MIPS: dts: loongson64g-package: Switch to Loongson UART driver

Loongson64g is Loongson 3A4000, whose UART controller is compatible with
Loongson 2K1500, which is NS16550A-compatible with an additional
fractional frequency divisor register.

Update the compatible strings to reflect this, so that 3A4000 can
benefit from the fractional frequency divisor provided by loongson-uart.
This is required on some devices, otherwise their UART can't work at
some high baud rates, e.g., 115200.

Tested on Loongson-LS3A4000-7A1000-NUC-SE with a 25MHz UART clock.
Without fractional frequency divisor, the actual baud rate was 111607
(25MHz / 16 / 14, measured value: 111545) and some USB-to-UART
converters couldn't work with it at all. With fractional frequency
divisor, the measured baud rate becomes 115207, which is quite accurate.

Signed-off-by: Rong Zhang <rongrong@oss.cipunited.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>

authored by

Rong Zhang and committed by
Thomas Bogendoerfer
79b888ee 2300d68e

+2 -2
+2 -2
arch/mips/boot/dts/loongson/loongson64g-package.dtsi
··· 40 40 }; 41 41 42 42 cpu_uart0: serial@1fe00100 { 43 - compatible = "ns16550a"; 43 + compatible = "loongson,ls3a4000-uart", "loongson,ls2k1500-uart", "ns16550a"; 44 44 reg = <0 0x1fe00100 0x10>; 45 45 clock-frequency = <100000000>; 46 46 interrupt-parent = <&liointc>; ··· 50 50 51 51 cpu_uart1: serial@1fe00110 { 52 52 status = "disabled"; 53 - compatible = "ns16550a"; 53 + compatible = "loongson,ls3a4000-uart", "loongson,ls2k1500-uart", "ns16550a"; 54 54 reg = <0 0x1fe00110 0x10>; 55 55 clock-frequency = <100000000>; 56 56 interrupts = <15 IRQ_TYPE_LEVEL_HIGH>;