From: "Eric Bénard" <eric@eukrea.com>
To: barebox@lists.infradead.org
Subject: [PATCH v2 06/10] eukrea_cpuimx25&35: use switch action to launch usbserial or dfu
Date: Fri, 18 May 2012 09:41:41 +0200 [thread overview]
Message-ID: <1337326905-555-6-git-send-email-eric@eukrea.com> (raw)
In-Reply-To: <1337326905-555-1-git-send-email-eric@eukrea.com>
Signed-off-by: Eric Bénard <eric@eukrea.com>
---
arch/arm/boards/eukrea_cpuimx25/env/bin/init_board | 21 ++++++++++++++++++++
arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c | 7 ++++++
arch/arm/boards/eukrea_cpuimx35/env/bin/init_board | 21 ++++++++++++++++++++
arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c | 10 +++++++-
4 files changed, 57 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boards/eukrea_cpuimx25/env/bin/init_board b/arch/arm/boards/eukrea_cpuimx25/env/bin/init_board
index 2199b88..ff3365d 100644
--- a/arch/arm/boards/eukrea_cpuimx25/env/bin/init_board
+++ b/arch/arm/boards/eukrea_cpuimx25/env/bin/init_board
@@ -9,6 +9,27 @@ elif [ -f /env/logo.bmp.lzo ]; then
fb0.enable=1
fi
+gpio_get_value 82
+if [ $? -eq 0 ]; then
+ gpio_set_value 83 0
+ usbserial
+ timeout -s -a 2
+ gpio_get_value 82
+ if [ $? -eq 0 ]; then
+ usbserial -d
+ dfu -V 0x1234 -P 0x1234 /dev/nand0.barebox.bb(barebox)sr,/dev/nand0.kernel.bb(kernel)r,/dev/nand0.root.bb(root)r
+ gpio_get_value 82
+ if [ $? -eq 0 ]; then
+ usbserial
+ autoboot_timeout=60
+ else
+ reset
+ fi
+ else
+ autoboot_timeout=28
+ fi
+fi
+
if [ -z $eth0.ethaddr ]; then
while [ -z $eth0.ethaddr ]; do
readline "no MAC address set for eth0. please enter the one found on your board: " eth0.ethaddr
diff --git a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
index 75a99f7..07a8bc0 100644
--- a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
+++ b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c
@@ -216,6 +216,8 @@ static struct pad_desc eukrea_cpuimx25_pads[] = {
MX25_PAD_SD1_DATA3__SD1_DATA3,
/* LED */
MX25_PAD_POWER_FAIL__GPIO_3_19,
+ /* SWITCH */
+ MX25_PAD_VSTBY_ACK__GPIO_3_18,
};
static int eukrea_cpuimx25_devices_init(void)
@@ -246,6 +248,9 @@ static int eukrea_cpuimx25_devices_init(void)
/* LED : default OFF */
gpio_direction_output(2 * 32 + 19, 1);
+ /* Switch : input */
+ gpio_direction_input(2 * 32 + 18);
+
imx25_add_fb(&eukrea_cpuimx25_fb_data);
imx25_add_i2c0(NULL);
@@ -255,10 +260,12 @@ static int eukrea_cpuimx25_devices_init(void)
imx25_usb_init();
add_generic_usb_ehci_device(-1, IMX_OTG_BASE + 0x400, NULL);
#endif
+#ifdef CONFIG_USB_GADGET
/* Workaround ENGcm09152 */
writel(readl(IMX_OTG_BASE + 0x608) | (1 << 23), IMX_OTG_BASE + 0x608);
add_generic_device("fsl-udc", -1, NULL, IMX_OTG_BASE, 0x200,
IORESOURCE_MEM, &usb_pdata);
+#endif
armlinux_set_bootparams((void *)0x80000100);
armlinux_set_architecture(MACH_TYPE_EUKREA_CPUIMX25SD);
diff --git a/arch/arm/boards/eukrea_cpuimx35/env/bin/init_board b/arch/arm/boards/eukrea_cpuimx35/env/bin/init_board
index cb624e5..89fd9a9 100644
--- a/arch/arm/boards/eukrea_cpuimx35/env/bin/init_board
+++ b/arch/arm/boards/eukrea_cpuimx35/env/bin/init_board
@@ -11,6 +11,27 @@ elif [ -f /env/logo.bmp.lzo ]; then
gpio_set_value 1 1
fi
+gpio_get_value 89
+if [ $? -eq 0 ]; then
+ gpio_set_value 93 0
+ usbserial
+ timeout -s -a 2
+ gpio_get_value 89
+ if [ $? -eq 0 ]; then
+ usbserial -d
+ dfu -V 0x1234 -P 0x1234 /dev/nand0.barebox.bb(barebox)sr,/dev/nand0.kernel.bb(kernel)r,/dev/nand0.root.bb(root)r
+ gpio_get_value 89
+ if [ $? -eq 0 ]; then
+ usbserial
+ autoboot_timeout=60
+ else
+ reset
+ fi
+ else
+ autoboot_timeout=28
+ fi
+fi
+
if [ -z $eth0.ethaddr ]; then
while [ -z $eth0.ethaddr ]; do
readline "no MAC address set for eth0. please enter the one found on your board: " eth0.ethaddr
diff --git a/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c b/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c
index 17da569..bfdd9de 100644
--- a/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c
+++ b/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c
@@ -161,6 +161,12 @@ static int eukrea_cpuimx35_devices_init(void)
imx35_add_i2c0(NULL);
imx35_add_mmc0(NULL);
+ /* led default off */
+ gpio_direction_output(32 * 2 + 29, 1);
+
+ /* Switch : input */
+ gpio_direction_input(32 * 2 + 25);
+
#ifdef CONFIG_USB
imx35_usb_init();
add_generic_usb_ehci_device(-1, IMX_OTG_BASE + 0x400, NULL);
@@ -220,6 +226,8 @@ static struct pad_desc eukrea_cpuimx35_pads[] = {
MX35_PAD_SD1_DATA1__ESDHC1_DAT1,
MX35_PAD_SD1_DATA2__ESDHC1_DAT2,
MX35_PAD_SD1_DATA3__ESDHC1_DAT3,
+
+ MX35_PAD_LD19__GPIO3_25,
};
static int eukrea_cpuimx35_console_init(void)
@@ -231,8 +239,6 @@ static int eukrea_cpuimx35_console_init(void)
gpio_direction_output(4, 0);
/* backlight default off */
gpio_direction_output(1, 0);
- /* led default off */
- gpio_direction_output(32 * 2 + 29, 1);
imx35_add_uart0();
return 0;
--
1.7.7.6
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2012-05-18 7:42 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-18 7:41 [PATCH v2 01/10] eukrea_cpuimx25: workaround ENGcm09152 Eric Bénard
2012-05-18 7:41 ` [PATCH v2 02/10] eukrea_cpuimx25: add display choice in environment Eric Bénard
2012-05-18 7:41 ` [PATCH v2 03/10] eukrea_cpuimx35: " Eric Bénard
2012-05-18 7:41 ` [PATCH v2 04/10] eukrea_cpuimx51: updated env Eric Bénard
2012-05-18 7:41 ` [PATCH v2 05/10] eukrea_cpuimx25/35/51: update defconfig Eric Bénard
2012-05-18 7:41 ` Eric Bénard [this message]
2012-05-18 7:41 ` [PATCH v2 07/10] iim: fix compilation when NET is not selected Eric Bénard
2012-05-18 7:41 ` [PATCH v2 08/10] eukrea_cpuimx25: fix PHY address Eric Bénard
2012-05-18 7:41 ` [PATCH v2 09/10] eukrea_cpuimx35: fix PHY address and clean code Eric Bénard
2012-05-18 7:41 ` [PATCH v2 10/10] fec_imx: restart aneg at open and not at init Eric Bénard
2012-05-18 7:52 ` [PATCH v2 xx/10] Eric Bénard
2012-05-18 9:43 ` [PATCH v2 01/10] eukrea_cpuimx25: workaround ENGcm09152 Sascha Hauer
2012-05-18 9:58 ` Eric Bénard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1337326905-555-6-git-send-email-eric@eukrea.com \
--to=eric@eukrea.com \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.