Super I/O W83627DHG: Enable UART B by redirecting pins
Pins 78-85 are set to GPIO after power on or reset. To enable UART B the pins must be redirected to it. Look at W83627DHG databook version 1.4 page 185 Chip (global) Control Register CR2C. Change-Id: I12b094a60d9c5cb2447a553be4679a4605e19845 Signed-off-by: Wolfgang Kamp <wmkamp@datakamp.de> Reviewed-on: http://review.coreboot.org/2626 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins)
This commit is contained in:
parent
8d629c14eb
commit
9ae1eb6961
|
@ -37,6 +37,17 @@ void pnp_exit_ext_func_mode(device_t dev)
|
||||||
outb(0xaa, dev->path.pnp.port);
|
outb(0xaa, dev->path.pnp.port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void w83627dhg_enable_UR2(device_t dev)
|
||||||
|
{
|
||||||
|
u8 reg8;
|
||||||
|
|
||||||
|
pnp_enter_ext_func_mode(dev);
|
||||||
|
reg8 = pnp_read_config(dev, 0x2c);
|
||||||
|
reg8 |= (0x3);
|
||||||
|
pnp_write_config(dev, 0x2c, reg8); // Set pins 78-85-> UART B
|
||||||
|
pnp_exit_ext_func_mode(dev);
|
||||||
|
}
|
||||||
|
|
||||||
static void w83627dhg_init(device_t dev)
|
static void w83627dhg_init(device_t dev)
|
||||||
{
|
{
|
||||||
struct superio_winbond_w83627dhg_config *conf = dev->chip_info;
|
struct superio_winbond_w83627dhg_config *conf = dev->chip_info;
|
||||||
|
@ -45,6 +56,9 @@ static void w83627dhg_init(device_t dev)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
switch(dev->path.pnp.device) {
|
switch(dev->path.pnp.device) {
|
||||||
|
case W83627DHG_SP2:
|
||||||
|
w83627dhg_enable_UR2(dev);
|
||||||
|
break;
|
||||||
case W83627DHG_KBC:
|
case W83627DHG_KBC:
|
||||||
pc_keyboard_init(&conf->keyboard);
|
pc_keyboard_init(&conf->keyboard);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue