9
0
Fork 0

ArchosG9: add keyboard input and new reset menu entries

The number of "#if" has been reduced to have less obfuscation, now have the
three keys or have none of them

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Vicente Bergas 2013-03-16 23:59:41 +01:00 committed by Sascha Hauer
parent 5a1d6da675
commit 28ce80f53c
8 changed files with 86 additions and 8 deletions

View File

@ -21,6 +21,9 @@
#include <sizes.h>
#include <i2c/i2c.h>
#include <gpio.h>
#include <gpio_keys.h>
#include <twl6030_pwrbtn.h>
#include <readkey.h>
#include "archos_features.h"
static int archosg9_console_init(void){
@ -47,11 +50,30 @@ mem_initcall(archosg9_mem_init);
static struct i2c_board_info i2c_devices[] = {
{ I2C_BOARD_INFO("twl6030", 0x48), },
};
#if defined(CONFIG_KEYBOARD_TWL6030) && defined(CONFIG_KEYBOARD_GPIO)
static struct twl6030_pwrbtn_platform_data pwrbtn_data = {
.code = KEY_ENTER
};
static struct gpio_keys_button keys[] = {
{ .code = KEY_UP , .gpio = 43, .active_low = 1 },
{ .code = KEY_DOWN, .gpio = 44, .active_low = 1 },
};
static struct gpio_keys_platform_data gk_data = {
.buttons = keys,
.nbuttons = ARRAY_SIZE(keys),
.fifo_size = ARRAY_SIZE(keys)*sizeof(int)
};
#endif
static int archosg9_devices_init(void){
i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices));
omap44xx_add_i2c1(NULL);
omap44xx_add_mmc1(NULL);
#if defined(CONFIG_KEYBOARD_TWL6030) && defined(CONFIG_KEYBOARD_GPIO)
add_generic_device_res("twl6030_pwrbtn", DEVICE_ID_DYNAMIC, 0, 0,
&pwrbtn_data);
add_gpio_keys_device(DEVICE_ID_DYNAMIC, &gk_data);
#endif
armlinux_set_bootparams((void *)0x80000100);
/*

28
arch/arm/boards/archosg9/env/bin/init vendored Normal file
View File

@ -0,0 +1,28 @@
#!/bin/sh
export PATH=/env/bin
global hostname=generic
global user=none
global boot.default=net
global allow_color=true
global linux.bootargs.base
#linux.bootargs.dyn.* will be cleared at the beginning of boot
global linux.bootargs.dyn.ip
global linux.bootargs.dyn.root
global editcmd=sedit
/env/config
timeout -s -a 0
autoboot="$?"
for i in /env/init/*; do
. $i
done
if [ "$autoboot" = 0 ]; then
boot
fi
/env/menu/mainmenu

View File

@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
boot-menu-add-entry "$0" "Android from SD card" "$2"
boot-menu-add-entry "$0" "Android from SD card"
exit
fi

View File

@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
boot-menu-add-entry "$0" "Linux from SD card" "$2"
boot-menu-add-entry "$0" "Linux from SD card"
exit
fi

View File

@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
boot-menu-add-entry "$0" "Android from usb" "$2"
boot-menu-add-entry "$0" "Android over usb"
exit
fi

View File

@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
boot-menu-add-entry "$0" "Linux from usb" "$2"
boot-menu-add-entry "$0" "Linux over usb"
exit
fi

View File

@ -0,0 +1,25 @@
#!/bin/sh
savepath=$PATH
export menupath=$PATH:/env/menu
. /env/data/ansi-colors
while true; do
export PATH=${menupath}
echo $PATH
menu -a -m boot -d "${CYAN}Welcome to Barebox${NC}"
boot-entries-collect
menu -e -a -m boot -c "settings" -d "Settings"
menu -e -a -m boot -c 'PATH=$savepath; echo "enter exit to return to menu"; sh' -d "${DARK_YELLOW}Shell${NC}"
menu -e -a -m boot -c 'boot_order mmc2_1 && reset' -d "${RED}Reboot into internal flash${NC}"
menu -e -a -m boot -c 'boot_order mmc1 && reset' -d "${RED}Reboot into SD card${NC}"
menu -e -a -m boot -c 'boot_order usb_1 && reset' -d "${RED}Reboot over usb${NC}"
menu -s -m boot
menu -r -m boot
done

View File

@ -3,8 +3,8 @@ CONFIG_ARCH_OMAP4=y
CONFIG_OMAP4_USBBOOT=y
CONFIG_MACH_ARCHOSG9=y
CONFIG_THUMB2_BAREBOX=y
CONFIG_CMD_ARM_MMUINFO=y
CONFIG_ARM_BOARD_APPEND_ATAG=y
CONFIG_CMD_ARM_MMUINFO=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_ARM_UNWIND=y
# CONFIG_MMU is not set
@ -52,6 +52,7 @@ CONFIG_CMD_BOOTM_AIMAGE=y
CONFIG_CMD_UIMAGE=y
# CONFIG_CMD_BOOTU is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_BOOT_ORDER=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
@ -70,9 +71,9 @@ CONFIG_NET_NETCONSOLE=y
CONFIG_NET_RESOLV=y
CONFIG_DRIVER_SERIAL_NS16550=y
CONFIG_DRIVER_SERIAL_NS16550_OMAP_EXTENSIONS=y
CONFIG_DRIVER_SERIAL_OMAP4_USBBOOT=y
CONFIG_NET_USB=y
CONFIG_NET_USB_SMSC95XX=y
CONFIG_DRIVER_SERIAL_OMAP4_USBBOOT=y
# CONFIG_SPI is not set
CONFIG_I2C=y
CONFIG_I2C_OMAP=y
@ -81,13 +82,15 @@ CONFIG_USB_EHCI=y
CONFIG_MCI=y
CONFIG_MCI_STARTUP=y
CONFIG_MCI_OMAP_HSMMC=y
CONFIG_MFD_TWL6030=y
CONFIG_LED=y
CONFIG_LED_GPIO=y
CONFIG_LED_TRIGGERS=y
CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_TWL6030=y
CONFIG_FS_TFTP=y
CONFIG_FS_NFS=y
CONFIG_MFD_TWL6030=y
CONFIG_FS_OMAP4_USBBOOT=y
CONFIG_FS_NFS=y
CONFIG_FS_FAT=y
CONFIG_FS_FAT_WRITE=y
CONFIG_FS_FAT_LFN=y