mail archive of the barebox mailing list
 help / color / mirror / Atom feed
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

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox