summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-02-24 15:50:07 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2011-03-03 16:15:56 +0100
commit065c2b470219081f6eabb332508822e6f01498e5 (patch)
tree40e43068d67834115cdb78e449ab4abfac0b0556 /arch
parent1f167559e29d91a4ed80dde3937d5e451f72a121 (diff)
downloadbarebox-065c2b470219081f6eabb332508822e6f01498e5.tar.gz
barebox-065c2b470219081f6eabb332508822e6f01498e5.tar.xz
ARM i.MX35 3stack: Switch to default env
Also, enable nand driver and external NAND boot support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boards/freescale-mx35-3-stack/env/bin/_update39
-rw-r--r--arch/arm/boards/freescale-mx35-3-stack/env/bin/boot57
-rw-r--r--arch/arm/boards/freescale-mx35-3-stack/env/bin/hush_hack1
-rw-r--r--arch/arm/boards/freescale-mx35-3-stack/env/bin/init38
-rw-r--r--arch/arm/boards/freescale-mx35-3-stack/env/bin/update_kernel15
-rw-r--r--arch/arm/boards/freescale-mx35-3-stack/env/bin/update_rootfs20
-rw-r--r--arch/arm/boards/freescale-mx35-3-stack/env/config47
-rw-r--r--arch/arm/configs/freescale_mx35_3stack_defconfig12
8 files changed, 45 insertions, 184 deletions
diff --git a/arch/arm/boards/freescale-mx35-3-stack/env/bin/_update b/arch/arm/boards/freescale-mx35-3-stack/env/bin/_update
deleted file mode 100644
index ddd6b84f72..0000000000
--- a/arch/arm/boards/freescale-mx35-3-stack/env/bin/_update
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-if [ -z "$part" -o -z "$image" ]; then
- echo "define \$part and \$image"
- exit 1
-fi
-
-if [ ! -e "$part" ]; then
- echo "Partition $part does not exist"
- exit 1
-fi
-
-if [ $# = 1 ]; then
- image=$1
-fi
-
-if [ x$ip = xdhcp ]; then
- dhcp
-fi
-
-ping $eth0.serverip
-if [ $? -ne 0 ] ; then
- echo "Server did not reply! Update aborted."
- exit 1
-fi
-
-unprotect $part
-
-echo
-echo "erasing partition $part"
-echo
-erase $part
-
-echo
-echo "flashing $image to $part"
-echo
-tftp $image $part
-
-protect $part
diff --git a/arch/arm/boards/freescale-mx35-3-stack/env/bin/boot b/arch/arm/boards/freescale-mx35-3-stack/env/bin/boot
deleted file mode 100644
index fb2fe614d4..0000000000
--- a/arch/arm/boards/freescale-mx35-3-stack/env/bin/boot
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-
-. /env/config
-
-if [ x$1 = xnand ]; then
- rootfs_loc=nand
- kernel_loc=nand
-elif [ x$1 = xnor ]; then
- rootfs_loc=nor
- kernel_loc=nor
-elif [ x$1 = xnet ]; then
- rootfs_loc=net
- kernel_loc=net
-fi
-
-
-if [ x$ip = xdhcp ]; then
- bootargs="$bootargs ip=dhcp"
-elif [ x$ip != xno ]; then
- bootargs="$bootargs ip=$eth0.ipaddr:$eth0.serverip:$eth0.gateway:$eth0.netmask:::"
-fi
-
-
-if [ $rootfs_loc != net ]; then
- if [ x$rootfs_loc = xnand ]; then
- rootfs_mtdblock=$rootfs_mtdblock_nand
- else
- rootfs_mtdblock=$rootfs_mtdblock_nor
- fi
-
-
- if [ $rootfs_type = ubifs ]; then
- bootargs="$bootargs root=ubi0:root ubi.mtd=$rootfs_mtdblock"
- else
- bootargs="$bootargs root=/dev/mtdblock$rootfs_mtdblock"
- fi
-
- bootargs="$bootargs rootfstype=$rootfs_type"
-else
- bootargs="$bootargs root=/dev/nfs nfsroot=$eth0.serverip:$nfsroot,v3,tcp"
-fi
-
-
-bootargs="$bootargs mtdparts=\"physmap-flash.0:$nor_parts;mxc_nand:$nand_parts\""
-
-if [ $kernel_loc = net ]; then
- if [ x$ip = xdhcp ]; then
- dhcp
- fi
- tftp $kernel uImage || exit 1
- bootm uImage
-elif [ $kernel_loc = nor ]; then
- bootm /dev/nor0.kernel
-else
- bootm /dev/nand0.kernel.bb
-fi
-
diff --git a/arch/arm/boards/freescale-mx35-3-stack/env/bin/hush_hack b/arch/arm/boards/freescale-mx35-3-stack/env/bin/hush_hack
deleted file mode 100644
index 5fffa92ecd..0000000000
--- a/arch/arm/boards/freescale-mx35-3-stack/env/bin/hush_hack
+++ /dev/null
@@ -1 +0,0 @@
-nand -a /dev/nand0.*
diff --git a/arch/arm/boards/freescale-mx35-3-stack/env/bin/init b/arch/arm/boards/freescale-mx35-3-stack/env/bin/init
deleted file mode 100644
index c982f22a86..0000000000
--- a/arch/arm/boards/freescale-mx35-3-stack/env/bin/init
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-
-PATH=/env/bin
-export PATH
-
-. /env/config
-if [ -e /dev/nor0 ]; then
- addpart /dev/nor0 $nor_parts
-fi
-
-if [ -e /dev/nand0 ]; then
- addpart /dev/nand0 $nand_parts
-
- # Uh, oh, hush first expands wildcards and then starts executing
- # commands. What a bug!
- source /env/bin/hush_hack
-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
- done
- echo -a /env/config "eth0.ethaddr=$eth0.ethaddr"
- saveenv
-fi
-
-echo
-echo -n "Hit any key to stop autoboot: "
-timeout -a $autoboot_timeout
-if [ $? != 0 ]; then
- echo
- echo "type update_kernel nand|nor [<imagename>] to update kernel into flash"
- echo "type update_rootfs nand|nor [<imagename>] to update rootfs into flash"
- echo
- exit
-fi
-
-boot
diff --git a/arch/arm/boards/freescale-mx35-3-stack/env/bin/update_kernel b/arch/arm/boards/freescale-mx35-3-stack/env/bin/update_kernel
deleted file mode 100644
index 63ad11aaed..0000000000
--- a/arch/arm/boards/freescale-mx35-3-stack/env/bin/update_kernel
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-. /env/config
-image=$kernel
-
-if [ x$1 = xnand ]; then
- part=/dev/nand0.kernel.bb
-elif [ x$1 = xnor ]; then
- part=/dev/nor0.kernel
-else
- echo "usage: $0 nor|nand [imagename]"
- exit 1
-fi
-
-. /env/bin/_update $2
diff --git a/arch/arm/boards/freescale-mx35-3-stack/env/bin/update_rootfs b/arch/arm/boards/freescale-mx35-3-stack/env/bin/update_rootfs
deleted file mode 100644
index 53dd2ca575..0000000000
--- a/arch/arm/boards/freescale-mx35-3-stack/env/bin/update_rootfs
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-. /env/config
-
-if [ $rootfs_type = ubifs ]; then
- image=${rootfs}.ubi
-else
- image=${rootfs}.$rootfs_type
-fi
-
-if [ x$1 = xnand ]; then
- part=/dev/nand0.root.bb
-elif [ x$1 = xnor ]; then
- part=/dev/nor0.root
-else
- echo "usage: $0 nor|nand [imagename]"
- exit 1
-fi
-
-. /env/bin/_update $2
diff --git a/arch/arm/boards/freescale-mx35-3-stack/env/config b/arch/arm/boards/freescale-mx35-3-stack/env/config
index 51195f7404..df01d4222f 100644
--- a/arch/arm/boards/freescale-mx35-3-stack/env/config
+++ b/arch/arm/boards/freescale-mx35-3-stack/env/config
@@ -1,8 +1,12 @@
#!/bin/sh
+machine=mx35-3stack
+eth0.serverip=
+user=
+
# use 'dhcp' to do dhcp in barebox and in kernel
-# use 'no' if you don't want to pass the ip from barebox to the kernel
-#ip=dhcp
+# use 'none' if you want to skip kernel ip autoconfiguration
+ip=dhcp
# or set your networking parameters here
#eth0.ipaddr=a.b.c.d
@@ -10,26 +14,43 @@
#eth0.gateway=a.b.c.d
#eth0.serverip=a.b.c.d
-# can be either 'net', 'nor' or 'nand''
-kernel_loc=nand
-rootfs_loc=nand
+# can be either 'net', 'nor' or 'nand'
+kernel_loc=net
+# can be either 'net', 'nor', 'nand' or 'initrd'
+rootfs_loc=net
-# can be either 'jffs2', or 'ubifs'
+# can be either 'jffs2' or 'ubifs'
rootfs_type=ubifs
-
-kernel=uImage-mx35-3-stack
-rootfs=root-mx35-3-stack
-envimage=u-boot-v2-environment-mx35-3-stack
+rootfsimage=root-$machine.$rootfs_type
+
+# The image type of the kernel. Can be uimage, zimage, raw, or raw_lzo
+kernelimage_type=zimage
+kernelimage=zImage-$machine
+#kernelimage_type=uimage
+#kernelimage=uImage-$machine
+#kernelimage_type=raw
+#kernelimage=Image-$machine
+#kernelimage_type=raw_lzo
+#kernelimage=Image-$machine.lzo
+
+if [ -n $user ]; then
+ kernelimage="$user"-"$kernelimage"
+ nfsroot="$eth0.serverip:/home/$user/nfsroot/$machine"
+ rootfsimage="$user"-"$rootfsimage"
+else
+ nfsroot="$eth0.serverip:/path/to/nfs/root"
+fi
autoboot_timeout=3
-nfsroot="/path/to/nfs/root"
bootargs="console=ttymxc0,115200"
-bootargs="$bootargs video=mx3fb:CTP-CLAA070LC0ACW"
-
nor_parts="256k(barebox)ro,512k(bareboxenv),2M(kernel),-(root)"
rootfs_mtdblock_nor=3
nand_parts="256k(barebox)ro,512k(bareboxenv),2M(kernel),-(root)"
rootfs_mtdblock_nand=7
+
+# set a fancy prompt (if support is compiled in)
+PS1="\e[1;32mbarebox@\e[1;31m\h:\w\e[0m "
+
diff --git a/arch/arm/configs/freescale_mx35_3stack_defconfig b/arch/arm/configs/freescale_mx35_3stack_defconfig
index 20c59535bf..2c0e5137e8 100644
--- a/arch/arm/configs/freescale_mx35_3stack_defconfig
+++ b/arch/arm/configs/freescale_mx35_3stack_defconfig
@@ -7,9 +7,11 @@ CONFIG_TEXT_BASE=0x87F00000
CONFIG_MALLOC_SIZE=0x1000000
CONFIG_LONGHELP=y
CONFIG_GLOB=y
+CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_PARTITION=y
+CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/freescale-mx35-3-stack/env/"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
@@ -18,14 +20,17 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
+CONFIG_CMD_ECHO_E=y
CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_CRC=y
CONFIG_CMD_FLASH=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_BMP=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_UNLZO=y
+CONFIG_CMD_I2C=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
CONFIG_NET_PING=y
@@ -35,5 +40,10 @@ CONFIG_DRIVER_NET_FEC_IMX=y
# CONFIG_SPI is not set
CONFIG_DRIVER_CFI=y
CONFIG_CFI_BUFFER_WRITE=y
+CONFIG_MTD=y
+CONFIG_NAND=y
+CONFIG_NAND_IMX=y
+CONFIG_NAND_IMX_BOOT=y
+CONFIG_UBI=y
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_IMX_IPU=y