Ignore MCR[6] during the probe to fix a false negative. Bit 6 of the
MCR register on the Sunix Sun1699 chip tends to be set but doesn't seem to have a function. That is, FreeBSD just works (provided the correct RCLK is used) regardless. PR: kern/129663 Diagnostics: Eygene Ryabinkin <rea-fbsd at codelabs.ru> MFC after: 3 days
This commit is contained in:
parent
0c50156f91
commit
5bdddc29c2
@ -242,8 +242,14 @@ ns8250_probe(struct uart_bas *bas)
|
||||
val = uart_getreg(bas, REG_IIR);
|
||||
if (val & 0x30)
|
||||
return (ENXIO);
|
||||
/*
|
||||
* Bit 6 of the MCR (= 0x40) appears to be 1 for the Sun1699
|
||||
* chip, but otherwise doesn't seem to have a function. In
|
||||
* other words, uart(4) works regardless. Ignore that bit so
|
||||
* the probe succeeds.
|
||||
*/
|
||||
val = uart_getreg(bas, REG_MCR);
|
||||
if (val & 0xe0)
|
||||
if (val & 0xa0)
|
||||
return (ENXIO);
|
||||
|
||||
return (0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user