[U-Boot] [PATCH v2 7/7] x86: crownbay: Enable on-board SMSC superio keyboard controller

Bin Meng bmeng.cn at gmail.com
Fri Aug 21 09:18:57 CEST 2015


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 at gmail.com>
Reviewed-by: Simon Glass <sjg at chromium.org>

---

Changes in v2: None

 arch/x86/dts/crownbay.dts       | 2 +-
 board/intel/crownbay/crownbay.c | 7 ++++---
 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 e87bd54..32b6006 100644
--- a/include/configs/crownbay.h
+++ b/include/configs/crownbay.h
@@ -54,9 +54,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
-- 
1.8.2.1



More information about the U-Boot mailing list