From b9ee31d881879ab1d95b4bfb485bd6586367649d Mon Sep 17 00:00:00 2001 From: Jens Rottmann Date: Tue, 31 Aug 2010 19:19:16 +0000 Subject: SMC_CONFIG is needed before the device tree is ready and some people would rather not have mainboard settings like sio_gp1x_config in the device tree anyway. So found a nice united home for both in Kconfig, where users can change them without having to mess around in the C code. Signed-off-by: Jens Rottmann Acked-by: Myles Watson git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5760 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/mainboard/lippert/roadrunner-lx/Kconfig | 9 +++++++++ src/mainboard/lippert/roadrunner-lx/chip.h | 9 +-------- src/mainboard/lippert/roadrunner-lx/mainboard.c | 11 +++++++++-- src/mainboard/lippert/roadrunner-lx/romstage.c | 1 - 4 files changed, 19 insertions(+), 11 deletions(-) (limited to 'src/mainboard/lippert/roadrunner-lx') diff --git a/src/mainboard/lippert/roadrunner-lx/Kconfig b/src/mainboard/lippert/roadrunner-lx/Kconfig index db492220da..fa140acfce 100644 --- a/src/mainboard/lippert/roadrunner-lx/Kconfig +++ b/src/mainboard/lippert/roadrunner-lx/Kconfig @@ -11,6 +11,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy select PIRQ_ROUTE select UDELAY_TSC select CACHE_AS_RAM + # Standard chip is a 512 KB FWH. Replacing it with a 1 MB + # SST 49LF008A is possible. select BOARD_ROMSIZE_KB_512 config MAINBOARD_DIR @@ -29,4 +31,11 @@ config RAMBASE hex default 0x4000 +config ONBOARD_UARTS_RS485 + bool "Switch on-board serial ports to RS485" + default n + help + If selected, both on-board serial ports will operate in RS485 mode + instead of RS232. + endif # BOARD_LIPPERT_ROADRUNNER_LX diff --git a/src/mainboard/lippert/roadrunner-lx/chip.h b/src/mainboard/lippert/roadrunner-lx/chip.h index b201059400..398d42405e 100644 --- a/src/mainboard/lippert/roadrunner-lx/chip.h +++ b/src/mainboard/lippert/roadrunner-lx/chip.h @@ -18,13 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -/* Based on chip.h from AMD's DB800 mainboard. */ - -#include - extern struct chip_operations mainboard_ops; -struct mainboard_config { - /* bit5 = Live LED, bit2 = RS485_EN2, bit1 = RS485_EN1 */ - u8 sio_gp1x_config; -}; +struct mainboard_config {}; diff --git a/src/mainboard/lippert/roadrunner-lx/mainboard.c b/src/mainboard/lippert/roadrunner-lx/mainboard.c index e0d3fa703e..31fdd46e8f 100644 --- a/src/mainboard/lippert/roadrunner-lx/mainboard.c +++ b/src/mainboard/lippert/roadrunner-lx/mainboard.c @@ -29,6 +29,13 @@ #include #include "chip.h" +/* Bit1 switches Com1 to RS485, bit2 same for Com2, bit5 turns off the Live LED. */ +#if CONFIG_ONBOARD_UARTS_RS485 + #define SIO_GP1X_CONFIG 0x26 +#else + #define SIO_GP1X_CONFIG 0x20 +#endif + static const u16 ec_init_table[] = { /* hi=data, lo=index */ 0x1900, /* Enable monitoring */ 0x0351, /* TMPIN1,2 diode mode, TMPIN3 off */ @@ -40,7 +47,6 @@ static const u16 ec_init_table[] = { /* hi=data, lo=index */ static void init(struct device *dev) { - struct mainboard_config *mb = dev->chip_info; unsigned int gpio_base, i; printk(BIOS_DEBUG, "LiPPERT RoadRunner-LX ENTER %s\n", __func__); @@ -61,7 +67,8 @@ static void init(struct device *dev) outb(val >> 8, 0x0296); } - outb(mb->sio_gp1x_config, 0x1220); /* Simple-I/O GP17-10 */ + /* bit5 = Live LED, bit2 = RS485_EN2, bit1 = RS485_EN1 */ + outb(SIO_GP1X_CONFIG, 0x1220); /* Simple-I/O GP17-10 */ printk(BIOS_DEBUG, "LiPPERT RoadRunner-LX EXIT %s\n", __func__); } diff --git a/src/mainboard/lippert/roadrunner-lx/romstage.c b/src/mainboard/lippert/roadrunner-lx/romstage.c index 767b42f2d3..717f51a5ac 100644 --- a/src/mainboard/lippert/roadrunner-lx/romstage.c +++ b/src/mainboard/lippert/roadrunner-lx/romstage.c @@ -132,4 +132,3 @@ void main(unsigned long bist) /* Memory is setup. Return to cache_as_ram.inc and continue to boot. */ return; } - -- cgit v1.2.3