x86: Add an i8042 device for boards that have it
authorSimon Glass <sjg@chromium.org>
Wed, 11 Nov 2015 17:05:43 +0000 (10:05 -0700)
committerSimon Glass <sjg@chromium.org>
Fri, 20 Nov 2015 03:13:41 +0000 (20:13 -0700)
Some boards have an i8042 device. Enable the driver for all x86 boards, and
add a device tree node for those which may have this keyboard.

Also adjust the configuration so that i8042 is always separate from the VGA,
and rename the stdin driver accordingly. With this commit the keyboard will
not work, but it is fixed in the next commit.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/Kconfig
arch/x86/dts/bayleybay.dts
arch/x86/dts/chromebook_link.dts
arch/x86/dts/keyboard.dtsi [new file with mode: 0644]
doc/device-tree-bindings/input/i8042.txt [new file with mode: 0644]
include/configs/bayleybay.h
include/configs/chromebox_panther.h
include/configs/minnowmax.h
include/configs/x86-chromebook.h
include/configs/x86-common.h

index 8914be34e687fb7d733021e5a7fcb138b7566f47..14ab98ef6211217307d47a83fbd357b6efe0a04a 100644 (file)
@@ -435,6 +435,12 @@ config I8254_TIMER
          Intel 8254 timer contains three counters which have fixed uses.
          Include this to have U-Boot set up the timer correctly.
 
+config I8042_KEYB
+       default y
+
+config DM_KEYBOARD
+       default y
+
 source "arch/x86/lib/efi/Kconfig"
 
 endmenu
index 52d0999f19f299a81b8705a0f6e32651159a6e08..aa863878fec9a7d8894a65e194cc91b70c68af14 100644 (file)
@@ -10,6 +10,7 @@
 #include <dt-bindings/interrupt-router/intel-irq.h>
 
 /include/ "skeleton.dtsi"
+/include/ "keyboard.dtsi"
 /include/ "serial.dtsi"
 /include/ "rtc.dtsi"
 
index f27263a54749acf3c17dceb9b684f56632e560ee..7870bb172bf35521ad26a9e5c60b5c50dd890b2a 100644 (file)
@@ -1,6 +1,7 @@
 /dts-v1/;
 
 /include/ "skeleton.dtsi"
+/include/ "keyboard.dtsi"
 /include/ "serial.dtsi"
 /include/ "rtc.dtsi"
 
                stdout-path = "/serial";
        };
 
+       keyboard {
+               intel,duplicate-por;
+       };
+
        spd {
                compatible = "memory-spd";
                #address-cells = <1>;
diff --git a/arch/x86/dts/keyboard.dtsi b/arch/x86/dts/keyboard.dtsi
new file mode 100644 (file)
index 0000000..000751b
--- /dev/null
@@ -0,0 +1,5 @@
+/ {
+       keyboard {
+               compatible = "intel,i8042-keyboard";
+       };
+};
diff --git a/doc/device-tree-bindings/input/i8042.txt b/doc/device-tree-bindings/input/i8042.txt
new file mode 100644 (file)
index 0000000..cd079c2
--- /dev/null
@@ -0,0 +1,10 @@
+i8042 Keyboard
+
+The Intel i8042 is a keyboard controller used on many x86 PCs.
+
+Required properties:
+- compatible: "intel,i8042-keyboard"
+
+Optional properties:
+- intel,duplicate-por: Indicates that a keyboard reset may result in a
+  duplicate POR byte, which should be ignored.
index b102c689e27b4482bb9b37281d44c4aa30e25b4c..92326e1d0abdc62124fbedfce4463f9210cc4fa2 100644 (file)
@@ -32,9 +32,6 @@
 #define CONFIG_MMC_SDMA
 #define CONFIG_CMD_MMC
 
-/* BayTrail IGD support */
-#define CONFIG_VGA_AS_SINGLE_DEVICE
-
 /* Environment configuration */
 #define CONFIG_ENV_SECT_SIZE           0x1000
 #define CONFIG_ENV_OFFSET              0x006ff000
index dc732b810f9c29a3d47c97a5a2a5ab657186d1d0..00fe26da2965ed48feb9e2b32d7305968084d6b5 100644 (file)
@@ -14,6 +14,4 @@
 /* Avoid a warning in the Realtek Ethernet driver */
 #define CONFIG_SYS_CACHELINE_SIZE 16
 
-#define CONFIG_VGA_AS_SINGLE_DEVICE
-
 #endif /* __CONFIG_H */
index a20552e74eeec4c8cd304d7a4bb102099963cacd..95d356a0d402f43cca37aaf621aa074662c76456 100644 (file)
@@ -42,7 +42,6 @@
 
 #define VIDEO_IO_OFFSET                                0
 #define CONFIG_X86EMU_RAW_IO
-#define CONFIG_VGA_AS_SINGLE_DEVICE
 
 #define CONFIG_FIT_SIGNATURE
 #define CONFIG_RSA
index b0aa875f5e1dc1f92fc9a080388c8c6bd2357605..9fb1a7a2596e9b0ec4cee2f0381dd7e3fafb4f38 100644 (file)
@@ -50,7 +50,7 @@
 #define CONFIG_ENV_IS_IN_SPI_FLASH
 #define CONFIG_ENV_OFFSET              0x003f8000
 
-#define CONFIG_STD_DEVICES_SETTINGS     "stdin=usbkbd,vga,serial\0" \
+#define CONFIG_STD_DEVICES_SETTINGS     "stdin=usbkbd,i8042-kbd,serial\0" \
                                        "stdout=vga,serial\0" \
                                        "stderr=vga,serial\0"
 
index 33263ab60c08430a25f792cd27584da89b48946a..3a18f694319b0e37c7d84069a006656a145f1e5e 100644 (file)
 #define CONFIG_VIDEO
 #define CONFIG_VIDEO_SW_CURSOR
 #define VIDEO_FB_16BPP_WORD_SWAP
-#define CONFIG_I8042_KBD
+#define CONFIG_VGA_AS_SINGLE_DEVICE
 #define CONFIG_CFB_CONSOLE
 #define CONFIG_CONSOLE_SCROLL_LINES 5