diff options
author | Jesse Gilles <jgilles@multitech.com> | 2013-02-13 11:23:51 -0600 |
---|---|---|
committer | Jesse Gilles <jgilles@multitech.com> | 2013-02-13 11:23:51 -0600 |
commit | d354a230fb5ec512ca8f7b89ffc2e8679945eade (patch) | |
tree | 201109e314a4d4bf3c60f21ad0d6460659cf0655 /multitech/recipes | |
parent | c4f1a399934177d3e174203a12ea23496f4b409a (diff) |
at91bootstrap: add 3.5.2 for mtocgd3
Diffstat (limited to 'multitech/recipes')
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 +} |