On Thu, Jun 11, 2009 at 10:28:39AM +0200, Florian Fainelli wrote: > Le Friday 05 June 2009 00:20:20 Thomas Bogendoerfer, vous avez écrit : > > On Thu, Jun 04, 2009 at 04:22:46PM +0200, Florian Fainelli wrote: > > > We discussed that in private, there are a couple of things > > > to fix in order to get 8250 working properly with TI AR7 HW. > > > If you can still merge that bit, this would ease future work, thanks ! > > > > I still have a tree here, which works without any changes to the 8250 > > serial driver on a TNETD7300 device. > > Could you show me how you register the 8250 driver ? Without the 8250-specific static struct plat_serial8250_port uart0_data = { .mapbase = AR7_REGS_UART0, .irq = AR7_IRQ_UART0, .regshift = 2, .iotype = UPIO_MEM, .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, }; uart_port[0].type = PORT_16550A; uart_port[0].line = 0; uart_port[0].irq = AR7_IRQ_UART0; uart_port[0].uartclk = ar7_bus_freq() / 2; uart_port[0].iotype = UPIO_MEM; uart_port[0].mapbase = AR7_REGS_UART0 + 3; uart_port[0].membase = ioremap(uart_port[0].mapbase, 256); uart_port[0].regshift = 2; res = early_serial_setup(&uart_port[0]); if (res) return res; the +3 comes from the fact, that this machine is configured to run big endian. Here is the boot log: Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled serial8250: ttyS0 at MMIO 0x8610e03 (irq = 15) is a 16550A console handover: boot [early0] -> real [ttyS0] serial8250: ttyS1 at MMIO 0x8610f00 (irq = 19) is a 16550A loop: module loaded Fixed MDIO Bus: probed ttyS1 uses the wrong address, but there is nothing connected to that port on the box. Do you see the problem on TNETD7200 devices as well ? Thomas. -- Crap can work. Given enough thrust pigs will fly, but it's not necessary a good idea. [ RFC1925, 2.3 ]