summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile3
-rw-r--r--arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c11
-rw-r--r--arch/arm/boards/freescale-mx51-pdk/board.c13
-rw-r--r--commands/Kconfig4
-rw-r--r--commands/Makefile1
-rw-r--r--commands/go.c2
-rw-r--r--commands/msleep.c40
-rw-r--r--commands/net.c29
-rw-r--r--commands/sleep.c2
-rw-r--r--common/complete.c2
-rw-r--r--defaultenv/bin/init2
-rw-r--r--drivers/mci/imx-esdhc.h1
-rw-r--r--fs/devfs.c6
-rw-r--r--include/complete.h2
15 files changed, 73 insertions, 46 deletions
diff --git a/.gitignore b/.gitignore
index df0ed2c351..fd429fa313 100644
--- a/.gitignore
+++ b/.gitignore
@@ -65,3 +65,4 @@ cscope.*
*.patch
scripts/gen_netx_image
scripts/s5p_cksum
+scripts/bareboxenv-target
diff --git a/Makefile b/Makefile
index 63da4778da..ebcf9bf4ff 100644
--- a/Makefile
+++ b/Makefile
@@ -540,7 +540,7 @@ quiet_cmd_check_file_size = CHKSIZE $@
max_size=`printf "%d" $2`; \
if [ $$size -gt $$max_size ] ; \
then \
- echo "$@ size $$size > of the maximum size $$max_size"; \
+ echo "$@ size $$size > of the maximum size $$max_size" >&2; \
exit 1 ; \
fi;
@@ -1003,6 +1003,7 @@ CLEAN_DIRS += $(MODVERDIR)
CLEAN_FILES += barebox System.map include/generated/barebox_default_env.h \
.tmp_version .tmp_barebox* barebox.bin barebox.map barebox.S \
.tmp_kallsyms* barebox_default_env* barebox.ldr \
+ scripts/bareboxenv-target \
Doxyfile.version barebox.srec barebox.s5p
# Directories & files removed with 'make mrproper'
diff --git a/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c b/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c
index 3cc7a72252..35c114dad0 100644
--- a/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c
+++ b/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c
@@ -53,6 +53,11 @@ struct imx_nand_platform_data nand_info = {
};
static iomux_v3_cfg_t eukrea_cpuimx51_pads[] = {
+ /* UART1 */
+ MX51_PAD_UART1_RXD__UART1_RXD,
+ MX51_PAD_UART1_TXD__UART1_TXD,
+ MX51_PAD_UART1_RTS__UART1_RTS,
+ MX51_PAD_UART1_CTS__UART1_CTS,
/* FEC */
MX51_PAD_DISP2_DAT1__FEC_RX_ER,
MX51_PAD_DISP2_DAT15__FEC_TDATA0,
@@ -141,12 +146,8 @@ static int eukrea_cpuimx51_console_init(void)
imx51_init_lowlevel(800);
- writel(0, 0x73fa8228);
- writel(0, 0x73fa822c);
- writel(0, 0x73fa8230);
- writel(0, 0x73fa8234);
-
imx51_add_uart0();
+
return 0;
}
diff --git a/arch/arm/boards/freescale-mx51-pdk/board.c b/arch/arm/boards/freescale-mx51-pdk/board.c
index 0bb2ffed29..3a568d051f 100644
--- a/arch/arm/boards/freescale-mx51-pdk/board.c
+++ b/arch/arm/boards/freescale-mx51-pdk/board.c
@@ -48,6 +48,12 @@ static struct fec_platform_data fec_info = {
};
static iomux_v3_cfg_t f3s_pads[] = {
+ /* UART1 */
+ MX51_PAD_UART1_RXD__UART1_RXD,
+ MX51_PAD_UART1_TXD__UART1_TXD,
+ MX51_PAD_UART1_RTS__UART1_RTS,
+ MX51_PAD_UART1_CTS__UART1_CTS,
+ /* FEC */
MX51_PAD_EIM_EB2__FEC_MDIO,
MX51_PAD_EIM_EB3__FEC_RDATA1,
MX51_PAD_EIM_CS2__FEC_RDATA2,
@@ -246,6 +252,7 @@ static int f3s_devices_init(void)
imx51_iim_register_fec_ethaddr();
imx51_add_fec(&fec_info);
imx51_add_mmc0(NULL);
+ imx51_add_mmc1(NULL);
armlinux_set_bootparams((void *)0x90000100);
armlinux_set_architecture(MACH_TYPE_MX51_BABBAGE);
@@ -268,12 +275,8 @@ static int f3s_console_init(void)
{
mxc_iomux_v3_setup_multiple_pads(f3s_pads, ARRAY_SIZE(f3s_pads));
- writel(0, 0x73fa8228);
- writel(0, 0x73fa822c);
- writel(0, 0x73fa8230);
- writel(0, 0x73fa8234);
-
imx51_add_uart0();
+
return 0;
}
diff --git a/commands/Kconfig b/commands/Kconfig
index 4555b71893..41ebf6c587 100644
--- a/commands/Kconfig
+++ b/commands/Kconfig
@@ -25,6 +25,10 @@ config CMD_SLEEP
tristate
prompt "sleep"
+config CMD_MSLEEP
+ tristate
+ prompt "msleep"
+
config CMD_SAVEENV
tristate
select ENV_HANDLING
diff --git a/commands/Makefile b/commands/Makefile
index 3f5f166de1..0710bb46a4 100644
--- a/commands/Makefile
+++ b/commands/Makefile
@@ -10,6 +10,7 @@ obj-$(CONFIG_CMD_MTEST) += memtest.o
obj-$(CONFIG_CMD_EDIT) += edit.o
obj-$(CONFIG_CMD_EXEC) += exec.o
obj-$(CONFIG_CMD_SLEEP) += sleep.o
+obj-$(CONFIG_CMD_MSLEEP) += msleep.o
obj-$(CONFIG_CMD_RESET) += reset.o
obj-$(CONFIG_CMD_GO) += go.o
obj-$(CONFIG_NET) += net.o
diff --git a/commands/go.c b/commands/go.c
index e9e9d40dbe..14569a52e5 100644
--- a/commands/go.c
+++ b/commands/go.c
@@ -92,5 +92,5 @@ BAREBOX_CMD_START(go)
.cmd = do_go,
.usage = "start application at address or file",
BAREBOX_CMD_HELP(cmd_go_help)
- BAREBOX_CMD_COMPLETE(cammand_var_complete)
+ BAREBOX_CMD_COMPLETE(command_var_complete)
BAREBOX_CMD_END
diff --git a/commands/msleep.c b/commands/msleep.c
new file mode 100644
index 0000000000..c9fa23cc45
--- /dev/null
+++ b/commands/msleep.c
@@ -0,0 +1,40 @@
+/*
+ * msleep.c - delay execution for n milliseconds
+ *
+ * Copyright (c) 2012 Steffen Trumtrar <s.trumtrar@pengutronix.de>, Pengutronix
+ *
+ * derived from commands/sleep.c
+ *
+ * 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 <clock.h>
+
+static int do_msleep(int argc, char *argv[])
+{
+ ulong delay;
+
+ if (argc != 2)
+ return COMMAND_ERROR_USAGE;
+
+ delay = simple_strtoul(argv[1], NULL, 10);
+
+ mdelay(delay);
+
+ return 0;
+}
+
+BAREBOX_CMD_START(msleep)
+ .cmd = do_msleep,
+ .usage = "delay execution for n milliseconds",
+BAREBOX_CMD_END
diff --git a/commands/net.c b/commands/net.c
index a453f4ed33..e77f12fce6 100644
--- a/commands/net.c
+++ b/commands/net.c
@@ -36,35 +36,6 @@
#include <errno.h>
#include <libbb.h>
-#ifdef CONFIG_NET_RARP
-extern void RarpRequest(void);
-
-static int do_rarpb(int argc, char *argv[])
-{
- int size;
-
- if (NetLoopInit(RARP) < 0)
- return 1;
-
- NetOurIP = 0;
- RarpRequest(); /* Basically same as BOOTP */
-
- if ((size = NetLoop()) < 0)
- return 1;
-
- /* NetLoop ok, update environment */
- netboot_update_env();
-
- return 0;
-}
-
-BAREBOX_CMD_START(rarpboot)
- .cmd = do_rarpb,
- .usage = "boot image via network using rarp/tftp protocol",
- BAREBOX_CMD_HELP("[loadAddress] [bootfilename]\n")
-BAREBOX_CMD_END
-#endif /* CONFIG_NET_RARP */
-
static int do_ethact(int argc, char *argv[])
{
struct eth_device *edev;
diff --git a/commands/sleep.c b/commands/sleep.c
index c5f7867400..950ec08743 100644
--- a/commands/sleep.c
+++ b/commands/sleep.c
@@ -47,5 +47,5 @@ static int do_sleep(int argc, char *argv[])
BAREBOX_CMD_START(sleep)
.cmd = do_sleep,
.usage = "delay execution for n seconds",
- BAREBOX_CMD_COMPLETE(cammand_var_complete)
+ BAREBOX_CMD_COMPLETE(command_var_complete)
BAREBOX_CMD_END
diff --git a/common/complete.c b/common/complete.c
index 0780888cae..4370b20804 100644
--- a/common/complete.c
+++ b/common/complete.c
@@ -198,7 +198,7 @@ int empty_complete(struct string_list *sl, char *instr)
return COMPLETE_END;
}
-int cammand_var_complete(struct string_list *sl, char *instr)
+int command_var_complete(struct string_list *sl, char *instr)
{
return COMPLETE_CONTINUE;
}
diff --git a/defaultenv/bin/init b/defaultenv/bin/init
index 6e85a82e8c..f535e3781c 100644
--- a/defaultenv/bin/init
+++ b/defaultenv/bin/init
@@ -23,7 +23,7 @@ fi
if [ -f /env/bin/boot_board ]; then
. /env/bin/boot_board
-else
+elif [ -n $autoboot_timeout ]; then
echo
echo -n "Hit any key to stop autoboot: "
timeout -a $autoboot_timeout
diff --git a/drivers/mci/imx-esdhc.h b/drivers/mci/imx-esdhc.h
index 19fed5aebf..7d5ed85dfd 100644
--- a/drivers/mci/imx-esdhc.h
+++ b/drivers/mci/imx-esdhc.h
@@ -39,7 +39,6 @@
#define SYSCTL_PEREN 0x00000004
#define SYSCTL_HCKEN 0x00000002
#define SYSCTL_IPGEN 0x00000001
-#define SYSCTL_RSTA 0x01000000
#define IRQSTAT 0x0002e030
#define IRQSTAT_DMAE (0x10000000)
diff --git a/fs/devfs.c b/fs/devfs.c
index 5aace362e2..2549ea60a8 100644
--- a/fs/devfs.c
+++ b/fs/devfs.c
@@ -49,6 +49,9 @@ static int devfs_write(struct device_d *_dev, FILE *f, const void *buf, size_t s
{
struct cdev *cdev = f->inode;
+ if (cdev->flags & DEVFS_PARTITION_READONLY)
+ return -EPERM;
+
return cdev_write(cdev, buf, size, f->pos, f->flags);
}
@@ -70,6 +73,9 @@ static int devfs_erase(struct device_d *_dev, FILE *f, size_t count, loff_t offs
{
struct cdev *cdev = f->inode;
+ if (cdev->flags & DEVFS_PARTITION_READONLY)
+ return -EPERM;
+
if (!cdev->ops->erase)
return -ENOSYS;
diff --git a/include/complete.h b/include/complete.h
index 8248c64d0c..33b848c91e 100644
--- a/include/complete.h
+++ b/include/complete.h
@@ -15,7 +15,7 @@ int command_complete(struct string_list *sl, char *instr);
int device_complete(struct string_list *sl, char *instr);
int empty_complete(struct string_list *sl, char *instr);
int eth_complete(struct string_list *sl, char *instr);
-int cammand_var_complete(struct string_list *sl, char *instr);
+int command_var_complete(struct string_list *sl, char *instr);
int devfs_partition_complete(struct string_list *sl, char *instr);
#endif /* __COMPLETE_ */