summaryrefslogtreecommitdiff
path: root/multitech/recipes/at91bootstrap
diff options
context:
space:
mode:
authorJesse Gilles <jgilles@multitech.com>2013-02-13 11:23:51 -0600
committerJesse Gilles <jgilles@multitech.com>2013-02-13 11:23:51 -0600
commitd354a230fb5ec512ca8f7b89ffc2e8679945eade (patch)
tree201109e314a4d4bf3c60f21ad0d6460659cf0655 /multitech/recipes/at91bootstrap
parentc4f1a399934177d3e174203a12ea23496f4b409a (diff)
at91bootstrap: add 3.5.2 for mtocgd3
Diffstat (limited to 'multitech/recipes/at91bootstrap')
-rw-r--r--multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/at91bootstrap-3.5.2-add-install.patch20
-rw-r--r--multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/at91sam9x5_4bit_pmecc_header.bin1
-rwxr-xr-xmultitech/recipes/at91bootstrap/at91bootstrap-3.5.2/create_4bit_pmecc_header.rb5
-rw-r--r--multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/mtocgd3/at91bootstrap-3.5.2-mtocgd3.patch65
-rw-r--r--multitech/recipes/at91bootstrap/at91bootstrap_3.5.2.bb25
-rw-r--r--multitech/recipes/at91bootstrap/at91bootstrap_3.5.inc27
6 files changed, 143 insertions, 0 deletions
diff --git a/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/at91bootstrap-3.5.2-add-install.patch b/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/at91bootstrap-3.5.2-add-install.patch
new file mode 100644
index 0000000..6f007b9
--- /dev/null
+++ b/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/at91bootstrap-3.5.2-add-install.patch
@@ -0,0 +1,20 @@
+Index: at91bootstrap-3.5.2/Makefile
+===================================================================
+--- at91bootstrap-3.5.2.orig/Makefile 2013-02-08 14:38:40.660054339 -0600
++++ at91bootstrap-3.5.2/Makefile 2013-02-08 14:41:30.626272862 -0600
+@@ -359,4 +359,15 @@
+
+ PHONY+=tarball tarballx
+
++install:
++ -install -d $(DESTDIR)
++ install $(AT91BOOTSTRAP) $(DESTDIR)/$(IMAGE)
++ -rm -f $(DESTDIR)/$(SYMLINK)
++ (cd ${DESTDIR} ; \
++ ln -sf ${IMAGE} ${SYMLINK} \
++ )
++
++
++PHONY+=install
++
+ .PHONY: $(PHONY)
diff --git a/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/at91sam9x5_4bit_pmecc_header.bin b/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/at91sam9x5_4bit_pmecc_header.bin
new file mode 100644
index 0000000..f8d6073
--- /dev/null
+++ b/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/at91sam9x5_4bit_pmecc_header.bin
@@ -0,0 +1 @@
+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ \ No newline at end of file
diff --git a/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/create_4bit_pmecc_header.rb b/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/create_4bit_pmecc_header.rb
new file mode 100755
index 0000000..780d728
--- /dev/null
+++ b/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/create_4bit_pmecc_header.rb
@@ -0,0 +1,5 @@
+#!/usr/bin/env ruby
+
+52.times do
+ print ["052490c0"].pack('H*')
+end
diff --git a/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/mtocgd3/at91bootstrap-3.5.2-mtocgd3.patch b/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/mtocgd3/at91bootstrap-3.5.2-mtocgd3.patch
new file mode 100644
index 0000000..97ae327
--- /dev/null
+++ b/multitech/recipes/at91bootstrap/at91bootstrap-3.5.2/mtocgd3/at91bootstrap-3.5.2-mtocgd3.patch
@@ -0,0 +1,65 @@
+Index: at91bootstrap-3.5.2/board/at91sam9x5ek/at91sam9x5eknf_uboot_defconfig
+===================================================================
+--- at91bootstrap-3.5.2.orig/board/at91sam9x5ek/at91sam9x5eknf_uboot_defconfig 2013-02-08 14:05:34.034501648 -0600
++++ at91bootstrap-3.5.2/board/at91sam9x5ek/at91sam9x5eknf_uboot_defconfig 2013-02-08 14:07:19.010677033 -0600
+@@ -42,7 +42,8 @@
+ ALLOW_PIO3=y
+ CONFIG_HAS_PIO3=y
+ CPU_HAS_PMECC=y
+-CONFIG_LOAD_ONE_WIRE=y
++# MTS: don't load one wire
++# CONFIG_LOAD_ONE_WIRE is not set
+
+ #
+ # Memory selection
+@@ -102,4 +103,5 @@
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+ CONFIG_SCLK=y
+-CONFIG_DISABLE_WATCHDOG=y
++# MTS: don't disable watchdog
++# CONFIG_DISABLE_WATCHDOG is not set
+Index: at91bootstrap-3.5.2/board/at91sam9x5ek/at91sam9x5ek.h
+===================================================================
+--- at91bootstrap-3.5.2.orig/board/at91sam9x5ek/at91sam9x5ek.h 2013-02-08 14:03:42.050364515 -0600
++++ at91bootstrap-3.5.2/board/at91sam9x5ek/at91sam9x5ek.h 2013-02-08 14:07:56.500399983 -0600
+@@ -95,7 +95,8 @@
+ #define CONFIG_SYS_NAND_CLE_PIN AT91C_PIN_PD(3)
+ #define CONFIG_SYS_NAND_ENABLE_PIN AT91C_PIN_PD(4)
+
+-#define PMECC_ERROR_CORR_BITS 2
++/* MTS: use 4-bit PMECC */
++#define PMECC_ERROR_CORR_BITS 4
+ #define PMECC_SECTOR_SIZE 512
+
+ #define CONFIG_LOOKUP_TABLE_ALPHA_OFFSET 0xC000
+Index: at91bootstrap-3.5.2/board/at91sam9x5ek/at91sam9x5ek.c
+===================================================================
+--- at91bootstrap-3.5.2.orig/board/at91sam9x5ek/at91sam9x5ek.c 2013-02-08 14:03:57.562179405 -0600
++++ at91bootstrap-3.5.2/board/at91sam9x5ek/at91sam9x5ek.c 2013-02-08 14:11:56.477737850 -0600
+@@ -268,10 +268,9 @@
+
+ reg = readl(AT91C_BASE_CCFG + CCFG_EBICSA);
+ reg |= AT91C_EBI_CS3A_SM;
+- if ((get_cm_rev() == 'A') && (get_cm_vendor() == VENDOR_EMBEST))
+- reg &= ~AT91C_EBI_NFD0_ON_D16;
+- else
+- reg |= (AT91C_EBI_DDR_MP_EN | AT91C_EBI_NFD0_ON_D16);
++ /* MTR2 Rev A NAND is on D0-D7, DDR_MP_EN must be disabled */
++ reg &= ~AT91C_EBI_NFD0_ON_D16;
++ reg &= ~AT91C_EBI_DDR_MP_EN;
+
+ reg &= ~AT91C_EBI_DRV;
+ writel(reg, AT91C_BASE_CCFG + CCFG_EBICSA);
+@@ -300,10 +299,7 @@
+ | AT91_SMC_TDF_(1)),
+ AT91C_BASE_SMC + SMC_CTRL3);
+
+- /* Configure the PIO controller */
+- if ((get_cm_rev() == 'A') && (get_cm_vendor() == VENDOR_EMBEST))
+- pio_configure(nand_pins_lo);
+- else
++ /* MTR2 */
+ pio_configure(nand_pins_hi);
+
+ writel((1 << AT91C_ID_PIOC_D), (PMC_PCER + AT91C_BASE_PMC));
diff --git a/multitech/recipes/at91bootstrap/at91bootstrap_3.5.2.bb b/multitech/recipes/at91bootstrap/at91bootstrap_3.5.2.bb
new file mode 100644
index 0000000..0957496
--- /dev/null
+++ b/multitech/recipes/at91bootstrap/at91bootstrap_3.5.2.bb
@@ -0,0 +1,25 @@
+require at91bootstrap_3.5.inc
+
+PR = "r0"
+
+SRC_URI = "https://github.com/linux4sam/at91bootstrap/archive/v3.5.2.tar.gz \
+ file://at91bootstrap-3.5.2-add-install.patch"
+
+SRC_URI_append_mtocgd3 = " file://at91bootstrap-3.5.2-mtocgd3.patch \
+ file://at91sam9x5_4bit_pmecc_header.bin \
+ "
+
+SRC_URI[md5sum] = "5f818dcd0d4d0fe1f0447b35d3f050eb"
+SRC_URI[sha256sum] = "cea3d75470000f1eff64e1f9dd356a1d7264b0a33b8af9e9461ab64653a6b6fb"
+
+# generate a bootstrap file padded with the header needed for 4-bit PMECC
+# The padded file can be flashed via u-boot without any need to set the PMECC header using SAM-BA
+do_pad_4bit_pmecc() {
+ cp -f ${WORKDIR}/at91sam9x5_4bit_pmecc_header.bin ${DEPLOY_DIR_IMAGE}/at91bootstrap_pmecc_padded.bin
+ cat ${DEPLOY_DIR_IMAGE}/at91bootstrap.bin >> ${DEPLOY_DIR_IMAGE}/at91bootstrap_pmecc_padded.bin
+}
+
+do_install_append_mtocgd3() {
+ do_pad_4bit_pmecc
+}
+
diff --git a/multitech/recipes/at91bootstrap/at91bootstrap_3.5.inc b/multitech/recipes/at91bootstrap/at91bootstrap_3.5.inc
new file mode 100644
index 0000000..ac147c0
--- /dev/null
+++ b/multitech/recipes/at91bootstrap/at91bootstrap_3.5.inc
@@ -0,0 +1,27 @@
+DESCRIPTION = "at91bootstrap: loaded into internal SRAM by AT91 BootROM"
+SECTION = "bootloaders"
+
+PARALLEL_MAKE = ""
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} DESTDIR=${DEPLOY_DIR_IMAGE} REVISION=${PR}"
+
+do_compile () {
+ unset LDFLAGS
+ unset CFLAGS
+ unset CPPFLAGS
+
+ rm -Rf ${S}/binaries
+ for board in ${AT91BOOTSTRAP_BOARD} ; do
+ oe_runmake mrproper
+ filename=`find board -name ${board}_defconfig`
+ if ! [ "x$filename" == "x" ] ; then
+ cp $filename .config
+ oe_runmake
+ oe_runmake install
+ else
+ echo "${board} could not be built"
+ exit 1
+ fi
+ done
+}