[U-Boot] [PATCH v2 23/28] x86: Add an i8042 device for boards that have it
Bin Meng
bmeng.cn at gmail.com
Fri Oct 23 06:41:34 CEST 2015
On Mon, Oct 19, 2015 at 11:17 AM, Simon Glass <sjg at chromium.org> wrote:
> 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 at chromium.org>
> ---
>
> Changes in v2:
> - Drop CONFIG_VGA_AS_SINGLE_DEVICE from all x86 board config files
>
> arch/x86/Kconfig | 6 ++++++
> arch/x86/dts/bayleybay.dts | 1 +
> arch/x86/dts/chromebook_link.dts | 5 +++++
> arch/x86/dts/keyboard.dtsi | 5 +++++
> doc/device-tree-bindings/input/i8042.txt | 10 ++++++++++
> include/configs/bayleybay.h | 3 ---
> include/configs/chromebox_panther.h | 2 --
> include/configs/minnowmax.h | 1 -
> include/configs/x86-chromebook.h | 2 +-
> include/configs/x86-common.h | 2 +-
> 10 files changed, 29 insertions(+), 8 deletions(-)
> create mode 100644 arch/x86/dts/keyboard.dtsi
> create mode 100644 doc/device-tree-bindings/input/i8042.txt
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 5e42d7d..72a66ea 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -401,6 +401,12 @@ config PCIE_ECAM_SIZE
> so a default 0x10000000 size covers all of the 256 buses which is the
> maximum number of PCI buses as defined by the PCI specification.
>
> +config I8042_KEYB
> + default y
> +
> +config DM_KEYBOARD
> + default y
> +
> source "arch/x86/lib/efi/Kconfig"
>
> endmenu
> diff --git a/arch/x86/dts/bayleybay.dts b/arch/x86/dts/bayleybay.dts
> index d646987..58d97c8 100644
> --- a/arch/x86/dts/bayleybay.dts
> +++ b/arch/x86/dts/bayleybay.dts
> @@ -10,6 +10,7 @@
> #include <dt-bindings/interrupt-router/intel-irq.h>
>
> /include/ "skeleton.dtsi"
> +/include/ "keyboard.dtsi"
> /include/ "serial.dtsi"
> /include/ "rtc.dtsi"
>
> diff --git a/arch/x86/dts/chromebook_link.dts b/arch/x86/dts/chromebook_link.dts
> index 4291141..f09868b 100644
> --- a/arch/x86/dts/chromebook_link.dts
> +++ b/arch/x86/dts/chromebook_link.dts
> @@ -1,6 +1,7 @@
> /dts-v1/;
>
> /include/ "skeleton.dtsi"
> +/include/ "keyboard.dtsi"
> /include/ "serial.dtsi"
> /include/ "rtc.dtsi"
>
> @@ -41,6 +42,10 @@
> 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
> index 0000000..000751b
> --- /dev/null
> +++ b/arch/x86/dts/keyboard.dtsi
> @@ -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
> index 0000000..cd079c2
> --- /dev/null
> +++ b/doc/device-tree-bindings/input/i8042.txt
> @@ -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.
> diff --git a/include/configs/bayleybay.h b/include/configs/bayleybay.h
> index 1ba2998..ac6b45b 100644
> --- a/include/configs/bayleybay.h
> +++ b/include/configs/bayleybay.h
> @@ -33,9 +33,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
> diff --git a/include/configs/chromebox_panther.h b/include/configs/chromebox_panther.h
> index dc732b8..00fe26d 100644
> --- a/include/configs/chromebox_panther.h
> +++ b/include/configs/chromebox_panther.h
> @@ -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 */
> diff --git a/include/configs/minnowmax.h b/include/configs/minnowmax.h
> index 53d86a2..c90af40 100644
> --- a/include/configs/minnowmax.h
> +++ b/include/configs/minnowmax.h
> @@ -43,7 +43,6 @@
>
> #define VIDEO_IO_OFFSET 0
> #define CONFIG_X86EMU_RAW_IO
> -#define CONFIG_VGA_AS_SINGLE_DEVICE
>
> #define CONFIG_FIT_SIGNATURE
> #define CONFIG_RSA
> diff --git a/include/configs/x86-chromebook.h b/include/configs/x86-chromebook.h
> index 2be8850..4ff8b94 100644
> --- a/include/configs/x86-chromebook.h
> +++ b/include/configs/x86-chromebook.h
> @@ -51,7 +51,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"
>
> diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h
> index 3f153f2..ff8fe0f 100644
> --- a/include/configs/x86-common.h
> +++ b/include/configs/x86-common.h
> @@ -147,7 +147,7 @@
> #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
>
> --
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
More information about the U-Boot
mailing list