* [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2)
@ 2013-03-16 22:59 Vicente Bergas
2013-03-16 22:59 ` [PATCH 1/6] OMAP4: check for usb availability at device registration Vicente Bergas
` (6 more replies)
0 siblings, 7 replies; 10+ messages in thread
From: Vicente Bergas @ 2013-03-16 22:59 UTC (permalink / raw)
To: barebox; +Cc: Vicente Bergas
This is the second version of this patch series, it includes all feedback received
which is greatly appreciated.
Vicente Bergas (6):
OMAP4: check for usb availability at device registration
ArchosG9: zero all features before setting them
gpio_keys: detect keys pressed before booting
OMAP4: add command to select next boot device priority
ArchosG9: add keyboard input and new reset menu entries
menu: avoid errors when building submenus
arch/arm/boards/archosg9/archos_features.c | 58 +++++------------
arch/arm/boards/archosg9/board.c | 28 +++++++-
arch/arm/boards/archosg9/env/bin/init | 28 ++++++++
arch/arm/boards/archosg9/env/boot/usb-android | 2 +-
arch/arm/boards/archosg9/env/boot/usb-linux | 2 +-
arch/arm/boards/archosg9/env/menu/mainmenu | 25 ++++++++
arch/arm/boards/at91sam9m10ihd/env/boot/android | 2 +-
arch/arm/boards/at91sam9m10ihd/env/boot/mmc | 2 +-
arch/arm/boards/at91sam9m10ihd/env/boot/net | 2 +-
arch/arm/boards/at91sam9m10ihd/env/boot/net-usb | 2 +-
arch/arm/boards/beagle/env/boot/mmc | 2 +-
arch/arm/boards/beagle/env/boot/nand-ubi | 2 +-
arch/arm/boards/beagle/env/boot/nand-ubi-dt | 2 +-
arch/arm/boards/beaglebone/env/boot/sd | 2 +-
arch/arm/boards/clep7212/env/boot/nor | 2 +-
.../boards/crystalfontz-cfa10036/env/boot/mmc-ext3 | 2 +-
.../boards/efika-mx-smartbook/env/boot/hd-internal | 2 +-
.../boards/efika-mx-smartbook/env/boot/mmc-left | 2 +-
arch/arm/boards/guf-vincell/env/boot/nand-ubi | 2 +-
arch/arm/boards/karo-tx25/env/boot/nand-ubi | 2 +-
arch/arm/boards/panda/env/boot/mmc | 2 +-
arch/arm/boards/pcm037/env/boot/nand-ubi | 2 +-
arch/arm/boards/pcm038/env/boot/nand-ubi | 2 +-
arch/arm/boards/pcm043/env/boot/nand-ubi | 2 +-
arch/arm/boards/pcm051/env/boot/sd | 2 +-
arch/arm/boards/telit-evk-pro3/env/boot/nand-ubi | 2 +-
arch/arm/configs/archosg9_defconfig | 11 ++--
arch/arm/mach-omap/include/mach/omap4-silicon.h | 20 ++++++
arch/arm/mach-omap/omap4_generic.c | 20 ++++++
commands/Kconfig | 5 ++
commands/Makefile | 1 +
commands/boot_order.c | 75 ++++++++++++++++++++++
defaultenv-2/base/boot/net | 2 +-
defaultenv-2/base/data/boot-template | 2 +-
defaultenv-2/menu/menu/boot-entries-collect | 4 +-
defaultenv-2/menu/menu/boot-entries-edit | 2 +-
defaultenv-2/menu/menu/boot-entries-remove | 2 +-
defaultenv-2/menu/menu/boot-menu-add-entry | 6 +-
defaultenv-2/menu/menu/mainmenu | 2 +-
drivers/input/gpio_keys.c | 2 +
drivers/serial/serial_omap4_usbboot.c | 2 -
41 files changed, 258 insertions(+), 81 deletions(-)
create mode 100644 arch/arm/boards/archosg9/env/bin/init
create mode 100644 arch/arm/boards/archosg9/env/menu/mainmenu
create mode 100644 commands/boot_order.c
--
1.8.2
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/6] OMAP4: check for usb availability at device registration
2013-03-16 22:59 [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Vicente Bergas
@ 2013-03-16 22:59 ` Vicente Bergas
2013-03-16 22:59 ` [PATCH 2/6] ArchosG9: zero all features before setting them Vicente Bergas
` (5 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Vicente Bergas @ 2013-03-16 22:59 UTC (permalink / raw)
To: barebox; +Cc: Vicente Bergas
this way serial-over-usb driver is registered always, but the device is
only registered when booting from usb.
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
---
arch/arm/boards/archosg9/board.c | 6 +++++-
drivers/serial/serial_omap4_usbboot.c | 2 --
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boards/archosg9/board.c b/arch/arm/boards/archosg9/board.c
index bf247de..3ae7051 100644
--- a/arch/arm/boards/archosg9/board.c
+++ b/arch/arm/boards/archosg9/board.c
@@ -17,15 +17,19 @@
#include <generated/mach-types.h>
#include <mach/omap4-silicon.h>
#include <mach/omap4-devices.h>
+#include <mach/omap4_rom_usb.h>
#include <sizes.h>
#include <i2c/i2c.h>
#include <gpio.h>
#include "archos_features.h"
static int archosg9_console_init(void){
- if (IS_ENABLED(CONFIG_DRIVER_SERIAL_OMAP4_USBBOOT))
+ if (IS_ENABLED(CONFIG_DRIVER_SERIAL_OMAP4_USBBOOT) &&
+ omap4_usbboot_ready()
+ ){
add_generic_device("serial_omap4_usbboot", DEVICE_ID_DYNAMIC
, NULL, 0, 0, 0, NULL);
+ }
if (IS_ENABLED(CONFIG_DRIVER_SERIAL_NS16550)) {
gpio_direction_output(41, 0); /* gps_disable */
gpio_direction_output(34, 1); /* 1v8_pwron */
diff --git a/drivers/serial/serial_omap4_usbboot.c b/drivers/serial/serial_omap4_usbboot.c
index e377fc4..f0a2fd1 100644
--- a/drivers/serial/serial_omap4_usbboot.c
+++ b/drivers/serial/serial_omap4_usbboot.c
@@ -78,8 +78,6 @@ static struct driver_d serial_omap4_usbboot_driver = {
static int serial_omap4_usbboot_init(void)
{
- if (!omap4_usbboot_ready())
- return 0;
return platform_driver_register(&serial_omap4_usbboot_driver);
}
console_initcall(serial_omap4_usbboot_init);
--
1.8.2
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/6] ArchosG9: zero all features before setting them
2013-03-16 22:59 [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Vicente Bergas
2013-03-16 22:59 ` [PATCH 1/6] OMAP4: check for usb availability at device registration Vicente Bergas
@ 2013-03-16 22:59 ` Vicente Bergas
2013-03-16 22:59 ` [PATCH 3/6] gpio_keys: detect keys pressed before booting Vicente Bergas
` (4 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Vicente Bergas @ 2013-03-16 22:59 UTC (permalink / raw)
To: barebox; +Cc: Vicente Bergas
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
---
arch/arm/boards/archosg9/archos_features.c | 58 +++++++++---------------------
1 file changed, 16 insertions(+), 42 deletions(-)
diff --git a/arch/arm/boards/archosg9/archos_features.c b/arch/arm/boards/archosg9/archos_features.c
index 5d93403..b396734 100644
--- a/arch/arm/boards/archosg9/archos_features.c
+++ b/arch/arm/boards/archosg9/archos_features.c
@@ -27,9 +27,9 @@ static void setup_feature_core(void)
features->hdr.tag = FTAG_CORE;
features->hdr.size = feature_tag_size(feature_tag_core);
+ memset(&features->u.core, 0, sizeof(features->u.core));
features->u.core.magic = FEATURE_LIST_MAGIC;
features->u.core.list_revision = FEATURE_LIST_REV;
- features->u.core.flags = 0;
features = feature_tag_next(features);
}
@@ -38,8 +38,7 @@ static void setup_feature_product_name(void)
features->hdr.tag = FTAG_PRODUCT_NAME;
features->hdr.size = feature_tag_size(feature_tag_product_name);
- memset(features->u.product_name.name, 0,
- sizeof(features->u.product_name.name));
+ memset(&features->u.product_name, 0, sizeof(features->u.product_name));
sprintf(features->u.product_name.name, "A80S");
features->u.product_name.id = 0x13A8;
@@ -50,10 +49,8 @@ static void setup_feature_product_serial_number(void)
features->hdr.tag = FTAG_PRODUCT_SERIAL_NUMBER;
features->hdr.size = feature_tag_size(feature_tag_product_serial);
- features->u.product_serial.serial[0] = 0;
- features->u.product_serial.serial[1] = 0;
- features->u.product_serial.serial[2] = 0;
- features->u.product_serial.serial[3] = 0;
+ memset(&features->u.product_serial, 0,
+ sizeof(features->u.product_serial));
features = feature_tag_next(features);
}
@@ -62,14 +59,7 @@ static void setup_feature_product_mac_address(void)
features->hdr.tag = FTAG_PRODUCT_MAC_ADDRESS;
features->hdr.size = feature_tag_size(feature_tag_product_mac_address);
- features->u.mac_address.addr[0] = 0;
- features->u.mac_address.addr[1] = 0;
- features->u.mac_address.addr[2] = 0;
- features->u.mac_address.addr[3] = 0;
- features->u.mac_address.addr[4] = 0;
- features->u.mac_address.addr[5] = 0;
- features->u.mac_address.reserved1 = 0;
- features->u.mac_address.reserved2 = 0;
+ memset(&features->u.mac_address, 0, sizeof(features->u.mac_address));
features = feature_tag_next(features);
}
@@ -78,6 +68,8 @@ static void setup_feature_board_pcb_revision(void)
features->hdr.tag = FTAG_BOARD_PCB_REVISION;
features->hdr.size = feature_tag_size(feature_tag_board_revision);
+ memset(&features->u.board_revision, 0,
+ sizeof(features->u.board_revision));
features->u.board_revision.revision = 5;
features = feature_tag_next(features);
@@ -87,23 +79,10 @@ static void setup_feature_sdram(void)
features->hdr.tag = FTAG_SDRAM;
features->hdr.size = feature_tag_size(feature_tag_sdram);
- memset(features->u.sdram.vendor, 0, sizeof(features->u.sdram.vendor));
- memset(features->u.sdram.product, 0,
- sizeof(features->u.sdram.product));
+ memset(&features->u.sdram, 0, sizeof(features->u.sdram));
sprintf(features->u.sdram.vendor , "elpida");
- sprintf(features->u.sdram.product, "EDB8064B1PB"/*"EDB4064B2PB"*/);
- features->u.sdram.type = 0;
- features->u.sdram.revision = 0;
- features->u.sdram.flags = 0;
- features->u.sdram.clock = 400;
- features->u.sdram.param_0 = 0;
- features->u.sdram.param_1 = 0;
- features->u.sdram.param_2 = 0;
- features->u.sdram.param_3 = 0;
- features->u.sdram.param_4 = 0;
- features->u.sdram.param_5 = 0;
- features->u.sdram.param_6 = 0;
- features->u.sdram.param_7 = 0;
+ sprintf(features->u.sdram.product, "EDB8064B1PB");
+ features->u.sdram.clock = 400;
features = feature_tag_next(features);
}
@@ -112,6 +91,7 @@ static void setup_feature_pmic(void)
features->hdr.tag = FTAG_PMIC;
features->hdr.size = feature_tag_size(feature_tag_pmic);
+ memset(&features->u.pmic, 0, sizeof(features->u.pmic));
features->u.pmic.flags = FTAG_PMIC_TPS62361;
features = feature_tag_next(features);
@@ -121,6 +101,7 @@ static void setup_feature_serial_port(void)
features->hdr.tag = FTAG_SERIAL_PORT;
features->hdr.size = feature_tag_size(feature_tag_serial_port);
+ memset(&features->u.serial_port, 0, sizeof(features->u.serial_port));
features->u.serial_port.uart_id = 1;
features->u.serial_port.speed = 115200;
@@ -131,9 +112,10 @@ static void setup_feature_has_gpio_volume_keys(void)
features->hdr.tag = FTAG_HAS_GPIO_VOLUME_KEYS;
features->hdr.size = feature_tag_size(feature_tag_gpio_volume_keys);
+ memset(&features->u.gpio_volume_keys, 0,
+ sizeof(features->u.gpio_volume_keys));
features->u.gpio_volume_keys.gpio_vol_up = 0x2B;
features->u.gpio_volume_keys.gpio_vol_down = 0x2C;
- features->u.gpio_volume_keys.flags = 0;
features = feature_tag_next(features);
}
@@ -142,18 +124,9 @@ static void setup_feature_screen(void)
features->hdr.tag = FTAG_SCREEN;
features->hdr.size = feature_tag_size(feature_tag_screen);
- memset(features->u.screen.vendor, 0,
- sizeof(features->u.screen.vendor));
+ memset(&features->u.screen, 0, sizeof(features->u.screen));
sprintf(features->u.screen.vendor, "CMI");
- features->u.screen.type = 0;
- features->u.screen.revision = 0;
- features->u.screen.vcom = 0;
features->u.screen.backlight = 0xC8;
- features->u.screen.reserved[0] = 0;
- features->u.screen.reserved[1] = 0;
- features->u.screen.reserved[2] = 0;
- features->u.screen.reserved[3] = 0;
- features->u.screen.reserved[4] = 0;
features = feature_tag_next(features);
}
@@ -162,6 +135,7 @@ static void setup_feature_turbo(void)
features->hdr.tag = FTAG_TURBO;
features->hdr.size = feature_tag_size(feature_tag_turbo);
+ memset(&features->u.turbo, 0, sizeof(features->u.turbo));
features->u.turbo.flag = 1;
features = feature_tag_next(features);
--
1.8.2
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/6] gpio_keys: detect keys pressed before booting
2013-03-16 22:59 [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Vicente Bergas
2013-03-16 22:59 ` [PATCH 1/6] OMAP4: check for usb availability at device registration Vicente Bergas
2013-03-16 22:59 ` [PATCH 2/6] ArchosG9: zero all features before setting them Vicente Bergas
@ 2013-03-16 22:59 ` Vicente Bergas
2013-03-16 22:59 ` [PATCH 4/6] OMAP4: add command to select next boot device priority Vicente Bergas
` (3 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Vicente Bergas @ 2013-03-16 22:59 UTC (permalink / raw)
To: barebox; +Cc: Vicente Bergas
If a key is pressed but not released before booting and the key is
connected to an active low gpio it's not detected. This patch solves
that.
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
---
drivers/input/gpio_keys.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/input/gpio_keys.c b/drivers/input/gpio_keys.c
index b02e0ed..b439111 100644
--- a/drivers/input/gpio_keys.c
+++ b/drivers/input/gpio_keys.c
@@ -86,6 +86,8 @@ static int __init gpio_keys_probe(struct device_d *dev)
return ret;
}
gpio_direction_input(gpio);
+ pdata->buttons[i].previous_state =
+ pdata->buttons[i].active_low;
}
pdata->poller.func = gpio_key_poller;
--
1.8.2
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/6] OMAP4: add command to select next boot device priority
2013-03-16 22:59 [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Vicente Bergas
` (2 preceding siblings ...)
2013-03-16 22:59 ` [PATCH 3/6] gpio_keys: detect keys pressed before booting Vicente Bergas
@ 2013-03-16 22:59 ` Vicente Bergas
2013-03-25 9:36 ` Sascha Hauer
2013-03-16 22:59 ` [PATCH 5/6] ArchosG9: add keyboard input and new reset menu entries Vicente Bergas
` (2 subsequent siblings)
6 siblings, 1 reply; 10+ messages in thread
From: Vicente Bergas @ 2013-03-16 22:59 UTC (permalink / raw)
To: barebox; +Cc: Vicente Bergas
On OMAP4 SoC there is a SAR memory region (Save & Rescue) where the ROM
code reads the device to boot from.
This patch adds a way to set this.
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
---
arch/arm/mach-omap/include/mach/omap4-silicon.h | 20 +++++++
arch/arm/mach-omap/omap4_generic.c | 20 +++++++
commands/Kconfig | 5 ++
commands/Makefile | 1 +
commands/boot_order.c | 75 +++++++++++++++++++++++++
5 files changed, 121 insertions(+)
create mode 100644 commands/boot_order.c
diff --git a/arch/arm/mach-omap/include/mach/omap4-silicon.h b/arch/arm/mach-omap/include/mach/omap4-silicon.h
index 9e82435..666e721 100644
--- a/arch/arm/mach-omap/include/mach/omap4-silicon.h
+++ b/arch/arm/mach-omap/include/mach/omap4-silicon.h
@@ -161,6 +161,25 @@
#define OMAP44XX_PRM_RSTCTRL_RESET 0x01
/*
+ * SAR (Save & Rescue) memory region
+ */
+#define OMAP44XX_SAR_RAM_BASE 0x4a326000
+#define OMAP44XX_SAR_CH_ADDRESS (OMAP44XX_SAR_RAM_BASE + 0xA00)
+#define OMAP44XX_SAR_CH_START (OMAP44XX_SAR_RAM_BASE + 0xA0C)
+#define OMAP44XX_SAR_BOOT_VOID 0x00
+#define OMAP44XX_SAR_BOOT_XIP 0x01
+#define OMAP44XX_SAR_BOOT_XIPWAIT 0x02
+#define OMAP44XX_SAR_BOOT_NAND 0x03
+#define OMAP44XX_SAR_BOOT_ONENAND 0x04
+#define OMAP44XX_SAR_BOOT_MMC1 0x05
+#define OMAP44XX_SAR_BOOT_MMC2_1 0x06
+#define OMAP44XX_SAR_BOOT_MMC2_2 0x07
+#define OMAP44XX_SAR_BOOT_UART 0x43
+#define OMAP44XX_SAR_BOOT_USB_1 0x45
+#define OMAP44XX_SAR_BOOT_USB_ULPI 0x46
+#define OMAP44XX_SAR_BOOT_USB_2 0x47
+
+/*
* Non-secure SRAM Addresses
* Non-secure RAM starts at 0x40300000 for GP devices. But we keep SRAM_BASE
* at 0x40304000(EMU base) so that our code works for both EMU and GP
@@ -212,6 +231,7 @@ void omap4_ddr_init(const struct ddr_regs *, const struct dpll_param *);
void omap4_power_i2c_send(u32);
unsigned int omap4_revision(void);
noinline int omap4_scale_vcores(unsigned vsel0_pin);
+void omap4_set_warmboot_order(u32 *device_list);
#endif
diff --git a/arch/arm/mach-omap/omap4_generic.c b/arch/arm/mach-omap/omap4_generic.c
index 2a09eb6..e062332 100644
--- a/arch/arm/mach-omap/omap4_generic.c
+++ b/arch/arm/mach-omap/omap4_generic.c
@@ -41,6 +41,26 @@ void __noreturn reset_cpu(unsigned long addr)
while (1);
}
+void omap4_set_warmboot_order(u32 *device_list)
+{
+ const u32 CH[] = {
+ 0xCF00AA01,
+ 0x0000000C,
+ (device_list[0] << 16) | 0x0000,
+ (device_list[2] << 16) | device_list[1],
+ 0x0000 | device_list[3],
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000
+ };
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(CH); i++)
+ writel(CH[i], OMAP44XX_SAR_CH_START + i*sizeof(CH[0]));
+ writel(OMAP44XX_SAR_CH_START, OMAP44XX_SAR_CH_ADDRESS);
+}
+
#define WATCHDOG_WSPR 0x48
#define WATCHDOG_WWPS 0x34
diff --git a/commands/Kconfig b/commands/Kconfig
index 0062758..524f00e 100644
--- a/commands/Kconfig
+++ b/commands/Kconfig
@@ -474,6 +474,11 @@ config CMD_POWEROFF
depends on HAS_POWEROFF
prompt "poweroff"
+config CMD_BOOT_ORDER
+ tristate
+ depends on ARCH_OMAP4
+ prompt "boot_order"
+
config CMD_GO
tristate
prompt "go"
diff --git a/commands/Makefile b/commands/Makefile
index 0ae6b95..428da57 100644
--- a/commands/Makefile
+++ b/commands/Makefile
@@ -14,6 +14,7 @@ obj-$(CONFIG_CMD_SLEEP) += sleep.o
obj-$(CONFIG_CMD_MSLEEP) += msleep.o
obj-$(CONFIG_CMD_RESET) += reset.o
obj-$(CONFIG_CMD_POWEROFF) += poweroff.o
+obj-$(CONFIG_CMD_BOOT_ORDER) += boot_order.o
obj-$(CONFIG_CMD_GO) += go.o
obj-$(CONFIG_NET) += net.o
obj-$(CONFIG_CMD_PARTITION) += partition.o
diff --git a/commands/boot_order.c b/commands/boot_order.c
new file mode 100644
index 0000000..66b87bc
--- /dev/null
+++ b/commands/boot_order.c
@@ -0,0 +1,75 @@
+/*
+ * boot_order.c - configure omap warm boot
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <common.h>
+#include <command.h>
+#include <complete.h>
+#include <mach/omap4-silicon.h>
+
+struct bootsrc {
+ const char *name;
+ uint32_t sar;
+};
+
+static int cmd_boot_order(int argc, char *argv[])
+{
+ const struct bootsrc src_list[] = {
+ {"xip" , OMAP44XX_SAR_BOOT_XIP },
+ {"xipwait" , OMAP44XX_SAR_BOOT_XIPWAIT },
+ {"nand" , OMAP44XX_SAR_BOOT_NAND },
+ {"onenand" , OMAP44XX_SAR_BOOT_ONENAND },
+ {"mmc1" , OMAP44XX_SAR_BOOT_MMC1 },
+ {"mmc2_1" , OMAP44XX_SAR_BOOT_MMC2_1 },
+ {"mmc2_2" , OMAP44XX_SAR_BOOT_MMC2_2 },
+ {"uart" , OMAP44XX_SAR_BOOT_UART },
+ {"usb_1" , OMAP44XX_SAR_BOOT_USB_1 },
+ {"usb_ulpi", OMAP44XX_SAR_BOOT_USB_ULPI},
+ {"usb_2" , OMAP44XX_SAR_BOOT_USB_2 },
+ };
+ uint32_t device_list[] = {
+ OMAP44XX_SAR_BOOT_VOID,
+ OMAP44XX_SAR_BOOT_VOID,
+ OMAP44XX_SAR_BOOT_VOID,
+ OMAP44XX_SAR_BOOT_VOID,
+ };
+ int i, j;
+
+ for (i = 0; i + 1 < argc && i < ARRAY_SIZE(device_list); i++) {
+ for (j = 0; j < ARRAY_SIZE(src_list); j++) {
+ if (strcmp(argv[i + 1], src_list[j].name) == 0) {
+ device_list[i] = src_list[j].sar;
+ break;
+ }
+ }
+ }
+ if (device_list[0] == OMAP44XX_SAR_BOOT_VOID) {
+ printf("First boot device can't be void\n");
+ return COMMAND_ERROR_USAGE;
+ }
+ omap4_set_warmboot_order(device_list);
+ return 0;
+}
+
+static const __maybe_unused char cmd_boot_order_help[] =
+"Usage: boot_order <device 1> [<device n>]\n"
+"Set warm boot order of up to four devices.\n"
+"Each device can be one of:\n"
+"xip xipwait nand onenand mmc1 mmc2_1 mmc2_2 uart usb_1 usb_ulpi usb_2\n";
+
+BAREBOX_CMD_START(boot_order)
+ .cmd = cmd_boot_order,
+ .usage = "boot_order <device 1> [<device n>]",
+ BAREBOX_CMD_HELP(cmd_boot_order_help)
+ BAREBOX_CMD_COMPLETE(empty_complete)
+BAREBOX_CMD_END
--
1.8.2
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 5/6] ArchosG9: add keyboard input and new reset menu entries
2013-03-16 22:59 [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Vicente Bergas
` (3 preceding siblings ...)
2013-03-16 22:59 ` [PATCH 4/6] OMAP4: add command to select next boot device priority Vicente Bergas
@ 2013-03-16 22:59 ` Vicente Bergas
2013-03-16 22:59 ` [PATCH 6/6] menu: avoid errors when building submenus Vicente Bergas
2013-03-25 9:39 ` [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Sascha Hauer
6 siblings, 0 replies; 10+ messages in thread
From: Vicente Bergas @ 2013-03-16 22:59 UTC (permalink / raw)
To: barebox; +Cc: Vicente Bergas
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>
---
arch/arm/boards/archosg9/board.c | 22 ++++++++++++++++++
arch/arm/boards/archosg9/env/bin/init | 28 +++++++++++++++++++++++
arch/arm/boards/archosg9/env/boot/sd-card-android | 2 +-
arch/arm/boards/archosg9/env/boot/sd-card-linux | 2 +-
arch/arm/boards/archosg9/env/boot/usb-android | 2 +-
arch/arm/boards/archosg9/env/boot/usb-linux | 2 +-
arch/arm/boards/archosg9/env/menu/mainmenu | 25 ++++++++++++++++++++
arch/arm/configs/archosg9_defconfig | 11 +++++----
8 files changed, 86 insertions(+), 8 deletions(-)
create mode 100644 arch/arm/boards/archosg9/env/bin/init
create mode 100644 arch/arm/boards/archosg9/env/menu/mainmenu
diff --git a/arch/arm/boards/archosg9/board.c b/arch/arm/boards/archosg9/board.c
index 3ae7051..3605f77 100644
--- a/arch/arm/boards/archosg9/board.c
+++ b/arch/arm/boards/archosg9/board.c
@@ -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){
@@ -48,11 +51,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);
/*
diff --git a/arch/arm/boards/archosg9/env/bin/init b/arch/arm/boards/archosg9/env/bin/init
new file mode 100644
index 0000000..0b36299
--- /dev/null
+++ b/arch/arm/boards/archosg9/env/bin/init
@@ -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
diff --git a/arch/arm/boards/archosg9/env/boot/sd-card-android b/arch/arm/boards/archosg9/env/boot/sd-card-android
index dc6f15e..a10a763 100644
--- a/arch/arm/boards/archosg9/env/boot/sd-card-android
+++ b/arch/arm/boards/archosg9/env/boot/sd-card-android
@@ -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
diff --git a/arch/arm/boards/archosg9/env/boot/sd-card-linux b/arch/arm/boards/archosg9/env/boot/sd-card-linux
index 1ae7340..2ba9b9e 100644
--- a/arch/arm/boards/archosg9/env/boot/sd-card-linux
+++ b/arch/arm/boards/archosg9/env/boot/sd-card-linux
@@ -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
diff --git a/arch/arm/boards/archosg9/env/boot/usb-android b/arch/arm/boards/archosg9/env/boot/usb-android
index f764681..a7ddabe 100644
--- a/arch/arm/boards/archosg9/env/boot/usb-android
+++ b/arch/arm/boards/archosg9/env/boot/usb-android
@@ -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
diff --git a/arch/arm/boards/archosg9/env/boot/usb-linux b/arch/arm/boards/archosg9/env/boot/usb-linux
index 1d8e919..12ae638 100644
--- a/arch/arm/boards/archosg9/env/boot/usb-linux
+++ b/arch/arm/boards/archosg9/env/boot/usb-linux
@@ -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
diff --git a/arch/arm/boards/archosg9/env/menu/mainmenu b/arch/arm/boards/archosg9/env/menu/mainmenu
new file mode 100644
index 0000000..6856261
--- /dev/null
+++ b/arch/arm/boards/archosg9/env/menu/mainmenu
@@ -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
diff --git a/arch/arm/configs/archosg9_defconfig b/arch/arm/configs/archosg9_defconfig
index cb0f6b2..40e4433 100644
--- a/arch/arm/configs/archosg9_defconfig
+++ b/arch/arm/configs/archosg9_defconfig
@@ -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
--
1.8.2
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 6/6] menu: avoid errors when building submenus
2013-03-16 22:59 [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Vicente Bergas
` (4 preceding siblings ...)
2013-03-16 22:59 ` [PATCH 5/6] ArchosG9: add keyboard input and new reset menu entries Vicente Bergas
@ 2013-03-16 22:59 ` Vicente Bergas
2013-03-25 9:39 ` [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Sascha Hauer
6 siblings, 0 replies; 10+ messages in thread
From: Vicente Bergas @ 2013-03-16 22:59 UTC (permalink / raw)
To: barebox; +Cc: Vicente Bergas
This patch is not intended to be applied because has already been rejected.
It's here only for completeness as the only solution available nowadays for
the problem it solves.
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
---
arch/arm/boards/archosg9/env/boot/sd-card-android | 2 +-
arch/arm/boards/archosg9/env/boot/sd-card-linux | 2 +-
arch/arm/boards/archosg9/env/boot/usb-android | 2 +-
arch/arm/boards/archosg9/env/boot/usb-linux | 2 +-
arch/arm/boards/archosg9/env/menu/mainmenu | 2 +-
arch/arm/boards/at91sam9m10ihd/env/boot/android | 2 +-
arch/arm/boards/at91sam9m10ihd/env/boot/mmc | 2 +-
arch/arm/boards/at91sam9m10ihd/env/boot/net | 2 +-
arch/arm/boards/at91sam9m10ihd/env/boot/net-usb | 2 +-
arch/arm/boards/beagle/env/boot/mmc | 2 +-
arch/arm/boards/beagle/env/boot/nand-ubi | 2 +-
arch/arm/boards/beagle/env/boot/nand-ubi-dt | 2 +-
arch/arm/boards/beaglebone/env/boot/sd | 2 +-
arch/arm/boards/clep7212/env/boot/nor | 2 +-
arch/arm/boards/crystalfontz-cfa10036/env/boot/mmc-ext3 | 2 +-
arch/arm/boards/efika-mx-smartbook/env/boot/hd-internal | 2 +-
arch/arm/boards/efika-mx-smartbook/env/boot/mmc-left | 2 +-
arch/arm/boards/guf-vincell/env/boot/nand-ubi | 2 +-
arch/arm/boards/karo-tx25/env/boot/nand-ubi | 2 +-
arch/arm/boards/panda/env/boot/mmc | 2 +-
arch/arm/boards/pcm037/env/boot/nand-ubi | 2 +-
arch/arm/boards/pcm038/env/boot/nand-ubi | 2 +-
arch/arm/boards/pcm043/env/boot/nand-ubi | 2 +-
arch/arm/boards/pcm051/env/boot/sd | 2 +-
arch/arm/boards/telit-evk-pro3/env/boot/nand-ubi | 2 +-
defaultenv-2/base/boot/net | 2 +-
defaultenv-2/base/data/boot-template | 2 +-
| 4 ++--
| 2 +-
| 2 +-
| 6 +++---
defaultenv-2/menu/menu/mainmenu | 2 +-
32 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/arch/arm/boards/archosg9/env/boot/sd-card-android b/arch/arm/boards/archosg9/env/boot/sd-card-android
index a10a763..dc6f15e 100644
--- a/arch/arm/boards/archosg9/env/boot/sd-card-android
+++ b/arch/arm/boards/archosg9/env/boot/sd-card-android
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "Android from SD card"
+ boot-menu-add-entry "$0" "Android from SD card" "$2"
exit
fi
diff --git a/arch/arm/boards/archosg9/env/boot/sd-card-linux b/arch/arm/boards/archosg9/env/boot/sd-card-linux
index 2ba9b9e..1ae7340 100644
--- a/arch/arm/boards/archosg9/env/boot/sd-card-linux
+++ b/arch/arm/boards/archosg9/env/boot/sd-card-linux
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "Linux from SD card"
+ boot-menu-add-entry "$0" "Linux from SD card" "$2"
exit
fi
diff --git a/arch/arm/boards/archosg9/env/boot/usb-android b/arch/arm/boards/archosg9/env/boot/usb-android
index a7ddabe..7c6fb1f 100644
--- a/arch/arm/boards/archosg9/env/boot/usb-android
+++ b/arch/arm/boards/archosg9/env/boot/usb-android
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "Android over usb"
+ boot-menu-add-entry "$0" "Android over usb" "$2"
exit
fi
diff --git a/arch/arm/boards/archosg9/env/boot/usb-linux b/arch/arm/boards/archosg9/env/boot/usb-linux
index 12ae638..fe979fb 100644
--- a/arch/arm/boards/archosg9/env/boot/usb-linux
+++ b/arch/arm/boards/archosg9/env/boot/usb-linux
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "Linux over usb"
+ boot-menu-add-entry "$0" "Linux over usb" "$2"
exit
fi
diff --git a/arch/arm/boards/archosg9/env/menu/mainmenu b/arch/arm/boards/archosg9/env/menu/mainmenu
index 6856261..3427ad9 100644
--- a/arch/arm/boards/archosg9/env/menu/mainmenu
+++ b/arch/arm/boards/archosg9/env/menu/mainmenu
@@ -12,7 +12,7 @@ while true; do
menu -a -m boot -d "${CYAN}Welcome to Barebox${NC}"
- boot-entries-collect
+ boot-entries-collect boot
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}"
diff --git a/arch/arm/boards/at91sam9m10ihd/env/boot/android b/arch/arm/boards/at91sam9m10ihd/env/boot/android
index e440f18..e7387c5 100644
--- a/arch/arm/boards/at91sam9m10ihd/env/boot/android
+++ b/arch/arm/boards/at91sam9m10ihd/env/boot/android
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "android (nand)"
+ boot-menu-add-entry "$0" "android (nand)" "$2"
exit
fi
diff --git a/arch/arm/boards/at91sam9m10ihd/env/boot/mmc b/arch/arm/boards/at91sam9m10ihd/env/boot/mmc
index 89c66ee..1ed98e3 100644
--- a/arch/arm/boards/at91sam9m10ihd/env/boot/mmc
+++ b/arch/arm/boards/at91sam9m10ihd/env/boot/mmc
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "MMC slot"
+ boot-menu-add-entry "$0" "MMC slot" "$2"
exit
fi
diff --git a/arch/arm/boards/at91sam9m10ihd/env/boot/net b/arch/arm/boards/at91sam9m10ihd/env/boot/net
index cdb2520..35f0a54 100644
--- a/arch/arm/boards/at91sam9m10ihd/env/boot/net
+++ b/arch/arm/boards/at91sam9m10ihd/env/boot/net
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "network (tftp, nfs) (macb)"
+ boot-menu-add-entry "$0" "network (tftp, nfs) (macb)" "$2"
exit
fi
diff --git a/arch/arm/boards/at91sam9m10ihd/env/boot/net-usb b/arch/arm/boards/at91sam9m10ihd/env/boot/net-usb
index 6e341a0..c4c01c3 100644
--- a/arch/arm/boards/at91sam9m10ihd/env/boot/net-usb
+++ b/arch/arm/boards/at91sam9m10ihd/env/boot/net-usb
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "network (tftp, nfs) (usb ethernet)"
+ boot-menu-add-entry "$0" "network (tftp, nfs) (usb ethernet)" "$2"
exit
fi
diff --git a/arch/arm/boards/beagle/env/boot/mmc b/arch/arm/boards/beagle/env/boot/mmc
index 58bd557..d1a5486 100644
--- a/arch/arm/boards/beagle/env/boot/mmc
+++ b/arch/arm/boards/beagle/env/boot/mmc
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "MMC (ext3)"
+ boot-menu-add-entry "$0" "MMC (ext3)" "$2"
exit
fi
diff --git a/arch/arm/boards/beagle/env/boot/nand-ubi b/arch/arm/boards/beagle/env/boot/nand-ubi
index 3037fd4..f0e932b 100644
--- a/arch/arm/boards/beagle/env/boot/nand-ubi
+++ b/arch/arm/boards/beagle/env/boot/nand-ubi
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "nand (UBI)"
+ boot-menu-add-entry "$0" "nand (UBI)" "$2"
exit
fi
diff --git a/arch/arm/boards/beagle/env/boot/nand-ubi-dt b/arch/arm/boards/beagle/env/boot/nand-ubi-dt
index b7a1f19..e7539b8 100644
--- a/arch/arm/boards/beagle/env/boot/nand-ubi-dt
+++ b/arch/arm/boards/beagle/env/boot/nand-ubi-dt
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "nand (UBI)"
+ boot-menu-add-entry "$0" "nand (UBI)" "$2"
exit
fi
diff --git a/arch/arm/boards/beaglebone/env/boot/sd b/arch/arm/boards/beaglebone/env/boot/sd
index dce0605..6315e08 100644
--- a/arch/arm/boards/beaglebone/env/boot/sd
+++ b/arch/arm/boards/beaglebone/env/boot/sd
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "kernel & rootfs on SD card"
+ boot-menu-add-entry "$0" "kernel & rootfs on SD card" "$2"
exit
fi
diff --git a/arch/arm/boards/clep7212/env/boot/nor b/arch/arm/boards/clep7212/env/boot/nor
index df8c983..cca2bfa 100644
--- a/arch/arm/boards/clep7212/env/boot/nor
+++ b/arch/arm/boards/clep7212/env/boot/nor
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "NOR Flash"
+ boot-menu-add-entry "$0" "NOR Flash" "$2"
exit
fi
diff --git a/arch/arm/boards/crystalfontz-cfa10036/env/boot/mmc-ext3 b/arch/arm/boards/crystalfontz-cfa10036/env/boot/mmc-ext3
index 4d830ed..b600a56 100644
--- a/arch/arm/boards/crystalfontz-cfa10036/env/boot/mmc-ext3
+++ b/arch/arm/boards/crystalfontz-cfa10036/env/boot/mmc-ext3
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "MMC (ext)"
+ boot-menu-add-entry "$0" "MMC (ext)" "$2"
exit
fi
diff --git a/arch/arm/boards/efika-mx-smartbook/env/boot/hd-internal b/arch/arm/boards/efika-mx-smartbook/env/boot/hd-internal
index ccd0f69..564f10e 100644
--- a/arch/arm/boards/efika-mx-smartbook/env/boot/hd-internal
+++ b/arch/arm/boards/efika-mx-smartbook/env/boot/hd-internal
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "internal harddisk"
+ boot-menu-add-entry "$0" "internal harddisk" "$2"
exit
fi
diff --git a/arch/arm/boards/efika-mx-smartbook/env/boot/mmc-left b/arch/arm/boards/efika-mx-smartbook/env/boot/mmc-left
index 21935c6..6bba754 100644
--- a/arch/arm/boards/efika-mx-smartbook/env/boot/mmc-left
+++ b/arch/arm/boards/efika-mx-smartbook/env/boot/mmc-left
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "left MMC slot"
+ boot-menu-add-entry "$0" "left MMC slot" "$2"
exit
fi
diff --git a/arch/arm/boards/guf-vincell/env/boot/nand-ubi b/arch/arm/boards/guf-vincell/env/boot/nand-ubi
index a3f748e..1745e58 100644
--- a/arch/arm/boards/guf-vincell/env/boot/nand-ubi
+++ b/arch/arm/boards/guf-vincell/env/boot/nand-ubi
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "nand (UBI)"
+ boot-menu-add-entry "$0" "nand (UBI)" "$2"
exit
fi
diff --git a/arch/arm/boards/karo-tx25/env/boot/nand-ubi b/arch/arm/boards/karo-tx25/env/boot/nand-ubi
index 67b0cb4..a6f6d7a 100644
--- a/arch/arm/boards/karo-tx25/env/boot/nand-ubi
+++ b/arch/arm/boards/karo-tx25/env/boot/nand-ubi
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "nand (UBI)"
+ boot-menu-add-entry "$0" "nand (UBI)" "$2"
exit
fi
diff --git a/arch/arm/boards/panda/env/boot/mmc b/arch/arm/boards/panda/env/boot/mmc
index 58bd557..d1a5486 100644
--- a/arch/arm/boards/panda/env/boot/mmc
+++ b/arch/arm/boards/panda/env/boot/mmc
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "MMC (ext3)"
+ boot-menu-add-entry "$0" "MMC (ext3)" "$2"
exit
fi
diff --git a/arch/arm/boards/pcm037/env/boot/nand-ubi b/arch/arm/boards/pcm037/env/boot/nand-ubi
index 67b0cb4..a6f6d7a 100644
--- a/arch/arm/boards/pcm037/env/boot/nand-ubi
+++ b/arch/arm/boards/pcm037/env/boot/nand-ubi
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "nand (UBI)"
+ boot-menu-add-entry "$0" "nand (UBI)" "$2"
exit
fi
diff --git a/arch/arm/boards/pcm038/env/boot/nand-ubi b/arch/arm/boards/pcm038/env/boot/nand-ubi
index 67b0cb4..a6f6d7a 100644
--- a/arch/arm/boards/pcm038/env/boot/nand-ubi
+++ b/arch/arm/boards/pcm038/env/boot/nand-ubi
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "nand (UBI)"
+ boot-menu-add-entry "$0" "nand (UBI)" "$2"
exit
fi
diff --git a/arch/arm/boards/pcm043/env/boot/nand-ubi b/arch/arm/boards/pcm043/env/boot/nand-ubi
index 67b0cb4..a6f6d7a 100644
--- a/arch/arm/boards/pcm043/env/boot/nand-ubi
+++ b/arch/arm/boards/pcm043/env/boot/nand-ubi
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "nand (UBI)"
+ boot-menu-add-entry "$0" "nand (UBI)" "$2"
exit
fi
diff --git a/arch/arm/boards/pcm051/env/boot/sd b/arch/arm/boards/pcm051/env/boot/sd
index f303c10..9debd73 100644
--- a/arch/arm/boards/pcm051/env/boot/sd
+++ b/arch/arm/boards/pcm051/env/boot/sd
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "kernel & rootfs on SD card"
+ boot-menu-add-entry "$0" "kernel & rootfs on SD card" "$2"
exit
fi
diff --git a/arch/arm/boards/telit-evk-pro3/env/boot/nand-ubi b/arch/arm/boards/telit-evk-pro3/env/boot/nand-ubi
index 1987492..ffc64f1 100644
--- a/arch/arm/boards/telit-evk-pro3/env/boot/nand-ubi
+++ b/arch/arm/boards/telit-evk-pro3/env/boot/nand-ubi
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "nand (UBI)"
+ boot-menu-add-entry "$0" "nand (UBI)" "$2"
exit
fi
diff --git a/defaultenv-2/base/boot/net b/defaultenv-2/base/boot/net
index 90c25aa..25d2d12 100644
--- a/defaultenv-2/base/boot/net
+++ b/defaultenv-2/base/boot/net
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "network (tftp, nfs)"
+ boot-menu-add-entry "$0" "network (tftp, nfs)" "$2"
exit
fi
diff --git a/defaultenv-2/base/data/boot-template b/defaultenv-2/base/data/boot-template
index 9297499..2b3e018 100644
--- a/defaultenv-2/base/data/boot-template
+++ b/defaultenv-2/base/data/boot-template
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = menu ]; then
- boot-menu-add-entry "$0" "<menu text here>"
+ boot-menu-add-entry "$0" "<menu text here>" "$2"
exit
fi
--git a/defaultenv-2/menu/menu/boot-entries-collect b/defaultenv-2/menu/menu/boot-entries-collect
index c066c93..ba82bf1 100644
--- a/defaultenv-2/menu/menu/boot-entries-collect
+++ b/defaultenv-2/menu/menu/boot-entries-collect
@@ -2,11 +2,11 @@
cd /env/boot
-./$global.boot.default menu
+./$global.boot.default menu $1
for i in *; do
if [ "$i" != "$global.boot.default" ]; then
- ./$i menu
+ ./$i menu $1
fi
done
--git a/defaultenv-2/menu/menu/boot-entries-edit b/defaultenv-2/menu/menu/boot-entries-edit
index c4e1c3d..bc5ae56 100644
--- a/defaultenv-2/menu/menu/boot-entries-edit
+++ b/defaultenv-2/menu/menu/boot-entries-edit
@@ -5,7 +5,7 @@ export menu_exit=false
while true; do
menu -a -m boot_entries_edit -d "\e[1;36mEdit boot entries\e[0m"
- boot-entries-collect
+ boot-entries-collect boot_entries_edit
menu -e -a -m boot_entries_edit -c "boot-menu-new-boot-entry" -d "Add a new entry"
menu -e -a -m boot_entries_edit -c "boot-entries-remove" -d "Remove an entry"
--git a/defaultenv-2/menu/menu/boot-entries-remove b/defaultenv-2/menu/menu/boot-entries-remove
index 566be9d..54cd360 100644
--- a/defaultenv-2/menu/menu/boot-entries-remove
+++ b/defaultenv-2/menu/menu/boot-entries-remove
@@ -5,7 +5,7 @@ export menu_exit=false
while true; do
menu -a -m boot_entries_remove -d "\e[1;36mRemove Boot entry\e[0m"
- boot-entries-collect
+ boot-entries-collect boot_entries_remove
menu -e -a -m boot_entries_remove -c "menu_exit=true" -d "back"
--git a/defaultenv-2/menu/menu/boot-menu-add-entry b/defaultenv-2/menu/menu/boot-menu-add-entry
index f06c524..44820d2 100644
--- a/defaultenv-2/menu/menu/boot-menu-add-entry
+++ b/defaultenv-2/menu/menu/boot-menu-add-entry
@@ -1,5 +1,5 @@
#!/bin/sh
-menu -e -a -m boot -c "boot -v $1; echo; readline \"press enter to continue\" a " -d "Boot: ${GREEN}$2${NC}"
-menu -e -a -m boot_entries_edit -c "$global.editcmd /env/boot/$1" -d "${GREEN}$2${NC}"
-menu -e -a -m boot_entries_remove -c "rm /env/boot/$1" -d "${GREEN}$2${NC}"
+[ "$3" = boot ] && menu -e -a -m "$3" -c "boot -v $1; echo; readline \"press enter to continue\" a " -d "Boot: ${GREEN}$2${NC}"
+[ "$3" = boot_entries_edit ] && menu -e -a -m "$3" -c "$global.editcmd /env/boot/$1" -d "${GREEN}$2${NC}"
+[ "$3" = boot_entries_remove ] && menu -e -a -m "$3" -c "rm /env/boot/$1" -d "${GREEN}$2${NC}"
diff --git a/defaultenv-2/menu/menu/mainmenu b/defaultenv-2/menu/menu/mainmenu
index f10f67a..20e2ae9 100644
--- a/defaultenv-2/menu/menu/mainmenu
+++ b/defaultenv-2/menu/menu/mainmenu
@@ -12,7 +12,7 @@ while true; do
menu -a -m boot -d "${CYAN}Welcome to Barebox${NC}"
- boot-entries-collect
+ boot-entries-collect boot
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}"
--
1.8.2
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 4/6] OMAP4: add command to select next boot device priority
2013-03-16 22:59 ` [PATCH 4/6] OMAP4: add command to select next boot device priority Vicente Bergas
@ 2013-03-25 9:36 ` Sascha Hauer
0 siblings, 0 replies; 10+ messages in thread
From: Sascha Hauer @ 2013-03-25 9:36 UTC (permalink / raw)
To: Vicente Bergas; +Cc: barebox
On Sat, Mar 16, 2013 at 11:59:40PM +0100, Vicente Bergas wrote:
> On OMAP4 SoC there is a SAR memory region (Save & Rescue) where the ROM
> code reads the device to boot from.
> This patch adds a way to set this.
>
> Signed-off-by: Vicente Bergas <vicencb@gmail.com>
> ---
> arch/arm/mach-omap/include/mach/omap4-silicon.h | 20 +++++++
> arch/arm/mach-omap/omap4_generic.c | 20 +++++++
> commands/Kconfig | 5 ++
> commands/Makefile | 1 +
> commands/boot_order.c | 75 +++++++++++++++++++++++++
> 5 files changed, 121 insertions(+)
> create mode 100644 commands/boot_order.c
>
> diff --git a/arch/arm/mach-omap/include/mach/omap4-silicon.h b/arch/arm/mach-omap/include/mach/omap4-silicon.h
> index 9e82435..666e721 100644
> --- a/arch/arm/mach-omap/include/mach/omap4-silicon.h
> +++ b/arch/arm/mach-omap/include/mach/omap4-silicon.h
> @@ -161,6 +161,25 @@
> #define OMAP44XX_PRM_RSTCTRL_RESET 0x01
>
> /*
> + * SAR (Save & Rescue) memory region
> + */
> +#define OMAP44XX_SAR_RAM_BASE 0x4a326000
> +#define OMAP44XX_SAR_CH_ADDRESS (OMAP44XX_SAR_RAM_BASE + 0xA00)
> +#define OMAP44XX_SAR_CH_START (OMAP44XX_SAR_RAM_BASE + 0xA0C)
> +#define OMAP44XX_SAR_BOOT_VOID 0x00
> +#define OMAP44XX_SAR_BOOT_XIP 0x01
> +#define OMAP44XX_SAR_BOOT_XIPWAIT 0x02
> +#define OMAP44XX_SAR_BOOT_NAND 0x03
> +#define OMAP44XX_SAR_BOOT_ONENAND 0x04
> +#define OMAP44XX_SAR_BOOT_MMC1 0x05
> +#define OMAP44XX_SAR_BOOT_MMC2_1 0x06
> +#define OMAP44XX_SAR_BOOT_MMC2_2 0x07
> +#define OMAP44XX_SAR_BOOT_UART 0x43
> +#define OMAP44XX_SAR_BOOT_USB_1 0x45
> +#define OMAP44XX_SAR_BOOT_USB_ULPI 0x46
> +#define OMAP44XX_SAR_BOOT_USB_2 0x47
> +
> +/*
> * Non-secure SRAM Addresses
> * Non-secure RAM starts at 0x40300000 for GP devices. But we keep SRAM_BASE
> * at 0x40304000(EMU base) so that our code works for both EMU and GP
> @@ -212,6 +231,7 @@ void omap4_ddr_init(const struct ddr_regs *, const struct dpll_param *);
> void omap4_power_i2c_send(u32);
> unsigned int omap4_revision(void);
> noinline int omap4_scale_vcores(unsigned vsel0_pin);
> +void omap4_set_warmboot_order(u32 *device_list);
>
> #endif
>
> diff --git a/arch/arm/mach-omap/omap4_generic.c b/arch/arm/mach-omap/omap4_generic.c
> index 2a09eb6..e062332 100644
> --- a/arch/arm/mach-omap/omap4_generic.c
> +++ b/arch/arm/mach-omap/omap4_generic.c
> @@ -41,6 +41,26 @@ void __noreturn reset_cpu(unsigned long addr)
> while (1);
> }
>
> +void omap4_set_warmboot_order(u32 *device_list)
> +{
> + const u32 CH[] = {
> + 0xCF00AA01,
> + 0x0000000C,
> + (device_list[0] << 16) | 0x0000,
> + (device_list[2] << 16) | device_list[1],
> + 0x0000 | device_list[3],
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000
> + };
> + int i;
> +
> + for (i = 0; i < ARRAY_SIZE(CH); i++)
> + writel(CH[i], OMAP44XX_SAR_CH_START + i*sizeof(CH[0]));
> + writel(OMAP44XX_SAR_CH_START, OMAP44XX_SAR_CH_ADDRESS);
> +}
> +
> #define WATCHDOG_WSPR 0x48
> #define WATCHDOG_WWPS 0x34
>
> diff --git a/commands/Kconfig b/commands/Kconfig
> index 0062758..524f00e 100644
> --- a/commands/Kconfig
> +++ b/commands/Kconfig
> @@ -474,6 +474,11 @@ config CMD_POWEROFF
> depends on HAS_POWEROFF
> prompt "poweroff"
>
> +config CMD_BOOT_ORDER
> + tristate
> + depends on ARCH_OMAP4
> + prompt "boot_order"
As this is a non-obvious command, please add some help text here.
> +
> config CMD_GO
> tristate
> prompt "go"
> diff --git a/commands/Makefile b/commands/Makefile
> index 0ae6b95..428da57 100644
> --- a/commands/Makefile
> +++ b/commands/Makefile
> @@ -14,6 +14,7 @@ obj-$(CONFIG_CMD_SLEEP) += sleep.o
> obj-$(CONFIG_CMD_MSLEEP) += msleep.o
> obj-$(CONFIG_CMD_RESET) += reset.o
> obj-$(CONFIG_CMD_POWEROFF) += poweroff.o
> +obj-$(CONFIG_CMD_BOOT_ORDER) += boot_order.o
> obj-$(CONFIG_CMD_GO) += go.o
> obj-$(CONFIG_NET) += net.o
> obj-$(CONFIG_CMD_PARTITION) += partition.o
> diff --git a/commands/boot_order.c b/commands/boot_order.c
I think this should rather go arch/arm/mach-omap as it's completely OMAP
specific.
> new file mode 100644
> index 0000000..66b87bc
> --- /dev/null
> +++ b/commands/boot_order.c
> @@ -0,0 +1,75 @@
> +/*
> + * boot_order.c - configure omap warm boot
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2
> + * as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + */
> +
> +#include <common.h>
> +#include <command.h>
> +#include <complete.h>
> +#include <mach/omap4-silicon.h>
> +
> +struct bootsrc {
> + const char *name;
> + uint32_t sar;
> +};
> +
> +static int cmd_boot_order(int argc, char *argv[])
> +{
> + const struct bootsrc src_list[] = {
> + {"xip" , OMAP44XX_SAR_BOOT_XIP },
> + {"xipwait" , OMAP44XX_SAR_BOOT_XIPWAIT },
> + {"nand" , OMAP44XX_SAR_BOOT_NAND },
> + {"onenand" , OMAP44XX_SAR_BOOT_ONENAND },
> + {"mmc1" , OMAP44XX_SAR_BOOT_MMC1 },
> + {"mmc2_1" , OMAP44XX_SAR_BOOT_MMC2_1 },
> + {"mmc2_2" , OMAP44XX_SAR_BOOT_MMC2_2 },
> + {"uart" , OMAP44XX_SAR_BOOT_UART },
> + {"usb_1" , OMAP44XX_SAR_BOOT_USB_1 },
> + {"usb_ulpi", OMAP44XX_SAR_BOOT_USB_ULPI},
> + {"usb_2" , OMAP44XX_SAR_BOOT_USB_2 },
> + };
> + uint32_t device_list[] = {
> + OMAP44XX_SAR_BOOT_VOID,
> + OMAP44XX_SAR_BOOT_VOID,
> + OMAP44XX_SAR_BOOT_VOID,
> + OMAP44XX_SAR_BOOT_VOID,
> + };
> + int i, j;
> +
> + for (i = 0; i + 1 < argc && i < ARRAY_SIZE(device_list); i++) {
> + for (j = 0; j < ARRAY_SIZE(src_list); j++) {
> + if (strcmp(argv[i + 1], src_list[j].name) == 0) {
> + device_list[i] = src_list[j].sar;
> + break;
> + }
> + }
> + }
If there is a typo in the bootsource the setting will silently be the
default 'void' entry. Wouldn't an error message be useful in this case?
Also a small static function dispatching the string into the enum type
could improve the readability of this code.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2)
2013-03-16 22:59 [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Vicente Bergas
` (5 preceding siblings ...)
2013-03-16 22:59 ` [PATCH 6/6] menu: avoid errors when building submenus Vicente Bergas
@ 2013-03-25 9:39 ` Sascha Hauer
2013-03-25 13:56 ` vj
6 siblings, 1 reply; 10+ messages in thread
From: Sascha Hauer @ 2013-03-25 9:39 UTC (permalink / raw)
To: Vicente Bergas; +Cc: barebox
On Sat, Mar 16, 2013 at 11:59:36PM +0100, Vicente Bergas wrote:
> This is the second version of this patch series, it includes all feedback received
> which is greatly appreciated.
>
> Vicente Bergas (6):
> OMAP4: check for usb availability at device registration
> ArchosG9: zero all features before setting them
> gpio_keys: detect keys pressed before booting
> OMAP4: add command to select next boot device priority
> ArchosG9: add keyboard input and new reset menu entries
Applied 1,2,3 and 5/6
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2)
2013-03-25 9:39 ` [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Sascha Hauer
@ 2013-03-25 13:56 ` vj
0 siblings, 0 replies; 10+ messages in thread
From: vj @ 2013-03-25 13:56 UTC (permalink / raw)
To: Sascha Hauer; +Cc: barebox
On Mon, Mar 25, 2013 at 10:39 AM, Sascha Hauer <s.hauer@pengutronix.de> wrote:
> On Sat, Mar 16, 2013 at 11:59:36PM +0100, Vicente Bergas wrote:
>> This is the second version of this patch series, it includes all feedback received
>> which is greatly appreciated.
>>
>> Vicente Bergas (6):
>> OMAP4: check for usb availability at device registration
>> ArchosG9: zero all features before setting them
>> gpio_keys: detect keys pressed before booting
>> OMAP4: add command to select next boot device priority
>> ArchosG9: add keyboard input and new reset menu entries
>
> Applied 1,2,3 and 5/6
>
> Sascha
>
>
> --
> Pengutronix e.K. | |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Number 5 depends on nº4, for which I'll send the modified patch the
first week of April when at home.
Thanks,
Vicente.
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2013-03-25 13:56 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-16 22:59 [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Vicente Bergas
2013-03-16 22:59 ` [PATCH 1/6] OMAP4: check for usb availability at device registration Vicente Bergas
2013-03-16 22:59 ` [PATCH 2/6] ArchosG9: zero all features before setting them Vicente Bergas
2013-03-16 22:59 ` [PATCH 3/6] gpio_keys: detect keys pressed before booting Vicente Bergas
2013-03-16 22:59 ` [PATCH 4/6] OMAP4: add command to select next boot device priority Vicente Bergas
2013-03-25 9:36 ` Sascha Hauer
2013-03-16 22:59 ` [PATCH 5/6] ArchosG9: add keyboard input and new reset menu entries Vicente Bergas
2013-03-16 22:59 ` [PATCH 6/6] menu: avoid errors when building submenus Vicente Bergas
2013-03-25 9:39 ` [PATCH 0/6] ArchosG9: add keyboard input and new reset menu entries (v2) Sascha Hauer
2013-03-25 13:56 ` vj
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox