Hello Ganbold. Thank you for testing the patch and pointing those issue out. My detection log from Armada XP: uart0: <16550 or compatible> mem 0xd0012000-0xd001201f irq 41 on simplebus0 uart0: console (115200,n,8,1) uart1: <16550 or compatible> mem 0xd0012100-0xd001211f irq 42 on simplebus0 uart2: <16550 or compatible> mem 0xd0012200-0xd001221f irq 43 on simplebus0 uart3: <16550 or compatible> mem 0xd0012300-0xd001231f irq 44 on simplebus0 Is there a possibility to download a datasheet for RK30xx so that I could verify what is required for it's UART? The patch is causing that we only wait until UART is not busy anymore. I can't find why would that cause problems if your UART requires busy detection anyway. Best regards Zbigniew Bodek 2013/10/9 Ganbold Tsagaankhuu <ganbold_at_gmail.com> > > > > On Tue, Oct 8, 2013 at 9:58 AM, Ganbold Tsagaankhuu <ganbold_at_gmail.com>wrote: > >> Zbigniew, >> >> >> On Tue, Oct 8, 2013 at 3:54 AM, Zbigniew Bodek <zbb_at_freebsd.org> wrote: >> >>> Hello. >>> >>> I would like to present a patch for ns8250 serial that I would like to >>> commit in the near future (if there are no objections). >>> >>> The patch is fixing newest DesignWare UART with busy detection. >>> During frequency divisors configuration when UART is busy transferring or >>> receiving data, line control register manipulation will not take effect. >>> Therefore, we will not set divisor latch access bit and we will corrupt >>> LCR >>> instead of configuring divisors. >>> It is necessary to wait until UART finishes all transfers to proceed with >>> the configuration. >>> >>> This was detected on Armada XP as UART fails on this issue 100/100 >>> attempts. >>> The patch was tested by kevlo_at_ and me and it works on our Armada XP - >>> based >>> systems. >>> >>> Please send your comment or remarks if there are any. >>> >> >> I'm trying your patch on r254983. >> Tried on 2 boards (Cubieboard2 (Allwinner A20 SoC - dual Cortex A7) and >> Radxa Rock (Rockchip RK3188 - Quad Cortex A9)). Both seem to have some sort >> of DesignWare uart. >> >> 1. It works fine on Cubieboard2. Uart dmesg is like: >> >> uart0: <16750 or compatible> mem 0x1c28000-0x1c283ff irq 33 on simplebus0 >> >> uart0: console (115200,n,8,1) >> >> 2. No any printing on screen in case of Radxa Rock. Without your patch >> uart dmesg is like: >> >> uart0: <16650 or compatible> mem 0x20064000-0x200643ff irq 68 on >> simplebus0 >> uart0: console (115200,n,8,1) >> >> In case of RK3188 SoC, it seems booting FreeBSD kernel seems very >> fragile, not sure yet what is causing the problem. >> Even with stock ns8250 some version later than r254983 didn't show/print >> anything on serial console few days ago. >> Only thing so far I know is this r254983 (with some patch) works in my >> case on RK3188 SoC based board. >> > > > Zbigniew, > > Just tried again your patch on RK30xx board. I was able to see boot > messages on screen. > This uart detected as: > ... > uart0: <16650 or compatible> mem 0x20064000-0x200643ff irq 68 on > simplebus0 > uart0: console (115200,n,8,1) > > uart0: fast interrupt > ... > Can you show me your uart detection log? > It seems this DW uart of RK30xx is different than DW uart of A10/A20. > Boot simply stops printing "start_init: trying /sbin/init". > > thanks, > > Ganbold > > > >> >> thanks, >> >> Ganbold >> >> >> >> >>> >>> Best regards >>> Zbigniew Bodek >>> >>> _______________________________________________ >>> freebsd-current_at_freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-current >>> To unsubscribe, send any mail to " >>> freebsd-current-unsubscribe_at_freebsd.org" >>> >> >> >Received on Wed Oct 09 2013 - 19:33:08 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:42 UTC