Browse Source

sunxi: Add usb keyboard Kconfig option

For use together with the hdmi console.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Hans de Goede 10 years ago
parent
commit
86b4909340

+ 7 - 0
board/sunxi/Kconfig

@@ -222,4 +222,11 @@ config VIDEO
 	Say Y here to add support for using a cfb console on the HDMI output
 	Say Y here to add support for using a cfb console on the HDMI output
 	found on most sunxi devices.
 	found on most sunxi devices.
 
 
+config USB_KEYBOARD
+	boolean "Enable USB keyboard support"
+	default y
+	---help---
+	Say Y here to add support for using a USB keyboard (typically used
+	in combination with a graphical console on HDMI).
+
 endif
 endif

+ 1 - 0
configs/A13-OLinuXinoM_defconfig

@@ -3,6 +3,7 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,USB_EHCI"
 CONFIG_FDTFILE="sun5i-a13-olinuxino-micro.dtb"
 CONFIG_FDTFILE="sun5i-a13-olinuxino-micro.dtb"
 CONFIG_USB1_VBUS_PIN="PG11"
 CONFIG_USB1_VBUS_PIN="PG11"
 CONFIG_VIDEO=n
 CONFIG_VIDEO=n
+CONFIG_USB_KEYBOARD=n
 +S:CONFIG_ARM=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN5I=y
 +S:CONFIG_MACH_SUN5I=y

+ 1 - 0
configs/A13-OLinuXino_defconfig

@@ -3,6 +3,7 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER,USB_EHCI"
 CONFIG_FDTFILE="sun5i-a13-olinuxino.dtb"
 CONFIG_FDTFILE="sun5i-a13-olinuxino.dtb"
 CONFIG_USB1_VBUS_PIN="PG11"
 CONFIG_USB1_VBUS_PIN="PG11"
 CONFIG_VIDEO=n
 CONFIG_VIDEO=n
+CONFIG_USB_KEYBOARD=n
 +S:CONFIG_ARM=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN5I=y
 +S:CONFIG_MACH_SUN5I=y

+ 1 - 0
configs/Colombus_defconfig

@@ -1,5 +1,6 @@
 CONFIG_SPL=y
 CONFIG_SPL=y
 CONFIG_FDTFILE="sun6i-a31-colombus.dtb"
 CONFIG_FDTFILE="sun6i-a31-colombus.dtb"
+CONFIG_USB_KEYBOARD=n
 +S:CONFIG_ARM=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN6I=y
 +S:CONFIG_MACH_SUN6I=y

+ 1 - 0
configs/Ippo_q8h_v5_defconfig

@@ -5,3 +5,4 @@ CONFIG_MACH_SUN8I=y
 CONFIG_TARGET_IPPO_Q8H_V5=y
 CONFIG_TARGET_IPPO_Q8H_V5=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-ippo-q8h-v5.dtb"
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-ippo-q8h-v5.dtb"
 CONFIG_VIDEO=n
 CONFIG_VIDEO=n
+CONFIG_USB_KEYBOARD=n

+ 13 - 0
include/configs/sunxi-common.h

@@ -247,6 +247,13 @@
 #define CONFIG_USB_STORAGE
 #define CONFIG_USB_STORAGE
 #endif
 #endif
 
 
+#ifdef CONFIG_USB_KEYBOARD
+#define CONFIG_CONSOLE_MUX
+#define CONFIG_PREBOOT
+#define CONFIG_SYS_STDIO_DEREGISTER
+#define CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE
+#endif
+
 #if !defined CONFIG_ENV_IS_IN_MMC && \
 #if !defined CONFIG_ENV_IS_IN_MMC && \
     !defined CONFIG_ENV_IS_IN_NAND && \
     !defined CONFIG_ENV_IS_IN_NAND && \
     !defined CONFIG_ENV_IS_IN_FAT && \
     !defined CONFIG_ENV_IS_IN_FAT && \
@@ -297,8 +304,14 @@
 
 
 #include <config_distro_bootcmd.h>
 #include <config_distro_bootcmd.h>
 
 
+#ifdef CONFIG_USB_KEYBOARD
+#define CONSOLE_STDIN_SETTINGS \
+	"preboot=usb start\0" \
+	"stdin=serial,usbkbd\0"
+#else
 #define CONSOLE_STDIN_SETTINGS \
 #define CONSOLE_STDIN_SETTINGS \
 	"stdin=serial\0"
 	"stdin=serial\0"
+#endif
 
 
 #ifdef CONFIG_VIDEO
 #ifdef CONFIG_VIDEO
 #define CONSOLE_STDOUT_SETTINGS \
 #define CONSOLE_STDOUT_SETTINGS \