Get rid of early_serial, it is now a generic function in early_init.
Add some more enables to the s1850. Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4736 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
37
src/superio/nsc/pc8374/pc8374_early_init.c
Normal file
37
src/superio/nsc/pc8374/pc8374_early_init.c
Normal file
@@ -0,0 +1,37 @@
|
||||
#include <arch/romcc_io.h>
|
||||
#include "pc8374.h"
|
||||
|
||||
/* things that Must Be Done to get this chip working */
|
||||
/* Straight from the data book */
|
||||
static void pc8374_enable(unsigned iobase, u8 *init)
|
||||
{
|
||||
u8 val, count;
|
||||
outb(0x29, iobase);
|
||||
val = inb(iobase+1);
|
||||
val |= 0x91;
|
||||
outb(val, iobase+1);
|
||||
for(count = 0; count < 255; count++)
|
||||
if (inb(iobase+1) == 0x91)
|
||||
break;
|
||||
for(;*init; init++) {
|
||||
outb(*init, iobase);
|
||||
val = inb(iobase+1);
|
||||
init++;
|
||||
val &= *init;
|
||||
init++;
|
||||
val |= *init;
|
||||
outb(val, iobase+1);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
static void pc8374_enable_dev(device_t dev, unsigned iobase)
|
||||
{
|
||||
pnp_set_logical_device(dev);
|
||||
pnp_set_enable(dev, 0);
|
||||
if (iobase)
|
||||
pnp_set_iobase(dev, PNP_IDX_IO0, iobase);
|
||||
pnp_set_enable(dev, 1);
|
||||
}
|
||||
|
@@ -1,11 +0,0 @@
|
||||
#include <arch/romcc_io.h>
|
||||
#include "pc8374.h"
|
||||
|
||||
|
||||
static void pc8374_enable_serial(device_t dev, unsigned iobase)
|
||||
{
|
||||
pnp_set_logical_device(dev);
|
||||
pnp_set_enable(dev, 1);
|
||||
pnp_set_iobase(dev, PNP_IDX_IO0, iobase);
|
||||
pnp_set_enable(dev, 1);
|
||||
}
|
Reference in New Issue
Block a user