*BSD News Article 37690


Return to BSD News archive

Xref: sserve comp.os.linux.development:19055 comp.os.linux.misc:29275 comp.os.386bsd.questions:14337 comp.os.386bsd.misc:4031 sci.electronics:83679
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msuinfo!uwm.edu!news.moneng.mei.com!howland.reston.ans.net!pipex!uunet!polo.iquest.com!vespucci!troy
From: troy@vespucci.iquest.com (Troy Fuqua)
Newsgroups: comp.os.linux.development,comp.os.linux.misc,comp.os.386bsd.questions,comp.os.386bsd.misc,sci.electronics
Subject: Re: 16550 detection
Followup-To: comp.os.linux.development,comp.os.linux.misc,comp.os.386bsd.questions,comp.os.386bsd.misc,sci.electronics
Date: 9 Nov 1994 06:12:07 GMT
Organization: interQuest: Fuel for the Mind
Lines: 13
Message-ID: <39pp7n$qqf@polo.iquest.com>
References: <CMETZ.94Oct30051603@itchy.inner.net> <TYTSO.94Oct31162517@dcl.mit.edu> <MICHAELV.94Oct31211019@MindBender.HeadCandy.com> <TYTSO.94Nov1182557@dcl.mit.edu> <199411032154.NAA12270@exit.com>
NNTP-Posting-Host: vespucci.iquest.com
X-Newsreader: TIN [version 1.2 PL2]

I'm not sure where this discussion is going, but if the original intent was
to detect 16550 UARTs, here's what I learned from a while back, although I
have not tested this.

The UART interrupt identification register (base+2, or 3FA/2FA) bit 7-3 are
normally 0.  Bit 7 will be 1 to indicate a 16550.   Now, apparantly there
are two versions of the 16550, one with a "bad" buffer and one with a "good"
buffer.  Bit 6 will be 1 if good buffer version.

Recap:  Bits  7 6
              1 0  UART id is 16550 with a bad buffer
              1 1  UART id is 16550 with a good buffer