On Dec 11, 2008, at 6:36 AM, Boris Samorodov wrote: > Hello Eygene, Marcel and All, > > > I've found some DOS/Linux docs/programs at the producers's site > and unzipped them: > ftp://ftp.ipt.ru/pub/sunix/ > > > Eygene Ryabinkin <rea-fbsd_at_codelabs.ru> writes: > >> Boris, could you please add the line >> ----- >> printf("%s: BAS, handle is 0x%lx, tag is 0x%x\n", __func__, >> (unsigned long)bas->bsh, (unsigned int)bas->bst); >> ----- >> to the beginning of ns8250_probe() and show the results. Good suggestion, Eygene! Summary: port 1: IO=0xec00; IIR=0x1, 0xc1; MCR=0x0, 0x8 port 2: IO=0xec08; IIR=0x1, 0xc1; MCR=0x0, 0x8 port 3: IO=0xe880; IIR=0x1; MCR=0x40 port 4: IO=0xe888; IIR=0x1; MCR=0x40 port 5: IO=0xe800; IIR=0x1; MCR=0x40 port 6: IO=0xe480; IIR=0x1; MCR=0x40 port 7: IO=0xe400; IIR=0x1; MCR=0x40 port 8: IO=0xe080; IIR=0x1; MCR=0x40 For ports 3-8, the MCR has a value that's not liked by uart(4). I think we need to know what that value means. Are the ports disabled? Are they in a non-standard mode? Is it just a non-standard status bit that's set and we should ignore it? etc... Boris: can you apply the following patch and see if uart(4) attaches to all ports? If yes, can you see if those ports actually work as well? Index: uart_dev_ns8250.c =================================================================== --- uart_dev_ns8250.c (revision 185784) +++ uart_dev_ns8250.c (working copy) _at__at_ -241,7 +241,7 _at__at_ if (val & 0x30) return (ENXIO); val = uart_getreg(bas, REG_MCR); - if (val & 0xe0) + if (val & 0xa0) return (ENXIO); return (0); Thanks. -- Marcel Moolenaar xcllnt_at_mac.comReceived on Thu Dec 11 2008 - 16:07:03 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:38 UTC