diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2015-08-24 01:00:08 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-08-26 07:54:16 -0700 |
commit | 4dd02a752c714e1616025fceba78e121807cfc11 (patch) | |
tree | 799e2b84d4a049c7a8b7b2de393134cc2459bc08 | |
parent | 8ceb2429c97cc037bd2a6f27f4645d02a78e7aa5 (diff) | |
download | u-boot-imx-4dd02a752c714e1616025fceba78e121807cfc11.zip u-boot-imx-4dd02a752c714e1616025fceba78e121807cfc11.tar.gz u-boot-imx-4dd02a752c714e1616025fceba78e121807cfc11.tar.bz2 |
x86: crownbay: Enable on-board SMSC superio keyboard controller
So far we only enabled one legacy serial port on the SMSC LPC47m
superio chipset on Intel Crown Bay board. As the board also has
dual PS/2 ports routed out, enable the keyboard controller which
is i8042 compatible so that we can use PS/2 keyboard and mouse.
In order to make PS/2 keyboard work with the VGA console, remove
CONFIG_VGA_AS_SINGLE_DEVICE. To boot Linux kernel with PIC mode
using PIRQ routing table, adjust the mask in the device tree to
reserve irq12 which is used by PS/2 mouse.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | arch/x86/dts/crownbay.dts | 2 | ||||
-rw-r--r-- | board/intel/crownbay/crownbay.c | 7 | ||||
-rw-r--r-- | include/configs/crownbay.h | 3 |
3 files changed, 5 insertions, 7 deletions
diff --git a/arch/x86/dts/crownbay.dts b/arch/x86/dts/crownbay.dts index 3af9cc3..800901c 100644 --- a/arch/x86/dts/crownbay.dts +++ b/arch/x86/dts/crownbay.dts @@ -168,7 +168,7 @@ compatible = "intel,irq-router"; intel,pirq-config = "pci"; intel,pirq-link = <0x60 8>; - intel,pirq-mask = <0xdee0>; + intel,pirq-mask = <0xcee0>; intel,pirq-routing = < /* TunnelCreek PCI devices */ PCI_BDF(0, 2, 0) INTA PIRQE diff --git a/board/intel/crownbay/crownbay.c b/board/intel/crownbay/crownbay.c index ad2d5b6..d6de9fa 100644 --- a/board/intel/crownbay/crownbay.c +++ b/board/intel/crownbay/crownbay.c @@ -10,11 +10,12 @@ #include <netdev.h> #include <smsc_lpc47m.h> -#define SERIAL_DEV PNP_DEV(0x2e, 4) - int board_early_init_f(void) { - lpc47m_enable_serial(SERIAL_DEV, UART0_BASE, UART0_IRQ); + lpc47m_enable_serial(PNP_DEV(LPC47M_IO_PORT, LPC47M_SP1), + UART0_BASE, UART0_IRQ); + lpc47m_enable_kbc(PNP_DEV(LPC47M_IO_PORT, LPC47M_KBC), + KBD_IRQ, MSE_IRQ); return 0; } diff --git a/include/configs/crownbay.h b/include/configs/crownbay.h index 162f08f..998da78 100644 --- a/include/configs/crownbay.h +++ b/include/configs/crownbay.h @@ -53,9 +53,6 @@ #define CONFIG_PCH_GBE #define CONFIG_PHYLIB -/* TunnelCreek IGD support */ -#define CONFIG_VGA_AS_SINGLE_DEVICE - /* Environment configuration */ #define CONFIG_ENV_SECT_SIZE 0x1000 #define CONFIG_ENV_OFFSET 0 |