From 34b15e7204d5b4b2bae98e9ab3066ec649b7b187 Mon Sep 17 00:00:00 2001 From: Jeff Hatch Date: Mon, 13 Feb 2017 14:34:15 -0600 Subject: Initial commit of Yocto 2.1 changes --- conf/machine/mtcdt.conf | 5 +- ...strap-3.5.2-onetime-slow-clock-switch.patch.swp | Bin 0 -> 12288 bytes recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb | 30 - .../at91bootstrap/at91bootstrap_3.5.3.bb.orig | 30 + recipes-bsp/u-boot/u-boot.inc | 252 +- recipes-bsp/u-boot/u-boot.inc.orig | 89 + recipes-bsp/u-boot/u-boot_2012.10.bb | 42 - recipes-bsp/u-boot/u-boot_2012.10.bb.orig | 42 + recipes-bsp/u-boot/u-boot_2016.03.bb | 10 + recipes-kernel/linux/linux-3.12.27/mtcdt/defconfig | 2 +- ....12-add-num_accessory_ports-config-option.patch | 22 + .../linux-3.12-at91-gpio-pullup.patch | 42 + .../linux-3.12-at91sam9_wdt-10second-timeout.patch | 14 + .../linux-3.12-atmel-mci-force-detect.patch | 29 + .../linux-3.12-atmel-pmecc-debug-bitflips.patch | 22 + .../linux/linux-3.12.70/linux-3.12-atmel-spi.patch | 37 + .../linux-3.12.70/linux-3.12-cadence-macb.patch | 106 + .../linux-3.12-cdc-acm-ignore-exar-devices.patch | 35 + .../linux-3.12-gpio-expose-deglitch.patch | 165 ++ .../linux-3.12-gpio-expose-pullups.patch | 301 ++ .../linux/linux-3.12.70/linux-3.12-pps-gpio.patch | 31 + .../linux-3.12-release-rfcomm-port-fix.patch | 78 + .../linux-3.12-spi-atmel-dma-min.patch | 18 + .../linux-3.12.70/linux-3.12.27-option-telit.patch | 20 + recipes-kernel/linux/linux-3.12.70/mtcap/defconfig | 2894 +++++++++++++++++++ .../mtcap/linux-3.12-eeprom-setup-mtcdt.patch | 164 ++ .../mtcap/linux-3.12-mtcap-device-tree.patch | 227 ++ recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig | 2898 ++++++++++++++++++++ .../mtcdt/linux-3.12-eeprom-setup-mtcdt.patch | 164 ++ .../mtcdt/linux-3.12-mtcdt-device-tree.patch | 468 ++++ recipes-kernel/linux/linux-3.12.70/option.patch | 20 + recipes-kernel/linux/linux_3.12.27.bb | 72 - recipes-kernel/linux/linux_3.12.27.bb.old | 72 + recipes-kernel/linux/linux_3.12.27.bb.orig | 59 + recipes-kernel/linux/linux_3.12.70.bb | 58 + 35 files changed, 8346 insertions(+), 172 deletions(-) create mode 100644 recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp delete mode 100644 recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb create mode 100644 recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig create mode 100644 recipes-bsp/u-boot/u-boot.inc.orig delete mode 100644 recipes-bsp/u-boot/u-boot_2012.10.bb create mode 100644 recipes-bsp/u-boot/u-boot_2012.10.bb.orig create mode 100644 recipes-bsp/u-boot/u-boot_2016.03.bb create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-add-num_accessory_ports-config-option.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-at91-gpio-pullup.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-at91sam9_wdt-10second-timeout.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-mci-force-detect.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-pmecc-debug-bitflips.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-spi.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-cadence-macb.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-cdc-acm-ignore-exar-devices.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-gpio-expose-deglitch.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-gpio-expose-pullups.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-pps-gpio.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-release-rfcomm-port-fix.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12-spi-atmel-dma-min.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/linux-3.12.27-option-telit.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/mtcap/defconfig create mode 100644 recipes-kernel/linux/linux-3.12.70/mtcap/linux-3.12-eeprom-setup-mtcdt.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/mtcap/linux-3.12-mtcap-device-tree.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig create mode 100644 recipes-kernel/linux/linux-3.12.70/mtcdt/linux-3.12-eeprom-setup-mtcdt.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/mtcdt/linux-3.12-mtcdt-device-tree.patch create mode 100644 recipes-kernel/linux/linux-3.12.70/option.patch delete mode 100644 recipes-kernel/linux/linux_3.12.27.bb create mode 100644 recipes-kernel/linux/linux_3.12.27.bb.old create mode 100644 recipes-kernel/linux/linux_3.12.27.bb.orig create mode 100644 recipes-kernel/linux/linux_3.12.70.bb diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index 9ee6554..5931df8 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -12,6 +12,8 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini" PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" DEFAULTTUNE = "arm926ejs" +TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s" +TUNE_FEATURES = "arm armv5 thumb dsp arm926ejs" # used by sysvinit_2 SERIAL_CONSOLES = "115200;ttyS0" @@ -28,7 +30,8 @@ KERNEL_IMAGETYPE = "uImage" # remove kernel-image from rootfs by overriding kernel-base DEPS RDEPENDS_kernel-base = "" -EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot" +#EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot" +EXTRA_IMAGEDEPENDS += "u-boot" IMAGE_FSTYPES =+ "jffs2 tar.gz" EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 -n" diff --git a/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp b/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp new file mode 100644 index 0000000..f31477d Binary files /dev/null and b/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp differ diff --git a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb deleted file mode 100644 index 2e5f086..0000000 --- a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb +++ /dev/null @@ -1,30 +0,0 @@ -require at91bootstrap_3.5.inc - -PR = "r3" - -LICENSE = "custom-freely-distributable" -LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6fca71334c9e8b7d033296123c91437f" - -SRCREV = "v${PV}" -SRC_URI = "git://github.com/linux4sam/at91bootstrap \ - file://at91bootstrap-3.5.2-add-install.patch \ - file://at91bootstrap-3.5.2-onetime-slow-clock-switch.patch \ - file://at91sam9x5_4bit_pmecc_header.bin \ - file://at91bootstrap-3.5.3-disable-rtc-interrupts.patch" - -S = "${WORKDIR}/git" - -SRC_URI_append_mtcdt = " file://at91bootstrap-3.5.3-mtcdt.patch " -SRC_URI_append_mtcap = " file://at91bootstrap-3.5.3-mtcdt.patch " - -# 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() { - do_pad_4bit_pmecc -} - diff --git a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig new file mode 100644 index 0000000..2e5f086 --- /dev/null +++ b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig @@ -0,0 +1,30 @@ +require at91bootstrap_3.5.inc + +PR = "r3" + +LICENSE = "custom-freely-distributable" +LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6fca71334c9e8b7d033296123c91437f" + +SRCREV = "v${PV}" +SRC_URI = "git://github.com/linux4sam/at91bootstrap \ + file://at91bootstrap-3.5.2-add-install.patch \ + file://at91bootstrap-3.5.2-onetime-slow-clock-switch.patch \ + file://at91sam9x5_4bit_pmecc_header.bin \ + file://at91bootstrap-3.5.3-disable-rtc-interrupts.patch" + +S = "${WORKDIR}/git" + +SRC_URI_append_mtcdt = " file://at91bootstrap-3.5.3-mtcdt.patch " +SRC_URI_append_mtcap = " file://at91bootstrap-3.5.3-mtcdt.patch " + +# 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() { + do_pad_4bit_pmecc +} + diff --git a/recipes-bsp/u-boot/u-boot.inc b/recipes-bsp/u-boot/u-boot.inc index ab718a6..0694f92 100644 --- a/recipes-bsp/u-boot/u-boot.inc +++ b/recipes-bsp/u-boot/u-boot.inc @@ -1,12 +1,27 @@ -DESCRIPTION = "U-Boot - the Universal Boot Loader" +SUMMARY = "Universal Boot Loader for embedded devices" HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome" SECTION = "bootloaders" PROVIDES = "virtual/bootloader" -inherit uboot-config deploy +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6" + +SRC_URI = "git://git.denx.de/u-boot.git;branch=master" + +S = "${WORKDIR}/git" PACKAGE_ARCH = "${MACHINE_ARCH}" -EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"' + +inherit uboot-config deploy + +EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1' +EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"' + +PACKAGECONFIG ??= "openssl" +# u-boot will compile its own tools during the build, with specific +# configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as +# a host build dependency. +PACKAGECONFIG[openssl] = ",,openssl-native" # Allow setting an additional version string that will be picked up by the # u-boot build system and appended to the u-boot version. If the .scmversion @@ -15,24 +30,45 @@ UBOOT_LOCALVERSION ?= "" # Some versions of u-boot use .bin and others use .img. By default use .bin # but enable individual recipes to change this value. -UBOOT_SUFFIX ?= "bin" +UBOOT_SUFFIX ??= "bin" UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}" UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}" UBOOT_MAKE_TARGET ?= "all" +# Output the ELF generated. Some platforms can use the ELF file and directly +# load it (JTAG booting, QEMU) additionally the ELF can be used for debugging +# purposes. +UBOOT_ELF ?= "" +UBOOT_ELF_SUFFIX ?= "elf" +UBOOT_ELF_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}" +UBOOT_ELF_BINARY ?= "u-boot.${UBOOT_ELF_SUFFIX}" +UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}" + # Some versions of u-boot build an SPL (Second Program Loader) image that # should be packaged along with the u-boot binary as well as placed in the # deploy directory. For those versions they can set the following variables # to allow packaging the SPL. SPL_BINARY ?= "" -SPL_IMAGE ?= "${SPL_BINARY}-${MACHINE}-${PV}-${PR}" -SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}" +SPL_BINARYNAME ?= "${@os.path.basename(d.getVar("SPL_BINARY", True))}" +SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}" +SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}" + +# Additional environment variables or a script can be installed alongside +# u-boot to be used automatically on boot. This file, typically 'uEnv.txt' +# or 'boot.scr', should be packaged along with u-boot as well as placed in the +# deploy directory. Machine configurations needing one of these files should +# include it in the SRC_URI and set the UBOOT_ENV parameter. +UBOOT_ENV_SUFFIX ?= "txt" +UBOOT_ENV ?= "" +UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}" +UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}" +UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}" FILES_${PN}-dev += "${includedir}/u-boot/* ${includedir}/u-boot/configs/* ${includedir}/u-boot/asm/*" do_compile () { - if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then + if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk fi @@ -45,15 +81,77 @@ do_compile () { echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion fi + + if [ "x${UBOOT_CONFIG}" != "x" ] + then + for config in ${UBOOT_MACHINE}; do + i=`expr $i + 1`; + for type in ${UBOOT_CONFIG}; do + j=`expr $j + 1`; + if [ $j -eq $i ] + then + oe_runmake O=${config} ${config} + oe_runmake O=${config} ${UBOOT_MAKE_TARGET} + cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} + fi + done + unset j + done + unset i + else + oe_runmake ${UBOOT_MACHINE} + oe_runmake ${UBOOT_MAKE_TARGET} + fi - oe_runmake ${UBOOT_MACHINE} - oe_runmake ${UBOOT_MAKE_TARGET} } do_install () { - install -d ${D}/boot - install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} - ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} + if [ "x${UBOOT_CONFIG}" != "x" ] + then + for config in ${UBOOT_MACHINE}; do + i=`expr $i + 1`; + for type in ${UBOOT_CONFIG}; do + j=`expr $j + 1`; + if [ $j -eq $i ] + then + install -d ${D}/boot + install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY} + fi + done + unset j + done + unset i + else + install -d ${D}/boot + install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} + fi + + if [ "x${UBOOT_ELF}" != "x" ] + then + if [ "x${UBOOT_CONFIG}" != "x" ] + then + for config in ${UBOOT_MACHINE}; do + i=`expr $i + 1`; + for type in ${UBOOT_CONFIG}; do + j=`expr $j + 1`; + if [ $j -eq $i ] + then + install ${S}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY} + fi + done + unset j + done + unset i + else + install ${S}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE} + ln -sf ${UBOOT_ELF_IMAGE} ${D}/boot/${UBOOT_ELF_BINARY} + fi + fi if [ -e ${WORKDIR}/fw_env.config ] ; then install -d ${D}${sysconfdir} @@ -62,8 +160,32 @@ do_install () { if [ "x${SPL_BINARY}" != "x" ] then - install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE} - ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY} + if [ "x${UBOOT_CONFIG}" != "x" ] + then + for config in ${UBOOT_MACHINE}; do + i=`expr $i + 1`; + for type in ${UBOOT_CONFIG}; do + j=`expr $j + 1`; + if [ $j -eq $i ] + then + install ${S}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR} + ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}-${type} + ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME} + fi + done + unset j + done + unset i + else + install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE} + ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYNAME} + fi + fi + + if [ "x${UBOOT_ENV}" != "x" ] + then + install ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE} + ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY} fi mkdir -p ${D}/usr/include/u-boot || true (cd ${S}/include;find . | cpio -pdum ${D}/usr/include/u-boot) @@ -71,23 +193,101 @@ do_install () { } FILES_${PN} = "/boot ${sysconfdir}" -FILESPATH =. "${FILE_DIRNAME}/u-boot-git/${MACHINE}:" do_deploy () { - install -d ${DEPLOYDIR} - install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + if [ "x${UBOOT_CONFIG}" != "x" ] + then + for config in ${UBOOT_MACHINE}; do + i=`expr $i + 1`; + for type in ${UBOOT_CONFIG}; do + j=`expr $j + 1`; + if [ $j -eq $i ] + then + install -d ${DEPLOYDIR} + install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + cd ${DEPLOYDIR} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY} + fi + done + unset j + done + unset i + else + install -d ${DEPLOYDIR} + install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + cd ${DEPLOYDIR} + rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY} + fi - cd ${DEPLOYDIR} - rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK} - ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK} - ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY} + if [ "x${UBOOT_ELF}" != "x" ] + then + if [ "x${UBOOT_CONFIG}" != "x" ] + then + for config in ${UBOOT_MACHINE}; do + i=`expr $i + 1`; + for type in ${UBOOT_CONFIG}; do + j=`expr $j + 1`; + if [ $j -eq $i ] + then + install ${S}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type} + ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK} + fi + done + unset j + done + unset i + else + install ${S}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE} + ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_BINARY} + ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK} + fi + fi - if [ "x${SPL_BINARY}" != "x" ] + + if [ "x${SPL_BINARY}" != "x" ] + then + if [ "x${UBOOT_CONFIG}" != "x" ] + then + for config in ${UBOOT_MACHINE}; do + i=`expr $i + 1`; + for type in ${UBOOT_CONFIG}; do + j=`expr $j + 1`; + if [ $j -eq $i ] + then + install ${S}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR} + rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}-${type} + ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type} + ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME} + ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}-${type} + ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK} + fi + done + unset j + done + unset i + else + install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE} + rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK} + ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARYNAME} + ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK} + fi + fi + + + if [ "x${UBOOT_ENV}" != "x" ] then - install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE} - rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK} - ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY} - ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK} + install ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE} + rm -f ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK} + ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY} + ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK} fi } diff --git a/recipes-bsp/u-boot/u-boot.inc.orig b/recipes-bsp/u-boot/u-boot.inc.orig new file mode 100644 index 0000000..38a8a79 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot.inc.orig @@ -0,0 +1,89 @@ +DESCRIPTION = "U-Boot - the Universal Boot Loader" +HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome" +SECTION = "bootloaders" +PROVIDES = "virtual/bootloader" + +inherit uboot-config deploy + +PACKAGE_ARCH = "${MACHINE_ARCH}" +EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"' + +# Allow setting an additional version string that will be picked up by the +# u-boot build system and appended to the u-boot version. If the .scmversion +# file already exists it will not be overwritten. +UBOOT_LOCALVERSION ?= "" + +# Some versions of u-boot use .bin and others use .img. By default use .bin +# but enable individual recipes to change this value. +UBOOT_SUFFIX ?= "bin" +UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}" +UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" +UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}" +UBOOT_MAKE_TARGET ?= "all" + +# Some versions of u-boot build an SPL (Second Program Loader) image that +# should be packaged along with the u-boot binary as well as placed in the +# deploy directory. For those versions they can set the following variables +# to allow packaging the SPL. +SPL_BINARY ?= "" +SPL_IMAGE ?= "${SPL_BINARY}-${MACHINE}-${PV}-${PR}" +SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}" + +do_compile () { + if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then + sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk + fi + + unset LDFLAGS + unset CFLAGS + unset CPPFLAGS + + if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ] + then + echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion + echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion + fi + + oe_runmake ${UBOOT_MACHINE} + oe_runmake ${UBOOT_MAKE_TARGET} +} + +do_install () { + install -d ${D}/boot + install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} + + if [ -e ${WORKDIR}/fw_env.config ] ; then + install -d ${D}${sysconfdir} + install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config + fi + + if [ "x${SPL_BINARY}" != "x" ] + then + install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE} + ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY} + fi +} + +FILES_${PN} = "/boot ${sysconfdir}" +FILESPATH =. "${FILE_DIRNAME}/u-boot-git/${MACHINE}:" + +do_deploy () { + install -d ${DEPLOYDIR} + install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + + cd ${DEPLOYDIR} + rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY} + + if [ "x${SPL_BINARY}" != "x" ] + then + install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE} + rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK} + ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY} + ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK} + fi +} + +addtask deploy before do_build after do_compile diff --git a/recipes-bsp/u-boot/u-boot_2012.10.bb b/recipes-bsp/u-boot/u-boot_2012.10.bb deleted file mode 100644 index 51cd565..0000000 --- a/recipes-bsp/u-boot/u-boot_2012.10.bb +++ /dev/null @@ -1,42 +0,0 @@ -PR = "r7" -require u-boot.inc - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb" - -DEFAULT_PREFERENCE = "-1" - -# U-Boot 2012.10 for AT91 -# tag: linux4sam_4.0 -SRCREV="8978bdafbad84c0c9878c9ff331930ca6edf9a76" - -SRC_URI = "git://github.com/linux4sam/u-boot-at91.git;branch=u-boot-2012.10-at91 \ - file://u-boot-2012.10-sam9x5-eth-mii-fix.patch \ - file://u-boot-env-crc-dbg.patch \ - " - -# add patch to speed up boot if ethernet autonegotiation fails -SRC_URI += "file://u-boot-2010.06-macb-autoneg-timeout.patch" -# add password protection patch -SRC_URI += "file://u-boot-2012.10-pwd.patch" - -SRC_URI_append_mtcdt = " file://u-boot-2012.10-mtcdt.patch" -SRC_URI_append_mtcap = " file://u-boot-2012.10-mtcdt.patch" - -TARGET_LDFLAGS = "" - -S = "${WORKDIR}/git" - -inherit base - -do_configure_prepend() { - mv -f tools/setlocalversion tools/setlocalversion.old - echo -e "#!/bin/sh\necho '-${MACHINE}-${PR}'" > tools/setlocalversion - chmod a+rx tools/setlocalversion -} - -do_compile () { - oe_runmake ${UBOOT_MACHINE} - oe_runmake all -} - diff --git a/recipes-bsp/u-boot/u-boot_2012.10.bb.orig b/recipes-bsp/u-boot/u-boot_2012.10.bb.orig new file mode 100644 index 0000000..51cd565 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot_2012.10.bb.orig @@ -0,0 +1,42 @@ +PR = "r7" +require u-boot.inc + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb" + +DEFAULT_PREFERENCE = "-1" + +# U-Boot 2012.10 for AT91 +# tag: linux4sam_4.0 +SRCREV="8978bdafbad84c0c9878c9ff331930ca6edf9a76" + +SRC_URI = "git://github.com/linux4sam/u-boot-at91.git;branch=u-boot-2012.10-at91 \ + file://u-boot-2012.10-sam9x5-eth-mii-fix.patch \ + file://u-boot-env-crc-dbg.patch \ + " + +# add patch to speed up boot if ethernet autonegotiation fails +SRC_URI += "file://u-boot-2010.06-macb-autoneg-timeout.patch" +# add password protection patch +SRC_URI += "file://u-boot-2012.10-pwd.patch" + +SRC_URI_append_mtcdt = " file://u-boot-2012.10-mtcdt.patch" +SRC_URI_append_mtcap = " file://u-boot-2012.10-mtcdt.patch" + +TARGET_LDFLAGS = "" + +S = "${WORKDIR}/git" + +inherit base + +do_configure_prepend() { + mv -f tools/setlocalversion tools/setlocalversion.old + echo -e "#!/bin/sh\necho '-${MACHINE}-${PR}'" > tools/setlocalversion + chmod a+rx tools/setlocalversion +} + +do_compile () { + oe_runmake ${UBOOT_MACHINE} + oe_runmake all +} + diff --git a/recipes-bsp/u-boot/u-boot_2016.03.bb b/recipes-bsp/u-boot/u-boot_2016.03.bb new file mode 100644 index 0000000..836b0ce --- /dev/null +++ b/recipes-bsp/u-boot/u-boot_2016.03.bb @@ -0,0 +1,10 @@ +require u-boot.inc + +DEPENDS += "dtc-native" + +# This revision corresponds to the tag "v2016.03" +# We use the revision in order to avoid having to fetch it from the +# repo during parse +SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa" + +PV = "v2016.03+git${SRCPV}" diff --git a/recipes-kernel/linux/linux-3.12.27/mtcdt/defconfig b/recipes-kernel/linux/linux-3.12.27/mtcdt/defconfig index bfa0e38..f6cbf83 100644 --- a/recipes-kernel/linux/linux-3.12.27/mtcdt/defconfig +++ b/recipes-kernel/linux/linux-3.12.27/mtcdt/defconfig @@ -1131,7 +1131,7 @@ CONFIG_SCSI_LOWLEVEL=y CONFIG_NETDEVICES=y CONFIG_MII=m CONFIG_NET_CORE=y -CONFIG_BONDING=m +# CONFIG_BONDING is not set CONFIG_DUMMY=m # CONFIG_EQUALIZER is not set # CONFIG_NET_TEAM is not set diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-add-num_accessory_ports-config-option.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-add-num_accessory_ports-config-option.patch new file mode 100644 index 0000000..d1bd7cd --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-add-num_accessory_ports-config-option.patch @@ -0,0 +1,22 @@ +Index: linux-3.12.13/arch/arm/Kconfig +=================================================================== +--- linux-3.12.13.orig/arch/arm/Kconfig 2014-02-22 15:32:50.000000000 -0600 ++++ linux-3.12.13/arch/arm/Kconfig 2014-09-11 14:57:00.908030666 -0500 +@@ -276,6 +276,17 @@ + + source "kernel/Kconfig.freezer" + ++menu "MTS" ++ ++config MTS_NUM_ACCESSORY_PORTS ++ int "Number of accessory ports in the MTS product" ++ default 0 ++ help ++ Enter the number of accessory ports on your MTS device. ++ If unsure, say '0'. ++ ++endmenu ++ + menu "System Type" + + config MMU diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-at91-gpio-pullup.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-at91-gpio-pullup.patch new file mode 100644 index 0000000..583a205 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-at91-gpio-pullup.patch @@ -0,0 +1,42 @@ +Index: linux-3.12.13/arch/arm/mach-at91/gpio.c +=================================================================== +--- linux-3.12.13.orig/arch/arm/mach-at91/gpio.c 2014-02-22 15:32:50.000000000 -0600 ++++ linux-3.12.13/arch/arm/mach-at91/gpio.c 2014-03-07 09:13:09.931501303 -0600 +@@ -294,6 +294,25 @@ + } + EXPORT_SYMBOL(at91_set_gpio_output); + ++/* ++ * configure pin for output and enable/disable pullup ++ */ ++int __init_or_module at91_set_gpio_output_with_pullup(unsigned pin, int value, int use_pullup) ++{ ++ void __iomem *pio = pin_to_controller(pin); ++ unsigned mask = pin_to_mask(pin); ++ ++ if (!pio) ++ return -EINVAL; ++ ++ __raw_writel(mask, pio + PIO_IDR); ++ __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); ++ __raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR)); ++ __raw_writel(mask, pio + PIO_OER); ++ __raw_writel(mask, pio + PIO_PER); ++ return 0; ++} ++EXPORT_SYMBOL(at91_set_gpio_output_with_pullup); + + /* + * enable/disable the glitch filter; mostly used with IRQ handling. +Index: linux-3.12.13/arch/arm/mach-at91/include/mach/gpio.h +=================================================================== +--- linux-3.12.13.orig/arch/arm/mach-at91/include/mach/gpio.h 2014-02-22 15:32:50.000000000 -0600 ++++ linux-3.12.13/arch/arm/mach-at91/include/mach/gpio.h 2014-03-07 09:13:39.331501866 -0600 +@@ -195,6 +195,7 @@ + extern int __init_or_module at91_set_D_periph(unsigned pin, int use_pullup); + extern int __init_or_module at91_set_gpio_input(unsigned pin, int use_pullup); + extern int __init_or_module at91_set_gpio_output(unsigned pin, int value); ++extern int __init_or_module at91_set_gpio_output_with_pullup(unsigned pin, int value, int use_pullup); + extern int __init_or_module at91_set_deglitch(unsigned pin, int is_on); + extern int __init_or_module at91_set_debounce(unsigned pin, int is_on, int div); + extern int __init_or_module at91_set_multi_drive(unsigned pin, int is_on); diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-at91sam9_wdt-10second-timeout.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-at91sam9_wdt-10second-timeout.patch new file mode 100644 index 0000000..7f4b38c --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-at91sam9_wdt-10second-timeout.patch @@ -0,0 +1,14 @@ +Index: linux-3.12.13/drivers/watchdog/at91sam9_wdt.c +=================================================================== +--- linux-3.12.13.orig/drivers/watchdog/at91sam9_wdt.c 2014-02-22 15:32:50.000000000 -0600 ++++ linux-3.12.13/drivers/watchdog/at91sam9_wdt.c 2014-04-10 16:50:56.032692627 -0500 +@@ -49,7 +49,8 @@ + #define ticks_to_ms(t) (((t + 1) * 1000) >> 8) + + /* Hardware timeout in seconds */ +-#define WDT_HW_TIMEOUT 2 ++/* MTCDT: use longer timeout */ ++#define WDT_HW_TIMEOUT 10 + + /* Timer heartbeat (500ms) */ + #define WDT_TIMEOUT (HZ/2) diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-mci-force-detect.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-mci-force-detect.patch new file mode 100644 index 0000000..2efdf51 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-mci-force-detect.patch @@ -0,0 +1,29 @@ +Index: linux-3.12.13/drivers/mmc/host/atmel-mci.c +=================================================================== +--- linux-3.12.13.orig/drivers/mmc/host/atmel-mci.c 2014-04-10 13:32:40.012723945 -0500 ++++ linux-3.12.13/drivers/mmc/host/atmel-mci.c 2014-04-10 13:36:46.088723297 -0500 +@@ -1447,6 +1447,9 @@ + slot->detect_is_active_high); + dev_dbg(&mmc->class_dev, "card is %spresent\n", + present ? "" : "not "); ++ } else { ++ // jjg - assume card is present if detect pin is unset ++ present = 1; + } + + return present; +@@ -2205,8 +2208,12 @@ + } + } + +- if (!gpio_is_valid(slot->detect_pin)) +- mmc->caps |= MMC_CAP_NEEDS_POLL; ++ // jjg - if detect pin isn't set, don't poll -- just assume device ++ // is there and mark it non-removable ++ if (!gpio_is_valid(slot->detect_pin)) { ++ dev_info(&host->pdev->dev,"No detect pin, marking non-removable and assuming device is present\n"); ++ mmc->caps |= MMC_CAP_NONREMOVABLE; ++ } + + if (gpio_is_valid(slot->wp_pin)) { + if (gpio_request(slot->wp_pin, "mmc_wp")) { diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-pmecc-debug-bitflips.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-pmecc-debug-bitflips.patch new file mode 100644 index 0000000..391cb4c --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-pmecc-debug-bitflips.patch @@ -0,0 +1,22 @@ +Index: linux-3.12.27/drivers/mtd/nand/atmel_nand.c +=================================================================== +--- linux-3.12.27.orig/drivers/mtd/nand/atmel_nand.c 2014-10-01 17:01:10.339848160 -0500 ++++ linux-3.12.27/drivers/mtd/nand/atmel_nand.c 2014-10-01 17:04:33.872624626 -0500 +@@ -836,7 +836,7 @@ + *(buf + byte_pos) ^= (1 << bit_pos); + + pos = sector_num * host->pmecc_sector_size + byte_pos; +- dev_info(host->dev, "Bit flip in data area, byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n", ++ printk(KERN_DEBUG, "atmel_nand: Bit flip in data area, byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n", + pos, bit_pos, err_byte, *(buf + byte_pos)); + } else { + /* Bit flip in OOB area */ +@@ -846,7 +846,7 @@ + ecc[tmp] ^= (1 << bit_pos); + + pos = tmp + nand_chip->ecc.layout->eccpos[0]; +- dev_info(host->dev, "Bit flip in OOB, oob_byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n", ++ printk(KERN_DEBUG, "atmel_nand: Bit flip in OOB, oob_byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n", + pos, bit_pos, err_byte, ecc[tmp]); + } + diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-spi.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-spi.patch new file mode 100644 index 0000000..898bf74 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-spi.patch @@ -0,0 +1,37 @@ +Index: linux-3.12.13/drivers/spi/spi-atmel.c +=================================================================== +--- linux-3.12.13.orig/drivers/spi/spi-atmel.c 2014-04-04 15:00:11.677055454 -0500 ++++ linux-3.12.13/drivers/spi/spi-atmel.c 2014-04-04 15:36:28.973123089 -0500 +@@ -291,26 +291,15 @@ + unsigned active = spi->mode & SPI_CS_HIGH; + u32 mr; + ++ mr = spi_readl(as, MR); + if (atmel_spi_is_v2(as)) { +- spi_writel(as, CSR0 + 4 * spi->chip_select, asd->csr); +- /* For the low SPI version, there is a issue that PDC transfer +- * on CS1,2,3 needs SPI_CSR0.BITS config as SPI_CSR1,2,3.BITS ++ /* mtcdt: always use CSR0 ++ * old 2.6.39 kernel did this and it worked for supporting more than 4 slaves + */ + spi_writel(as, CSR0, asd->csr); +- if (as->caps.has_wdrbt) { +- spi_writel(as, MR, +- SPI_BF(PCS, ~(0x01 << spi->chip_select)) +- | SPI_BIT(WDRBT) +- | SPI_BIT(MODFDIS) +- | SPI_BIT(MSTR)); +- } else { +- spi_writel(as, MR, +- SPI_BF(PCS, ~(0x01 << spi->chip_select)) +- | SPI_BIT(MODFDIS) +- | SPI_BIT(MSTR)); +- } +- +- mr = spi_readl(as, MR); ++ mr &= (SPI_BIT(MODFDIS) | SPI_BIT(MSTR) | (as->caps.has_wdrbt ? SPI_BIT(WDRBT) : 0)); ++ mr |= SPI_BF(PCS, 0x0e); ++ spi_writel(as, MR, mr); + gpio_set_value(asd->npcs_pin, active); + } else { + u32 cpol = (spi->mode & SPI_CPOL) ? SPI_BIT(CPOL) : 0; diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-cadence-macb.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-cadence-macb.patch new file mode 100644 index 0000000..c814ed1 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-cadence-macb.patch @@ -0,0 +1,106 @@ +--- linux-3.12.27/drivers/net/ethernet/cadence/macb.c 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.27/drivers/net/ethernet/cadence/macb.c 2016-09-26 13:36:54.760657601 -0500 +@@ -755,7 +755,10 @@ + unsigned int frag_len = bp->rx_buffer_size; + + if (offset + frag_len > len) { +- BUG_ON(frag != last_frag); ++ if (unlikely(frag != last_frag)) { ++ dev_kfree_skb_any(skb); ++ return -1; ++ } + frag_len = len - offset; + } + skb_copy_to_linear_data_offset(skb, offset, +@@ -783,11 +786,27 @@ + return 0; + } + ++static inline void macb_init_rx_ring(struct macb *bp) ++{ ++ int i; ++ dma_addr_t addr; ++ ++ addr = bp->rx_buffers_dma; ++ for (i = 0; i < RX_RING_SIZE; i++) { ++ bp->rx_ring[i].addr = addr; ++ bp->rx_ring[i].ctrl = 0; ++ addr += bp->rx_buffer_size; ++ } ++ bp->rx_ring[RX_RING_SIZE - 1].addr |= MACB_BIT(RX_WRAP); ++ bp->rx_tail = 0; ++} ++ + static int macb_rx(struct macb *bp, int budget) + { + int received = 0; + unsigned int tail; + int first_frag = -1; ++ int reset_rx_queue = 0; + + for (tail = bp->rx_tail; budget > 0; tail++) { + struct macb_dma_desc *desc = macb_rx_desc(bp, tail); +@@ -810,10 +829,18 @@ + + if (ctrl & MACB_BIT(RX_EOF)) { + int dropped; +- BUG_ON(first_frag == -1); ++ ++ if (unlikely(first_frag == -1)) { ++ reset_rx_queue = 1; ++ continue; ++ } + + dropped = macb_rx_frame(bp, first_frag, tail); + first_frag = -1; ++ if (unlikely(dropped < 0)) { ++ reset_rx_queue = 1; ++ continue; ++ } + if (!dropped) { + received++; + budget--; +@@ -821,6 +848,26 @@ + } + } + ++ if (unlikely(reset_rx_queue)) { ++ unsigned long flags; ++ u32 ctrl; ++ ++ netdev_err(bp->dev, "RX queue corruption: reset it\n"); ++ ++ spin_lock_irqsave(&bp->lock, flags); ++ ++ ctrl = macb_readl(bp, NCR); ++ macb_writel(bp, NCR, ctrl & ~MACB_BIT(RE)); ++ ++ macb_init_rx_ring(bp); ++ macb_writel(bp, RBQP, bp->rx_ring_dma); ++ ++ macb_writel(bp, NCR, ctrl | MACB_BIT(RE)); ++ ++ spin_unlock_irqrestore(&bp->lock, flags); ++ return received; ++ } ++ + if (first_frag != -1) + bp->rx_tail = first_frag; + else +@@ -1189,15 +1236,8 @@ + static void macb_init_rings(struct macb *bp) + { + int i; +- dma_addr_t addr; + +- addr = bp->rx_buffers_dma; +- for (i = 0; i < RX_RING_SIZE; i++) { +- bp->rx_ring[i].addr = addr; +- bp->rx_ring[i].ctrl = 0; +- addr += bp->rx_buffer_size; +- } +- bp->rx_ring[RX_RING_SIZE - 1].addr |= MACB_BIT(RX_WRAP); ++ macb_init_rx_ring(bp); + + for (i = 0; i < TX_RING_SIZE; i++) { + bp->tx_ring[i].addr = 0; diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-cdc-acm-ignore-exar-devices.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-cdc-acm-ignore-exar-devices.patch new file mode 100644 index 0000000..1a90899 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-cdc-acm-ignore-exar-devices.patch @@ -0,0 +1,35 @@ +Index: linux-3.12.13/drivers/usb/class/cdc-acm.c +=================================================================== +--- linux-3.12.13.orig/drivers/usb/class/cdc-acm.c 2014-02-22 15:32:50.000000000 -0600 ++++ linux-3.12.13/drivers/usb/class/cdc-acm.c 2014-04-14 11:30:29.486386713 -0500 +@@ -949,8 +949,10 @@ + /* normal quirks */ + quirks = (unsigned long)id->driver_info; + +- if (quirks == IGNORE_DEVICE) ++ if (quirks == IGNORE_DEVICE) { ++ dev_dbg(&intf->dev, "Ignoring device\n"); + return -ENODEV; ++ } + + num_rx_buf = (quirks == SINGLE_RX_URB) ? 1 : ACM_NR; + +@@ -1676,6 +1678,18 @@ + }, + #endif + ++ /* Ignore Exar XR21V141X usb serial chips ++ * This elminates conflicting with the Exar vizzini driver */ ++ {USB_DEVICE(0x04e2, 0x1410), ++ .driver_info = IGNORE_DEVICE, ++ }, ++ {USB_DEVICE(0x04e2, 0x1412), ++ .driver_info = IGNORE_DEVICE, ++ }, ++ {USB_DEVICE(0x04e2, 0x1414), ++ .driver_info = IGNORE_DEVICE, ++ }, ++ + /* control interfaces without any protocol set */ + { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, + USB_CDC_PROTO_NONE) }, diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-gpio-expose-deglitch.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-gpio-expose-deglitch.patch new file mode 100644 index 0000000..b868a36 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-gpio-expose-deglitch.patch @@ -0,0 +1,165 @@ +Index: linux-3.12.13/drivers/gpio/gpiolib.c +=================================================================== +--- linux-3.12.13.orig/drivers/gpio/gpiolib.c 2014-04-18 09:55:28.325372866 -0500 ++++ linux-3.12.13/drivers/gpio/gpiolib.c 2014-04-18 10:01:46.221371869 -0500 +@@ -90,6 +90,7 @@ + static int gpiod_direction_input_pullup(struct gpio_desc *desc, bool pullup); + static int gpiod_direction_output(struct gpio_desc *desc, int value); + static int gpiod_direction_output_pullup(struct gpio_desc *desc, int value, bool pullup); ++static int gpiod_deglitch(struct gpio_desc *desc, bool enable); + static int gpiod_get_direction(const struct gpio_desc *desc); + static int gpiod_set_debounce(struct gpio_desc *desc, unsigned debounce); + static int gpiod_get_value_cansleep(const struct gpio_desc *desc); +@@ -1539,6 +1540,9 @@ + (flags & GPIOF_INIT_HIGH) ? 1 : 0); + } + ++ if (flags & GPIOF_DEGLITCH) ++ err = gpiod_deglitch(desc, (flags & GPIOF_DEGLITCH) ? true : false); ++ + if (err) + goto free_gpio; + +@@ -1909,6 +1913,67 @@ + } + EXPORT_SYMBOL_GPL(gpio_direction_output); + ++static int gpiod_deglitch(struct gpio_desc *desc, bool enable) ++{ ++ unsigned long flags; ++ struct gpio_chip *chip; ++ int status = -EINVAL; ++ int offset; ++ ++ if (!desc || !desc->chip) { ++ pr_warn("%s: invalid GPIO\n", __func__); ++ return -EINVAL; ++ } ++ ++ chip = desc->chip; ++ if (!chip->deglitch) { ++ pr_warn("%s: missing deglitch() operation\n", ++ __func__); ++ return -EIO; ++ } ++ ++ spin_lock_irqsave(&gpio_lock, flags); ++ ++ status = gpio_ensure_requested(desc); ++ if (status < 0) ++ goto fail; ++ ++ /* now we know the gpio is valid and chip won't vanish */ ++ ++ spin_unlock_irqrestore(&gpio_lock, flags); ++ ++ might_sleep_if(chip->can_sleep); ++ ++ offset = gpio_chip_hwgpio(desc); ++ if (status) { ++ status = chip->request(chip, offset); ++ if (status < 0) { ++ pr_debug("GPIO-%d: chip request fail, %d\n", ++ desc_to_gpio(desc), status); ++ /* and it's not available to anyone else ... ++ * gpio_request() is the fully clean solution. ++ */ ++ goto lose; ++ } ++ } ++ ++ status = chip->deglitch(chip, offset, enable); ++lose: ++ return status; ++fail: ++ spin_unlock_irqrestore(&gpio_lock, flags); ++ if (status) ++ pr_debug("%s: gpio-%d status %d\n", __func__, ++ desc_to_gpio(desc), status); ++ return status; ++} ++ ++int gpio_deglitch(unsigned gpio, bool enable) ++{ ++ return gpiod_deglitch(gpio_to_desc(gpio), enable); ++} ++EXPORT_SYMBOL_GPL(gpio_deglitch); ++ + /** + * gpio_set_debounce - sets @debounce time for a @gpio + * @gpio: the gpio to set debounce time +Index: linux-3.12.13/drivers/pinctrl/pinctrl-at91.c +=================================================================== +--- linux-3.12.13.orig/drivers/pinctrl/pinctrl-at91.c 2014-04-18 09:55:28.325372866 -0500 ++++ linux-3.12.13/drivers/pinctrl/pinctrl-at91.c 2014-04-18 10:02:45.041371714 -0500 +@@ -1171,6 +1171,17 @@ + return 0; + } + ++static int at91_gpio_set_deglitch(struct gpio_chip *chip, unsigned offset, bool enable) ++{ ++ struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip); ++ void __iomem *pio = at91_gpio->regbase; ++ unsigned mask = 1 << offset; ++ ++ at91_mux_pio3_set_deglitch(pio, mask, enable); ++ ++ return 0; ++} ++ + static int at91_gpio_to_irq(struct gpio_chip *chip, unsigned offset) + { + struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip); +@@ -1542,6 +1553,7 @@ + .get = at91_gpio_get, + .direction_output = at91_gpio_direction_output, + .direction_output_pullup = at91_gpio_direction_output_pullup, ++ .deglitch = at91_gpio_set_deglitch, + .set = at91_gpio_set, + .to_irq = at91_gpio_to_irq, + .dbg_show = at91_gpio_dbg_show, +Index: linux-3.12.13/include/asm-generic/gpio.h +=================================================================== +--- linux-3.12.13.orig/include/asm-generic/gpio.h 2014-04-18 09:55:28.325372866 -0500 ++++ linux-3.12.13/include/asm-generic/gpio.h 2014-04-18 09:58:13.081372430 -0500 +@@ -67,6 +67,7 @@ + * returns either the value actually sensed, or zero + * @direction_output: configures signal "offset" as output, or returns error + * @direction_output_pullup: configures signal "offset" as output with pullup enabled, or returns error ++ * @deglitch: enables deglitch on signal "offset" + * @set_debounce: optional hook for setting debounce time for specified gpio in + * interrupt triggered gpio chips + * @set: assigns output value for signal "offset" +@@ -121,6 +122,8 @@ + unsigned offset, int value); + int (*direction_output_pullup)(struct gpio_chip *chip, + unsigned offset, int value, bool pullup); ++ int (*deglitch)(struct gpio_chip *chip, ++ unsigned offset, bool enable); + int (*set_debounce)(struct gpio_chip *chip, + unsigned offset, unsigned debounce); + +@@ -182,6 +185,7 @@ + extern int gpio_direction_input_pullup(unsigned gpio, bool pullup); + extern int gpio_direction_output(unsigned gpio, int value); + extern int gpio_direction_output_pullup(unsigned gpio, int value, bool pullup); ++extern int gpio_deglitch(unsigned gpio, bool enable); + + extern int gpio_set_debounce(unsigned gpio, unsigned debounce); + +Index: linux-3.12.13/include/linux/gpio.h +=================================================================== +--- linux-3.12.13.orig/include/linux/gpio.h 2014-04-18 09:55:28.325372866 -0500 ++++ linux-3.12.13/include/linux/gpio.h 2014-04-18 09:57:56.305372474 -0500 +@@ -13,9 +13,11 @@ + #define GPIOF_INIT_HIGH (1 << 1) + + #define GPIOF_PULLUP (2 << 0) ++#define GPIOF_DEGLITCH (2 << 1) + + #define GPIOF_IN (GPIOF_DIR_IN) + #define GPIOF_IN_PULLUP (GPIOF_DIR_IN | GPIOF_PULLUP) ++#define GPIOF_IN_DEGLITCH (GPIOF_DIR_IN | GPIOF_DEGLITCH) + #define GPIOF_OUT_INIT_LOW (GPIOF_DIR_OUT | GPIOF_INIT_LOW) + #define GPIOF_OUT_INIT_HIGH (GPIOF_DIR_OUT | GPIOF_INIT_HIGH) + diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-gpio-expose-pullups.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-gpio-expose-pullups.patch new file mode 100644 index 0000000..4e1d482 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-gpio-expose-pullups.patch @@ -0,0 +1,301 @@ +Index: linux-3.12.13/drivers/gpio/gpiolib.c +=================================================================== +--- linux-3.12.13.orig/drivers/gpio/gpiolib.c 2014-02-22 15:32:50.000000000 -0600 ++++ linux-3.12.13/drivers/gpio/gpiolib.c 2014-04-18 09:25:31.977377592 -0500 +@@ -87,7 +87,9 @@ + static int gpiod_request(struct gpio_desc *desc, const char *label); + static void gpiod_free(struct gpio_desc *desc); + static int gpiod_direction_input(struct gpio_desc *desc); ++static int gpiod_direction_input_pullup(struct gpio_desc *desc, bool pullup); + static int gpiod_direction_output(struct gpio_desc *desc, int value); ++static int gpiod_direction_output_pullup(struct gpio_desc *desc, int value, bool pullup); + static int gpiod_get_direction(const struct gpio_desc *desc); + static int gpiod_set_debounce(struct gpio_desc *desc, unsigned debounce); + static int gpiod_get_value_cansleep(const struct gpio_desc *desc); +@@ -1523,11 +1525,19 @@ + if (flags & GPIOF_OPEN_SOURCE) + set_bit(FLAG_OPEN_SOURCE, &desc->flags); + +- if (flags & GPIOF_DIR_IN) +- err = gpiod_direction_input(desc); +- else +- err = gpiod_direction_output(desc, +- (flags & GPIOF_INIT_HIGH) ? 1 : 0); ++ if (flags & GPIOF_DIR_IN) { ++ if (flags & GPIOF_PULLUP) ++ err = gpiod_direction_input_pullup(desc, (flags & GPIOF_PULLUP) ? true : false); ++ else ++ err = gpiod_direction_input(desc); ++ } else { ++ if (flags & GPIOF_PULLUP) ++ err = gpiod_direction_output_pullup(desc, ++ (flags & GPIOF_INIT_HIGH) ? 1 : 0, (flags & GPIOF_PULLUP) ? true : false); ++ else ++ err = gpiod_direction_output(desc, ++ (flags & GPIOF_INIT_HIGH) ? 1 : 0); ++ } + + if (err) + goto free_gpio; +@@ -1613,6 +1623,71 @@ + } + EXPORT_SYMBOL_GPL(gpiochip_is_requested); + ++static int gpiod_direction_input_pullup(struct gpio_desc *desc, bool pullup) ++{ ++ unsigned long flags; ++ struct gpio_chip *chip; ++ int status = -EINVAL; ++ int offset; ++ ++ if (!desc || !desc->chip) { ++ pr_warn("%s: invalid GPIO\n", __func__); ++ return -EINVAL; ++ } ++ ++ chip = desc->chip; ++ if (!chip->get || !chip->direction_input_pullup) { ++ pr_warn("%s: missing get() or direction_input_pullup() operations\n", ++ __func__); ++ return -EIO; ++ } ++ ++ spin_lock_irqsave(&gpio_lock, flags); ++ ++ status = gpio_ensure_requested(desc); ++ if (status < 0) ++ goto fail; ++ ++ /* now we know the gpio is valid and chip won't vanish */ ++ ++ spin_unlock_irqrestore(&gpio_lock, flags); ++ ++ might_sleep_if(chip->can_sleep); ++ ++ offset = gpio_chip_hwgpio(desc); ++ if (status) { ++ status = chip->request(chip, offset); ++ if (status < 0) { ++ pr_debug("GPIO-%d: chip request fail, %d\n", ++ desc_to_gpio(desc), status); ++ /* and it's not available to anyone else ... ++ * gpio_request() is the fully clean solution. ++ */ ++ goto lose; ++ } ++ } ++ ++ status = chip->direction_input_pullup(chip, offset, pullup); ++ if (status == 0) ++ clear_bit(FLAG_IS_OUT, &desc->flags); ++ ++ trace_gpio_direction(desc_to_gpio(desc), 1, status); ++lose: ++ return status; ++fail: ++ spin_unlock_irqrestore(&gpio_lock, flags); ++ if (status) ++ pr_debug("%s: gpio-%d status %d\n", __func__, ++ desc_to_gpio(desc), status); ++ return status; ++} ++ ++int gpio_direction_input_pullup(unsigned gpio, bool pullup) ++{ ++ return gpiod_direction_input_pullup(gpio_to_desc(gpio), pullup); ++} ++EXPORT_SYMBOL_GPL(gpio_direction_input_pullup); ++ + + /* Drivers MUST set GPIO direction before making get/set calls. In + * some cases this is done in early boot, before IRQs are enabled. +@@ -1688,6 +1763,79 @@ + } + EXPORT_SYMBOL_GPL(gpio_direction_input); + ++static int gpiod_direction_output_pullup(struct gpio_desc *desc, int value, bool pullup) ++{ ++ unsigned long flags; ++ struct gpio_chip *chip; ++ int status = -EINVAL; ++ int offset; ++ ++ if (!desc || !desc->chip) { ++ pr_warn("%s: invalid GPIO\n", __func__); ++ return -EINVAL; ++ } ++ ++ /* Open drain pin should not be driven to 1 */ ++ if (value && test_bit(FLAG_OPEN_DRAIN, &desc->flags)) ++ return gpiod_direction_input(desc); ++ ++ /* Open source pin should not be driven to 0 */ ++ if (!value && test_bit(FLAG_OPEN_SOURCE, &desc->flags)) ++ return gpiod_direction_input(desc); ++ ++ chip = desc->chip; ++ if (!chip->set || !chip->direction_output_pullup) { ++ pr_warn("%s: missing set() or direction_output_pullup() operations\n", ++ __func__); ++ return -EIO; ++ } ++ ++ spin_lock_irqsave(&gpio_lock, flags); ++ ++ status = gpio_ensure_requested(desc); ++ if (status < 0) ++ goto fail; ++ ++ /* now we know the gpio is valid and chip won't vanish */ ++ ++ spin_unlock_irqrestore(&gpio_lock, flags); ++ ++ might_sleep_if(chip->can_sleep); ++ ++ offset = gpio_chip_hwgpio(desc); ++ if (status) { ++ status = chip->request(chip, offset); ++ if (status < 0) { ++ pr_debug("GPIO-%d: chip request fail, %d\n", ++ desc_to_gpio(desc), status); ++ /* and it's not available to anyone else ... ++ * gpio_request() is the fully clean solution. ++ */ ++ goto lose; ++ } ++ } ++ ++ status = chip->direction_output_pullup(chip, offset, value, pullup); ++ if (status == 0) ++ set_bit(FLAG_IS_OUT, &desc->flags); ++ trace_gpio_value(desc_to_gpio(desc), 0, value); ++ trace_gpio_direction(desc_to_gpio(desc), 0, status); ++lose: ++ return status; ++fail: ++ spin_unlock_irqrestore(&gpio_lock, flags); ++ if (status) ++ pr_debug("%s: gpio-%d status %d\n", __func__, ++ desc_to_gpio(desc), status); ++ return status; ++} ++ ++int gpio_direction_output_pullup(unsigned gpio, int value, bool pullup) ++{ ++ return gpiod_direction_output_pullup(gpio_to_desc(gpio), value, pullup); ++} ++EXPORT_SYMBOL_GPL(gpio_direction_output_pullup); ++ + static int gpiod_direction_output(struct gpio_desc *desc, int value) + { + unsigned long flags; +Index: linux-3.12.13/drivers/pinctrl/pinctrl-at91.c +=================================================================== +--- linux-3.12.13.orig/drivers/pinctrl/pinctrl-at91.c 2014-02-22 15:32:50.000000000 -0600 ++++ linux-3.12.13/drivers/pinctrl/pinctrl-at91.c 2014-04-18 09:25:31.985377595 -0500 +@@ -1112,6 +1112,17 @@ + return 0; + } + ++static int at91_gpio_direction_input_pullup(struct gpio_chip *chip, unsigned offset, bool pullup) ++{ ++ struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip); ++ void __iomem *pio = at91_gpio->regbase; ++ unsigned mask = 1 << offset; ++ ++ writel_relaxed(mask, pio + PIO_ODR); ++ at91_mux_set_pullup(pio, mask, pullup); ++ return 0; ++} ++ + static int at91_gpio_get(struct gpio_chip *chip, unsigned offset) + { + struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip); +@@ -1146,6 +1157,20 @@ + return 0; + } + ++static int at91_gpio_direction_output_pullup(struct gpio_chip *chip, unsigned offset, ++ int val, bool pullup) ++{ ++ struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip); ++ void __iomem *pio = at91_gpio->regbase; ++ unsigned mask = 1 << offset; ++ ++ writel_relaxed(mask, pio + (val ? PIO_SODR : PIO_CODR)); ++ writel_relaxed(mask, pio + PIO_OER); ++ at91_mux_set_pullup(pio, mask, pullup); ++ ++ return 0; ++} ++ + static int at91_gpio_to_irq(struct gpio_chip *chip, unsigned offset) + { + struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip); +@@ -1513,8 +1538,10 @@ + .request = at91_gpio_request, + .free = at91_gpio_free, + .direction_input = at91_gpio_direction_input, ++ .direction_input_pullup = at91_gpio_direction_input_pullup, + .get = at91_gpio_get, + .direction_output = at91_gpio_direction_output, ++ .direction_output_pullup = at91_gpio_direction_output_pullup, + .set = at91_gpio_set, + .to_irq = at91_gpio_to_irq, + .dbg_show = at91_gpio_dbg_show, +Index: linux-3.12.13/include/linux/gpio.h +=================================================================== +--- linux-3.12.13.orig/include/linux/gpio.h 2014-02-22 15:32:50.000000000 -0600 ++++ linux-3.12.13/include/linux/gpio.h 2014-04-18 09:25:31.957377594 -0500 +@@ -12,7 +12,10 @@ + #define GPIOF_INIT_LOW (0 << 1) + #define GPIOF_INIT_HIGH (1 << 1) + ++#define GPIOF_PULLUP (2 << 0) ++ + #define GPIOF_IN (GPIOF_DIR_IN) ++#define GPIOF_IN_PULLUP (GPIOF_DIR_IN | GPIOF_PULLUP) + #define GPIOF_OUT_INIT_LOW (GPIOF_DIR_OUT | GPIOF_INIT_LOW) + #define GPIOF_OUT_INIT_HIGH (GPIOF_DIR_OUT | GPIOF_INIT_HIGH) + +Index: linux-3.12.13/include/asm-generic/gpio.h +=================================================================== +--- linux-3.12.13.orig/include/asm-generic/gpio.h 2014-02-22 15:32:50.000000000 -0600 ++++ linux-3.12.13/include/asm-generic/gpio.h 2014-04-18 09:26:42.669377408 -0500 +@@ -62,9 +62,11 @@ + * @get_direction: returns direction for signal "offset", 0=out, 1=in, + * (same as GPIOF_DIR_XXX), or negative error + * @direction_input: configures signal "offset" as input, or returns error ++ * @direction_input_pullup: configures signal "offset" as input with pullup enabled, or returns error + * @get: returns value for signal "offset"; for output signals this + * returns either the value actually sensed, or zero + * @direction_output: configures signal "offset" as output, or returns error ++ * @direction_output_pullup: configures signal "offset" as output with pullup enabled, or returns error + * @set_debounce: optional hook for setting debounce time for specified gpio in + * interrupt triggered gpio chips + * @set: assigns output value for signal "offset" +@@ -111,10 +113,14 @@ + unsigned offset); + int (*direction_input)(struct gpio_chip *chip, + unsigned offset); ++ int (*direction_input_pullup)(struct gpio_chip *chip, ++ unsigned offset, bool pullup); + int (*get)(struct gpio_chip *chip, + unsigned offset); + int (*direction_output)(struct gpio_chip *chip, + unsigned offset, int value); ++ int (*direction_output_pullup)(struct gpio_chip *chip, ++ unsigned offset, int value, bool pullup); + int (*set_debounce)(struct gpio_chip *chip, + unsigned offset, unsigned debounce); + +@@ -173,7 +179,9 @@ + extern void gpio_free(unsigned gpio); + + extern int gpio_direction_input(unsigned gpio); ++extern int gpio_direction_input_pullup(unsigned gpio, bool pullup); + extern int gpio_direction_output(unsigned gpio, int value); ++extern int gpio_direction_output_pullup(unsigned gpio, int value, bool pullup); + + extern int gpio_set_debounce(unsigned gpio, unsigned debounce); + diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-pps-gpio.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-pps-gpio.patch new file mode 100644 index 0000000..554b53f --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-pps-gpio.patch @@ -0,0 +1,31 @@ +diff -uprN old/Documentation/devicetree/bindings/pps/pps-gpio.txt new/Documentation/devicetree/bindings/pps/pps-gpio.txt +--- old/Documentation/devicetree/bindings/pps/pps-gpio.txt 2016-09-19 09:51:11.271472335 -0500 ++++ new/Documentation/devicetree/bindings/pps/pps-gpio.txt 2016-09-19 09:49:27.283474197 -0500 +@@ -17,4 +17,5 @@ Example: + gpios = <&gpio2 6 0>; + + assert-falling-edge; ++ capture-clear; + }; +diff -uprN old/drivers/pps/clients/pps-gpio.c new/drivers/pps/clients/pps-gpio.c +--- old/drivers/pps/clients/pps-gpio.c 2016-09-19 09:51:11.271472335 -0500 ++++ new/drivers/pps/clients/pps-gpio.c 2016-09-19 17:09:02.367001869 -0500 +@@ -119,6 +119,8 @@ static int pps_gpio_probe(struct platfor + + if (of_get_property(np, "assert-falling-edge", NULL)) + data->assert_falling_edge = true; ++ if (of_get_property(np, "capture-clear", NULL)) ++ data->capture_clear = true; + } + + /* GPIO setup */ +@@ -208,6 +210,8 @@ static struct platform_driver pps_gpio_d + module_platform_driver(pps_gpio_driver); + MODULE_AUTHOR("Ricardo Martins "); + MODULE_AUTHOR("James Nuss "); ++MODULE_AUTHOR("Gary Miller "); ++ + MODULE_DESCRIPTION("Use GPIO pin as PPS source"); + MODULE_LICENSE("GPL"); +-MODULE_VERSION("1.0.0"); ++MODULE_VERSION("1.0.1"); diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-release-rfcomm-port-fix.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-release-rfcomm-port-fix.patch new file mode 100644 index 0000000..70c41d2 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-release-rfcomm-port-fix.patch @@ -0,0 +1,78 @@ +commit 5b899241874dcc1a2b932a668731c80a3a869575 +Author: Gianluca Anzolin +Date: Mon Jan 6 21:23:50 2014 +0100 + + Bluetooth: Release RFCOMM port when the last user closes the TTY + + This patch fixes a userspace regression introduced by the commit + 29cd718b. + + If the rfcomm device was created with the flag RFCOMM_RELEASE_ONHUP the + user space expects that the tty_port is released as soon as the last + process closes the tty. + + The current code attempts to release the port in the function + rfcomm_dev_state_change(). However it won't get a reference to the + relevant tty to send a HUP: at that point the tty is already destroyed + and therefore NULL. + + This patch fixes the regression by taking over the tty refcount in the + tty install method(). This way the tty_port is automatically released as + soon as the tty is destroyed. + + As a consequence the check for RFCOMM_RELEASE_ONHUP flag in the hangup() + method is now redundant. Instead we have to be careful with the reference + counting in the rfcomm_release_dev() function. + + Signed-off-by: Gianluca Anzolin + Reported-by: Alexander Holler + Signed-off-by: Marcel Holtmann + +diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c +index 84fcf9f..a535ef1 100644 +--- a/net/bluetooth/rfcomm/tty.c ++++ b/net/bluetooth/rfcomm/tty.c +@@ -437,7 +437,8 @@ static int rfcomm_release_dev(void __user *arg) + tty_kref_put(tty); + } + +- if (!test_and_set_bit(RFCOMM_TTY_RELEASED, &dev->flags)) ++ if (!test_bit(RFCOMM_RELEASE_ONHUP, &dev->flags) && ++ !test_and_set_bit(RFCOMM_TTY_RELEASED, &dev->flags)) + tty_port_put(&dev->port); + + tty_port_put(&dev->port); +@@ -670,10 +671,20 @@ static int rfcomm_tty_install(struct tty_driver *driver, struct tty_struct *tty) + + /* install the tty_port */ + err = tty_port_install(&dev->port, driver, tty); +- if (err) ++ if (err) { + rfcomm_tty_cleanup(tty); ++ return err; ++ } + +- return err; ++ /* take over the tty_port reference if the port was created with the ++ * flag RFCOMM_RELEASE_ONHUP. This will force the release of the port ++ * when the last process closes the tty. The behaviour is expected by ++ * userspace. ++ */ ++ if (test_bit(RFCOMM_RELEASE_ONHUP, &dev->flags)) ++ tty_port_put(&dev->port); ++ ++ return 0; + } + + static int rfcomm_tty_open(struct tty_struct *tty, struct file *filp) +@@ -1010,10 +1021,6 @@ static void rfcomm_tty_hangup(struct tty_struct *tty) + BT_DBG("tty %p dev %p", tty, dev); + + tty_port_hangup(&dev->port); +- +- if (test_bit(RFCOMM_RELEASE_ONHUP, &dev->flags) && +- !test_and_set_bit(RFCOMM_TTY_RELEASED, &dev->flags)) +- tty_port_put(&dev->port); + } + + static int rfcomm_tty_tiocmget(struct tty_struct *tty) diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12-spi-atmel-dma-min.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12-spi-atmel-dma-min.patch new file mode 100644 index 0000000..4aba504 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12-spi-atmel-dma-min.patch @@ -0,0 +1,18 @@ +Index: linux-3.12.27/drivers/spi/spi-atmel.c +=================================================================== +--- linux-3.12.27.orig/drivers/spi/spi-atmel.c ++++ linux-3.12.27/drivers/spi/spi-atmel.c +@@ -187,7 +187,12 @@ + /* use PIO for small transfers, avoiding DMA setup/teardown overhead and + * cache operations; better heuristics consider wordsize and bitrate. + */ +-#define DMA_MIN_BYTES 16 ++ ++/* MTS: set DMA_MIN_BYTES=0 to use DMA all the time due to Rx buffer issues ++ * when switching between smaller PIO and larger DMA transfers ++ * https://lkml.org/lkml/2013/10/21/534 ++ */ ++#define DMA_MIN_BYTES 0 + + struct atmel_spi_dma { + struct dma_chan *chan_rx; diff --git a/recipes-kernel/linux/linux-3.12.70/linux-3.12.27-option-telit.patch b/recipes-kernel/linux/linux-3.12.70/linux-3.12.27-option-telit.patch new file mode 100644 index 0000000..6f07a87 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/linux-3.12.27-option-telit.patch @@ -0,0 +1,20 @@ +Index: linux-3.12.70/drivers/usb/serial/option.c +=================================================================== +--- linux-3.12.70.orig/drivers/usb/serial/option.c 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.70/drivers/usb/serial/option.c 2017-02-02 16:39:53.522427060 -0600 +@@ -268,6 +268,7 @@ + #define TELIT_PRODUCT_CC864_DUAL 0x1005 + #define TELIT_PRODUCT_CC864_SINGLE 0x1006 + #define TELIT_PRODUCT_DE910_DUAL 0x1010 ++#define TELIT_PRODUCT_CE910_DUAL 0x1011 + #define TELIT_PRODUCT_UE910_V2 0x1012 + #define TELIT_PRODUCT_LE922_USBCFG1 0x1040 + #define TELIT_PRODUCT_LE922_USBCFG2 0x1041 +@@ -1211,6 +1212,7 @@ + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_DUAL) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_SINGLE) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_DE910_DUAL) }, ++ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CE910_DUAL) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UE910_V2) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG0), + .driver_info = (kernel_ulong_t)&telit_le922_blacklist_usbcfg0 }, diff --git a/recipes-kernel/linux/linux-3.12.70/mtcap/defconfig b/recipes-kernel/linux/linux-3.12.70/mtcap/defconfig new file mode 100644 index 0000000..155ff82 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/mtcap/defconfig @@ -0,0 +1,2894 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 3.12.27 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_GPIO_H=y +CONFIG_GENERIC_BUG=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_FHANDLE is not set +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +CONFIG_KTIME_SCALAR=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ is not set +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_PREEMPT_RCU=y +# CONFIG_TINY_RCU is not set +CONFIG_PREEMPT_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_FANOUT=32 +CONFIG_RCU_FANOUT_LEAF=16 +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_BOOST is not set +# CONFIG_RCU_NOCB_CPU is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +# CONFIG_CGROUP_FREEZER is not set +# CONFIG_CGROUP_DEVICE is not set +# CONFIG_CPUSETS is not set +# CONFIG_CGROUP_CPUACCT is not set +# CONFIG_RESOURCE_COUNTERS is not set +# CONFIG_CGROUP_SCHED is not set +CONFIG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +# CONFIG_NET_NS is not set +# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_COMPAT_BRK=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_THROTTLING is not set +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_CFQ_GROUP_IOSCHED is not set +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_CFQ is not set +CONFIG_DEFAULT_NOOP=y +CONFIG_DEFAULT_IOSCHED="noop" +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# MTS +# +CONFIG_MTS_NUM_ACCESSORY_PORTS=0 + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +CONFIG_ARCH_AT91=y +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_MSM is not set +# CONFIG_ARCH_SHMOBILE is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5P64X0 is not set +# CONFIG_ARCH_S5PC100 is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_HAVE_AT91_DBGU0=y +CONFIG_AT91_PMC_UNIT=y +CONFIG_AT91_SAM9_ALT_RESET=y +CONFIG_AT91_SAM9G45_RESET=y +CONFIG_AT91_SAM9_TIME=y +CONFIG_SOC_AT91SAM9=y + +# +# Atmel AT91 System-on-Chip +# +CONFIG_SOC_SAM_V4_V5=y +# CONFIG_SOC_SAM_V7 is not set + +# +# Atmel AT91 Processor +# +# CONFIG_SOC_AT91RM9200 is not set +# CONFIG_SOC_AT91SAM9260 is not set +# CONFIG_SOC_AT91SAM9261 is not set +# CONFIG_SOC_AT91SAM9263 is not set +# CONFIG_SOC_AT91SAM9RL is not set +# CONFIG_SOC_AT91SAM9G45 is not set +CONFIG_SOC_AT91SAM9X5=y +# CONFIG_SOC_AT91SAM9N12 is not set + +# +# Atmel Non-DT world +# +CONFIG_ARCH_AT91_NONE=y +# CONFIG_ARCH_AT91RM9200 is not set +# CONFIG_ARCH_AT91SAM9260 is not set +# CONFIG_ARCH_AT91SAM9261 is not set +# CONFIG_ARCH_AT91SAM9263 is not set +# CONFIG_ARCH_AT91SAM9RL is not set +# CONFIG_ARCH_AT91SAM9G45 is not set + +# +# AT91 Board Options +# + +# +# Generic Board Type +# +CONFIG_MACH_AT91SAM9_DT=y + +# +# AT91 Feature Selections +# +CONFIG_AT91_PROGRAMMABLE_CLOCKS=y +CONFIG_AT91_SLOW_CLOCK=y +CONFIG_AT91_TIMER_HZ=100 +# CONFIG_GPIO_PCA953X is not set +# CONFIG_PLAT_SPEAR is not set + +# +# Processor Type +# +CONFIG_CPU_ARM926T=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5TJ=y +CONFIG_CPU_PABRT_LEGACY=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_USE_DOMAINS=y + +# +# Processor Features +# +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +# CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_NEED_KUSER_HELPERS=y +CONFIG_KUSER_HELPERS=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 +CONFIG_ARM_NR_BANKS=8 +CONFIG_MULTI_IRQ_HANDLER=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_ARCH_NR_GPIO=0 +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_HZ_FIXED=100 +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +# CONFIG_HIGHMEM is not set +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=999999 +# CONFIG_COMPACTION is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +# CONFIG_CMA is not set +# CONFIG_ZBUD is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +CONFIG_UACCESS_WITH_MEMCPY=y +# CONFIG_SECCOMP is not set +# CONFIG_CC_STACKPROTECTOR is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set +CONFIG_CMDLINE=" quiet " +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_AUTO_ZRELADDR=y + +# +# CPU Power Management +# + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_VFP is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_PM_SLEEP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +# CONFIG_PM_RUNTIME is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +# CONFIG_APM_EMULATION is not set +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +CONFIG_UNIX_DIAG=y +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=y +CONFIG_XFRM_USER=y +CONFIG_XFRM_SUB_POLICY=y +CONFIG_XFRM_MIGRATE=y +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_IPCOMP=y +CONFIG_NET_KEY=y +CONFIG_NET_KEY_MIGRATE=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +CONFIG_NET_IPIP=y +CONFIG_NET_IPGRE_DEMUX=y +CONFIG_NET_IP_TUNNEL=y +CONFIG_NET_IPGRE=y +# CONFIG_NET_IPGRE_BROADCAST is not set +# CONFIG_IP_MROUTE is not set +CONFIG_SYN_COOKIES=y +CONFIG_NET_IPVTI=y +CONFIG_INET_AH=y +CONFIG_INET_ESP=y +CONFIG_INET_IPCOMP=y +CONFIG_INET_XFRM_TUNNEL=y +CONFIG_INET_TUNNEL=y +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_INET6_AH=y +CONFIG_INET6_ESP=y +CONFIG_INET6_IPCOMP=y +CONFIG_IPV6_MIP6=y +CONFIG_INET6_XFRM_TUNNEL=y +CONFIG_INET6_TUNNEL=y +CONFIG_INET6_XFRM_MODE_TRANSPORT=y +CONFIG_INET6_XFRM_MODE_TUNNEL=y +CONFIG_INET6_XFRM_MODE_BEET=y +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +CONFIG_IPV6_SIT=y +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_GRE=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +CONFIG_NETFILTER_NETLINK_QUEUE=y +CONFIG_NETFILTER_NETLINK_LOG=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +# CONFIG_NF_CT_PROTO_DCCP is not set +CONFIG_NF_CT_PROTO_GRE=m +# CONFIG_NF_CT_PROTO_SCTP is not set +# CONFIG_NF_CT_PROTO_UDPLITE is not set +# CONFIG_NF_CONNTRACK_AMANDA is not set +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +# CONFIG_NF_CONNTRACK_IRC is not set +CONFIG_NF_CONNTRACK_BROADCAST=m +# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +# CONFIG_NF_CONNTRACK_SANE is not set +CONFIG_NF_CONNTRACK_SIP=m +# CONFIG_NF_CONNTRACK_TFTP is not set +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_NEEDED=y +# CONFIG_NF_NAT_AMANDA is not set +CONFIG_NF_NAT_FTP=m +# CONFIG_NF_NAT_IRC is not set +CONFIG_NF_NAT_SIP=m +# CONFIG_NF_NAT_TFTP is not set +CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=y +CONFIG_NETFILTER_XT_CONNMARK=y + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_HL=m +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set +# CONFIG_NETFILTER_XT_TARGET_LED is not set +CONFIG_NETFILTER_XT_TARGET_LOG=y +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +# CONFIG_NETFILTER_XT_MATCH_CPU is not set +# CONFIG_NETFILTER_XT_MATCH_DCCP is not set +# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_DSCP is not set +CONFIG_NETFILTER_XT_MATCH_ECN=y +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_HELPER is not set +CONFIG_NETFILTER_XT_MATCH_HL=y +# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set +# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +CONFIG_NETFILTER_XT_MATCH_POLICY=y +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set +# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +CONFIG_NETFILTER_XT_MATCH_RECENT=y +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +CONFIG_NETFILTER_XT_MATCH_STATE=y +# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set +# CONFIG_NETFILTER_XT_MATCH_STRING is not set +# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set +# CONFIG_NETFILTER_XT_MATCH_TIME is not set +# CONFIG_NETFILTER_XT_MATCH_U32 is not set +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=y +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_TARGET_SYNPROXY=m +# CONFIG_IP_NF_TARGET_ULOG is not set +CONFIG_NF_NAT_IPV4=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_IP_NF_MANGLE=y +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +# CONFIG_IP6_NF_TARGET_HL is not set +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_NF_NAT_IPV6=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +CONFIG_L2TP=y +# CONFIG_L2TP_V3 is not set +CONFIG_STP=m +CONFIG_GARP=m +CONFIG_MRP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +# CONFIG_DECNET is not set +CONFIG_LLC=m +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +# CONFIG_NET_SCH_CBQ is not set +# CONFIG_NET_SCH_HTB is not set +# CONFIG_NET_SCH_HFSC is not set +# CONFIG_NET_SCH_PRIO is not set +# CONFIG_NET_SCH_MULTIQ is not set +# CONFIG_NET_SCH_RED is not set +# CONFIG_NET_SCH_SFB is not set +# CONFIG_NET_SCH_SFQ is not set +# CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_SCH_TBF is not set +# CONFIG_NET_SCH_GRED is not set +# CONFIG_NET_SCH_DSMARK is not set +# CONFIG_NET_SCH_NETEM is not set +# CONFIG_NET_SCH_DRR is not set +# CONFIG_NET_SCH_MQPRIO is not set +# CONFIG_NET_SCH_CHOKE is not set +# CONFIG_NET_SCH_QFQ is not set +# CONFIG_NET_SCH_CODEL is not set +# CONFIG_NET_SCH_FQ_CODEL is not set +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_PLUG is not set + +# +# Classification +# +# CONFIG_NET_CLS_BASIC is not set +# CONFIG_NET_CLS_TCINDEX is not set +# CONFIG_NET_CLS_ROUTE4 is not set +# CONFIG_NET_CLS_FW is not set +# CONFIG_NET_CLS_U32 is not set +# CONFIG_NET_CLS_RSVP is not set +# CONFIG_NET_CLS_RSVP6 is not set +# CONFIG_NET_CLS_FLOW is not set +# CONFIG_NET_CLS_CGROUP is not set +# CONFIG_NET_EMATCH is not set +# CONFIG_NET_CLS_ACT is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_NET_MPLS_GSO is not set +# CONFIG_NETPRIO_CGROUP is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIBTUSB=m +# CONFIG_BT_HCIBTSDIO is not set +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_3WIRE=y +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +CONFIG_NL80211_TESTMODE=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +# CONFIG_MAC80211_RC_PID is not set +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +# CONFIG_DMA_SHARED_BUFFER is not set + +# +# Bus devices +# +# CONFIG_ARM_CCI is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI is not set +# CONFIG_MTD_NAND_GPIO is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +CONFIG_MTD_NAND_ATMEL=y +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR flash memory drivers +# +# CONFIG_MTD_LPDDR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_DTC=y +CONFIG_OF=y + +# +# Device Tree and Open Firmware support +# +CONFIG_PROC_DEVICETREE=y +# CONFIG_OF_SELFTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=32768 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_ATMEL_PWM is not set +CONFIG_ATMEL_TCLIB=y +CONFIG_ATMEL_TCB_CLKSRC=y +CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +CONFIG_ATMEL_SSC=y +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +CONFIG_EEPROM_AT24=y +CONFIG_EEPROM_AT25=y +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +CONFIG_EEPROM_93CX6=m +# CONFIG_EEPROM_93XX46 is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_LIBFC is not set +# CONFIG_LIBFCOE is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_MII=m +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +CONFIG_DUMMY=m +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=m +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6060 is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +# CONFIG_NET_DSA_MV88E6131 is not set +# CONFIG_NET_DSA_MV88E6123_61_65 is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +CONFIG_NET_CADENCE=y +# CONFIG_ARM_AT91_ETHER is not set +CONFIG_MACB=y +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_NET_CALXEDA_XGMAC is not set +CONFIG_NET_VENDOR_CIRRUS=y +# CONFIG_CS89x0 is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_FARADAY=y +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8842 is not set +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_ETHOC is not set +# CONFIG_SH_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +CONFIG_MICREL_PHY=m +# CONFIG_FIXED_PHY is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +# CONFIG_PPP_MULTILINK is not set +CONFIG_PPPOE=m +CONFIG_PPTP=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=y +# CONFIG_PPP_SYNC_TTY is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=y + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +# CONFIG_USB_RTL8152 is not set +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_AX88179_178A=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +# CONFIG_USB_NET_CDC_MBIM is not set +CONFIG_USB_NET_DM9601=m +# CONFIG_USB_NET_SR9700 is not set +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_NET_CX82310_ETH=m +# CONFIG_USB_NET_KALMIA is not set +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +CONFIG_AT76C50X_USB=m +CONFIG_USB_ZD1201=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_ATH_CARDS is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +CONFIG_RT2X00=m +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +# CONFIG_RT2800USB_RT3573 is not set +# CONFIG_RT2800USB_RT53XX is not set +# CONFIG_RT2800USB_RT55XX is not set +# CONFIG_RT2800USB_UNKNOWN is not set +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RTL_CARDS=m +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTLWIFI_USB=m +CONFIG_RTLWIFI_DEBUG=y +CONFIG_RTL8192C_COMMON=m +CONFIG_WL_TI=y +# CONFIG_WL1251 is not set +CONFIG_WL12XX=m +# CONFIG_WL18XX is not set +CONFIG_WLCORE=m +# CONFIG_WLCORE_SPI is not set +CONFIG_WLCORE_SDIO=m +CONFIG_WILINK_PLATFORM_DATA=y +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=16 +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_ATMEL=y +CONFIG_SERIAL_ATMEL_CONSOLE=y +CONFIG_SERIAL_ATMEL_PDC=y +# CONFIG_SERIAL_ATMEL_TTYAT is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_TIMBERDALE is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +CONFIG_HW_RANDOM_ATMEL=y +# CONFIG_HW_RANDOM_EXYNOS is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOBIT=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_AT91 is not set +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +CONFIG_I2C_GPIO=y +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_ATMEL=m +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_FSL_DSPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=m +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_HSI is not set + +# +# PPS support +# +CONFIG_PPS=m +# CONFIG_PPS_DEBUG is not set +CONFIG_NTP_PPS=y + +# +# PPS clients support +# +CONFIG_PPS_CLIENT_KTIMER=m +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_GPIO=m + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=m + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y + +# +# Pin controllers +# +CONFIG_PINMUX=y +CONFIG_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +CONFIG_PINCTRL_AT91=y +# CONFIG_PINCTRL_SINGLE is not set +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers: +# +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_RCAR is not set +# CONFIG_GPIO_TS5500 is not set +# CONFIG_GPIO_GRGPIO is not set + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MCP23S08 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_74X164 is not set + +# +# AC97 GPIO expanders: +# + +# +# LPC GPIO expanders: +# + +# +# MODULbus GPIO expanders: +# + +# +# USB GPIO expanders: +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +# CONFIG_SENSORS_AD7314 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7310 is not set +# CONFIG_SENSORS_ADT7410 is not set +# CONFIG_SENSORS_ADT7411 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_GPIO_FAN is not set +# CONFIG_SENSORS_HIH6130 is not set +# CONFIG_SENSORS_HTU21 is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM73 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_LTC4151 is not set +# CONFIG_SENSORS_LTC4215 is not set +# CONFIG_SENSORS_LTC4245 is not set +# CONFIG_SENSORS_LTC4261 is not set +# CONFIG_SENSORS_LM95234 is not set +# CONFIG_SENSORS_LM95241 is not set +# CONFIG_SENSORS_LM95245 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX16065 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX1668 is not set +# CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX6639 is not set +# CONFIG_SENSORS_MAX6642 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_MAX6697 is not set +# CONFIG_SENSORS_MCP3021 is not set +# CONFIG_SENSORS_NCT6775 is not set +# CONFIG_SENSORS_NTC_THERMISTOR is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_PMBUS is not set +# CONFIG_SENSORS_SHT15 is not set +# CONFIG_SENSORS_SHT21 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_EMC1403 is not set +# CONFIG_SENSORS_EMC2103 is not set +# CONFIG_SENSORS_EMC6W201 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_ADS1015 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_ADS7871 is not set +# CONFIG_SENSORS_AMC6821 is not set +# CONFIG_SENSORS_INA209 is not set +# CONFIG_SENSORS_INA2XX is not set +# CONFIG_SENSORS_THMC50 is not set +CONFIG_SENSORS_TMP102=m +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83795 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +CONFIG_AT91SAM9X_WATCHDOG=y +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_REGULATOR is not set +CONFIG_MEDIA_SUPPORT=m + +# +# Multimedia core support +# +# CONFIG_MEDIA_CAMERA_SUPPORT is not set +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +# CONFIG_MEDIA_USB_SUPPORT is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# + +# +# Customise DVB Frontends +# +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_HAVE_FB_ATMEL=y +# CONFIG_DRM is not set +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +# CONFIG_FB is not set +# CONFIG_EXYNOS_VIDEO is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_SOUND is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set + +# +# USB HID support +# +# CONFIG_USB_HID is not set +# CONFIG_HID_PID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +CONFIG_USB_MON=y +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_AT91=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1760_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FUSBH200_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_RENESAS_USBHS is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +CONFIG_USB_WDM=m +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_CHIPIDEA is not set + +# +# USB port drivers +# +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +# CONFIG_USB_SERIAL_F81232 is not set +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +# CONFIG_USB_SERIAL_METRO is not set +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +# CONFIG_USB_SERIAL_SAFE is not set +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_ZTE is not set +CONFIG_USB_SERIAL_SSU100=m +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +CONFIG_USB_SEVSEG=m +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +CONFIG_USB_LCD=m +CONFIG_USB_LED=m +# CONFIG_USB_CYPRESS_CY7C63 is not set +CONFIG_USB_CYTHERM=m +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +CONFIG_USB_EZUSB_FX2=m +# CONFIG_USB_HSIC_USB3503 is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_SAMSUNG_USB2PHY is not set +# CONFIG_SAMSUNG_USB3PHY is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_RCAR_PHY is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_AT91 is not set +CONFIG_USB_ATMEL_USBA=m +# CONFIG_USB_FUSB300 is not set +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_ACM=m +CONFIG_USB_F_SS_LB=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_U_ETHER=m +CONFIG_USB_U_RNDIS=m +CONFIG_USB_F_SERIAL=m +CONFIG_USB_F_OBEX=m +CONFIG_USB_F_ECM=m +CONFIG_USB_F_SUBSET=m +CONFIG_USB_F_RNDIS=m +# CONFIG_USB_CONFIGFS is not set +CONFIG_USB_ZERO=m +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_ETH_EEM is not set +# CONFIG_USB_G_NCM is not set +CONFIG_USB_GADGETFS=m +# CONFIG_USB_FUNCTIONFS is not set +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +# CONFIG_USB_G_PRINTER is not set +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_G_ACM_MS=m +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set +# CONFIG_MMC_CLKGATE is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SDHCI_PXAV3 is not set +# CONFIG_MMC_SDHCI_PXAV2 is not set +CONFIG_MMC_ATMELMCI=m +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +CONFIG_LEDS_GPIO=y +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_BD2802 is not set +# CONFIG_LEDS_LT3593 is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_LM355x is not set +# CONFIG_LEDS_OT200 is not set +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_RX4581 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_DS2404 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_AT91RM9200=y +# CONFIG_RTC_DRV_AT91SAM9 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_MOXART is not set + +# +# HID Sensor RTC drivers +# +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +# CONFIG_DW_DMAC_CORE is not set +# CONFIG_DW_DMAC is not set +CONFIG_AT_HDMAC=y +# CONFIG_TIMB_DMA is not set +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set +# CONFIG_AUXDISPLAY is not set +CONFIG_UIO=m +CONFIG_UIO_PDRV_GENIRQ=m +# CONFIG_UIO_DMEM_GENIRQ is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +# CONFIG_STAGING is not set +CONFIG_CLKDEV_LOOKUP=y + +# +# Hardware Spinlock drivers +# +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y +CONFIG_OF_IOMMU=y + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD=y +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +CONFIG_JFFS2_FS_WBUF_VERIFY=y +CONFIG_JFFS2_SUMMARY=y +CONFIG_JFFS2_FS_XATTR=y +CONFIG_JFFS2_FS_POSIX_ACL=y +CONFIG_JFFS2_FS_SECURITY=y +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_RTIME=y +CONFIG_JFFS2_RUBIN=y +# CONFIG_JFFS2_CMODE_NONE is not set +CONFIG_JFFS2_CMODE_PRIORITY=y +# CONFIG_JFFS2_CMODE_SIZE is not set +# CONFIG_JFFS2_CMODE_FAVOURLZO is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +# CONFIG_SQUASHFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +CONFIG_ROMFS_FS=y +CONFIG_ROMFS_BACKED_BY_BLOCK=y +# CONFIG_ROMFS_BACKED_BY_MTD is not set +# CONFIG_ROMFS_BACKED_BY_BOTH is not set +CONFIG_ROMFS_ON_BLOCK=y +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=y +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_UPCALL is not set +# CONFIG_CIFS_XATTR is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DFS_UPCALL is not set +# CONFIG_CIFS_SMB2 is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=y +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7 +# CONFIG_BOOT_PRINTK_DELAY is not set + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_SLAB is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +CONFIG_DEBUG_PREEMPT=y + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_WRITECOUNT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU_DELAY is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_RCU_CPU_STALL_VERBOSE=y +# CONFIG_RCU_CPU_STALL_INFO is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_ENABLE_DEFAULT_TRACERS is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_PROBE_EVENTS is not set + +# +# Runtime Testing +# +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL=y +CONFIG_AT91_DEBUG_LL_DBGU0=y +# CONFIG_DEBUG_LL_UART_NONE is not set +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_SEMIHOSTING is not set +# CONFIG_DEBUG_LL_UART_8250 is not set +# CONFIG_DEBUG_LL_UART_PL01X is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_PL01X is not set +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_EARLY_PRINTK is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_AUTHENC=y +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32=m +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MD5=y +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_SHA1_ARM is not set +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_ARM is not set +CONFIG_CRYPTO_ANUBIS=y +CONFIG_CRYPTO_ARC4=y +CONFIG_CRYPTO_BLOWFISH=y +CONFIG_CRYPTO_BLOWFISH_COMMON=y +# CONFIG_CRYPTO_CAMELLIA is not set +CONFIG_CRYPTO_CAST_COMMON=y +CONFIG_CRYPTO_CAST5=y +CONFIG_CRYPTO_CAST6=y +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=y +CONFIG_CRYPTO_KHAZAD=y +CONFIG_CRYPTO_SALSA20=y +CONFIG_CRYPTO_SEED=y +CONFIG_CRYPTO_SERPENT=y +CONFIG_CRYPTO_TEA=y +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_TWOFISH_COMMON=y + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +CONFIG_CRYPTO_ANSI_CPRNG=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ATMEL_AES is not set +# CONFIG_CRYPTO_DEV_ATMEL_TDES is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +CONFIG_CRC7=m +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_AVERAGE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_OID_REGISTRY=y +# CONFIG_VIRTUALIZATION is not set diff --git a/recipes-kernel/linux/linux-3.12.70/mtcap/linux-3.12-eeprom-setup-mtcdt.patch b/recipes-kernel/linux/linux-3.12.70/mtcap/linux-3.12-eeprom-setup-mtcdt.patch new file mode 100644 index 0000000..4075005 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/mtcap/linux-3.12-eeprom-setup-mtcdt.patch @@ -0,0 +1,164 @@ +Index: linux-3.12.27/arch/arm/mach-at91/board-dt-sam9.c +=================================================================== +--- linux-3.12.27.orig/arch/arm/mach-at91/board-dt-sam9.c 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.27/arch/arm/mach-at91/board-dt-sam9.c 2014-09-24 09:56:17.283867487 -0500 +@@ -25,6 +25,86 @@ + #include "board.h" + #include "generic.h" + ++#include ++ ++uint8_t mts_id_eeprom[512]; ++ ++EXPORT_SYMBOL(mts_id_eeprom); ++ ++static void mts_id_eeprom_load(struct memory_accessor *macc, void *context) ++{ ++ int tmp; ++ ++ memset(mts_id_eeprom, 0, sizeof(mts_id_eeprom)); ++ ++ tmp = macc->read(macc, mts_id_eeprom, 0, sizeof(mts_id_eeprom)); ++ if (tmp != sizeof(mts_id_eeprom)) { ++ printk(KERN_ERR "sam9x5: id eeprom read failed: %d\n", tmp); ++ } else { ++ printk(KERN_INFO "sam9x5: read %d bytes from id eeprom\n", tmp); ++ } ++} ++ ++struct mts_eeprom_callback id_eeprom_callback = { ++ .address = 0x56, ++ .index = -1, ++ .setup = mts_id_eeprom_load, ++}; ++ ++#ifdef CONFIG_MTS_NUM_ACCESSORY_PORTS ++#define NUM_AP CONFIG_MTS_NUM_ACCESSORY_PORTS ++#else ++#define NUM_AP 0 ++#endif ++ ++#if NUM_AP > 0 ++ ++uint8_t mts_ap_eeprom[NUM_AP][512]; ++ ++EXPORT_SYMBOL(mts_ap_eeprom); ++ ++static void mts_ap_eeprom_load(struct memory_accessor *macc, void *context) ++{ ++ int tmp; ++ int* index = (int*)context; ++ ++ memset(mts_ap_eeprom[*index], 0, sizeof(mts_ap_eeprom[*index])); ++ ++ tmp = macc->read(macc, mts_ap_eeprom[*index], 0, sizeof(mts_ap_eeprom[*index])); ++ if (tmp != sizeof(mts_ap_eeprom[*index])) { ++ printk(KERN_INFO "sam9x5: ap%d eeprom read failed: %d\n", *index + 1, tmp); ++ } else { ++ printk(KERN_INFO "sam9x5: read %d bytes from ap%d eeprom\n", tmp, *index + 1); ++ } ++} ++ ++struct mts_eeprom_callback ap1_eeprom_callback = { ++ .address = 0x50, ++ .index = 0, ++ .setup = mts_ap_eeprom_load, ++}; ++ ++struct mts_eeprom_callback ap2_eeprom_callback = { ++ .address = 0x52, ++ .index = 1, ++ .setup = mts_ap_eeprom_load, ++}; ++ ++struct mts_eeprom_callback* mts_eeprom_callback_lookup[] = { ++ &id_eeprom_callback, ++ &ap1_eeprom_callback, ++ &ap2_eeprom_callback, ++ NULL ++}; ++ ++#else ++ ++struct mts_eeprom_callback* mts_eeprom_callback_lookup[] = { ++ &id_eeprom_callback, ++ NULL ++}; ++ ++#endif + + static const struct of_device_id irq_of_match[] __initconst = { + +Index: linux-3.12.27/drivers/misc/eeprom/at24.c +=================================================================== +--- linux-3.12.27.orig/drivers/misc/eeprom/at24.c 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.27/drivers/misc/eeprom/at24.c 2014-09-23 11:41:52.470331651 -0500 +@@ -24,6 +24,8 @@ + #include + #include + ++#include ++ + /* + * I2C EEPROMs from most vendors are inexpensive and mostly interchangeable. + * Differences between different vendor product lines (like Atmel AT24C or +@@ -473,6 +475,23 @@ + chip->page_size = be32_to_cpup(val); + } + } ++ ++static void at24_get_setup(struct i2c_client *client, ++ struct at24_platform_data *chip) ++{ ++ int i; ++ ++ for (i = 0; mts_eeprom_callback_lookup[i] != NULL; i++) { ++ if (mts_eeprom_callback_lookup[i]->address == client->addr) { ++ printk(KERN_INFO "%s: found a match for eeprom at %X\n", __func__, client->addr); ++ chip->setup = mts_eeprom_callback_lookup[i]->setup; ++ if (mts_eeprom_callback_lookup[i]->index > -1) { ++ chip->context = (void*)&mts_eeprom_callback_lookup[i]->index; ++ } ++ break; ++ } ++ } ++} + #else + static void at24_get_ofdata(struct i2c_client *client, + struct at24_platform_data *chip) +@@ -505,12 +524,14 @@ + * is recommended anyhow. + */ + chip.page_size = 1; ++ chip.setup = NULL; ++ chip.context = NULL; + + /* update chipdata if OF is present */ + at24_get_ofdata(client, &chip); + +- chip.setup = NULL; +- chip.context = NULL; ++ /* see if we have a setup callback */ ++ at24_get_setup(client, &chip); + } + + if (!is_power_of_2(chip.byte_len)) +Index: linux-3.12.27/include/linux/mts_at24.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-3.12.27/include/linux/mts_at24.h 2014-09-23 11:41:52.470331651 -0500 +@@ -0,0 +1,14 @@ ++#ifndef _LINUX_MTSAT24_H ++#define _LINUX_MTSAT24_H ++ ++#include ++ ++struct mts_eeprom_callback { ++ unsigned short address; ++ int index; ++ void (*setup)(struct memory_accessor *, void *context); ++}; ++ ++extern struct mts_eeprom_callback* mts_eeprom_callback_lookup[]; ++ ++#endif /* _LINUX_MTSAT24_H */ diff --git a/recipes-kernel/linux/linux-3.12.70/mtcap/linux-3.12-mtcap-device-tree.patch b/recipes-kernel/linux/linux-3.12.70/mtcap/linux-3.12-mtcap-device-tree.patch new file mode 100644 index 0000000..474f606 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/mtcap/linux-3.12-mtcap-device-tree.patch @@ -0,0 +1,227 @@ +Index: linux-3.12.27/arch/arm/boot/dts/mtcap.dts +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-3.12.27/arch/arm/boot/dts/mtcap.dts 2015-01-13 13:58:20.766078428 -0600 +@@ -0,0 +1,210 @@ ++/* ++ * DTS file for Multi-Tech Systems MTCAP Hardware ++ */ ++ ++/dts-v1/; ++#include "at91sam9g25.dtsi" ++ ++/ { ++ model = "Multi-Tech Systems MTCAP"; ++ compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; ++ ++ chosen { ++ bootargs = "mem=256M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2"; ++ }; ++ ++ aliases { ++ spi0 = &spi0; ++ }; ++ ++ memory { ++ reg = <0x20000000 0x8000000>; ++ }; ++ ++ clocks { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ranges; ++ ++ main_clock: clock@0 { ++ compatible = "atmel,osc", "fixed-clock"; ++ clock-frequency = <12000000>; ++ }; ++ }; ++ ++ ahb { ++ apb { ++ macb0: ethernet@f802c000 { ++ phy-mode = "rmii"; ++ status = "okay"; ++ }; ++ ++ pinctrl@fffff400 { ++ nand { ++ pinctrl_nand: nand-0 { ++ atmel,pins = ++ ; /* PD13 periph A Data bit 7 */ ++ }; ++ ++ pinctrl_nand_16bits: nand_16bits-0 { ++ atmel,pins = ++ ; /* PD21 periph A Data bit 15 */ ++ }; ++ }; ++ }; ++ ++ rtc@fffffeb0 { ++ status = "okay"; ++ }; ++ ++ i2c0: i2c@f8010000 { ++ compatible = "i2c-gpio"; ++ status = "okay"; ++ ++ id_eeprom@56 { ++ compatible = "atmel,24c04"; ++ reg = <0x56>; ++ pagesize = <16>; ++ }; ++ }; ++ ++ spi0: spi@f0000000 { ++ status = "okay"; ++ cs-gpios = <&pioA 7 0>, <0>, <0>, <0>; ++ lora-spi@0 { ++ compatible = "spidev"; ++ spi-max-frequency = <2000000>; ++ reg = <0>; ++ }; ++ }; ++ ++ dbgu: serial@fffff200 { ++ status = "okay"; ++ }; ++ ++ uart0: serial@f8040000 { ++ status = "okay"; ++ }; ++ ++ watchdog@fffffe40 { ++ status = "okay"; ++ }; ++ }; ++ ++ nand0: nand@40000000 { ++ nand-bus-width = <8>; ++ nand-ecc-mode = "hw"; ++ atmel,has-pmecc; /* Enable PMECC */ ++ atmel,pmecc-sector-size = <512>; ++ status = "okay"; ++ reg = < 0x40000000 0x10000000 ++ 0xffffe000 0x600 /* PMECC Registers */ ++ 0xffffe600 0x200 /* PMECC Error Location Registers */ ++ 0x00100000 0x100000 /* PMECC looup table in ROM code */ ++ >; ++ atmel,pmecc-lookup-table-offset = <0x8000 0x10000>; ++ gpios = < &pioC 31 GPIO_ACTIVE_HIGH ++ &pioD 4 GPIO_ACTIVE_HIGH ++ 0 ++ >; ++ atmel,pmecc-cap = <4>; ++ atmel,nand-has-dma; ++ ++ nand@0 { ++ label = "NANDFlash"; ++ reg = <0x0 0x10000000>; ++ }; ++ at91bootstrap@0 { ++ label = "at91bootstrap"; ++ reg = <0x0 0x40000>; ++ }; ++ uboot@40000 { ++ label = "u-Boot"; ++ reg = <0x40000 0x80000>; ++ }; ++ ubootconfig0@c0000 { ++ label = "u-Boot Config"; ++ reg = <0xc0000 0xa0000>; ++ }; ++ ubootconfig1@160000 { ++ label = "u-Boot Redundant Config"; ++ reg = <0x160000 0xa0000>; ++ }; ++ uImage@200000 { ++ label = "uImage"; ++ reg = <0x200000 0x600000>; ++ }; ++ config0@800000 { ++ label = "Config"; ++ reg = <0x800000 0x800000>; ++ }; ++ config1@1000000 { ++ label = "OEM Config"; ++ reg = <0x1000000 0x800000>; ++ }; ++ rootfs@1800000 { ++ label = "Rootfs"; ++ reg = <0x1800000 0xe800000>; ++ }; ++ }; ++ ++ usb0: ohci@00600000 { ++ status = "okay"; ++ num-ports = <3>; ++ }; ++ ++ usb1: ehci@00700000 { ++ status = "okay"; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pc25 { ++ label = "led-status"; ++ gpios = <&pioC 25 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "default-on"; ++ }; ++ pc15 { ++ label = "led-lora"; ++ gpios = <&pioC 15 GPIO_ACTIVE_LOW>; ++ }; ++ pc16 { ++ label = "led-cd"; ++ gpios = <&pioC 16 GPIO_ACTIVE_LOW>; ++ }; ++ pc20 { ++ label = "led-wifi"; ++ gpios = <&pioC 20 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++ ++ i2c@0 { ++ status = "okay"; ++ id_eeprom@56 { ++ compatible = "atmel,24c04"; ++ reg = <0x56>; ++ pagesize = <16>; ++ }; ++ }; ++}; +Index: linux-3.12.27/arch/arm/boot/dts/Makefile +=================================================================== +--- linux-3.12.27.orig/arch/arm/boot/dts/Makefile 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.27/arch/arm/boot/dts/Makefile 2015-01-13 13:58:20.766078428 -0600 +@@ -35,6 +35,7 @@ + dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb + dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb + dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb ++dtb-$(CONFIG_ARCH_AT91) += mtcap.dtb + # sama5d3 + dtb-$(CONFIG_ARCH_AT91) += sama5d31ek.dtb + dtb-$(CONFIG_ARCH_AT91) += sama5d33ek.dtb diff --git a/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig b/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig new file mode 100644 index 0000000..028f41d --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig @@ -0,0 +1,2898 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 3.12.27 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_GPIO_H=y +CONFIG_GENERIC_BUG=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_FHANDLE is not set +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +CONFIG_KTIME_SCALAR=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ is not set +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_PREEMPT_RCU=y +# CONFIG_TINY_RCU is not set +CONFIG_PREEMPT_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_FANOUT=32 +CONFIG_RCU_FANOUT_LEAF=16 +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_BOOST is not set +# CONFIG_RCU_NOCB_CPU is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +# CONFIG_CGROUP_FREEZER is not set +# CONFIG_CGROUP_DEVICE is not set +# CONFIG_CPUSETS is not set +# CONFIG_CGROUP_CPUACCT is not set +# CONFIG_RESOURCE_COUNTERS is not set +# CONFIG_CGROUP_SCHED is not set +CONFIG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +# CONFIG_NET_NS is not set +# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_COMPAT_BRK=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_THROTTLING is not set +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_CFQ_GROUP_IOSCHED is not set +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_CFQ is not set +CONFIG_DEFAULT_NOOP=y +CONFIG_DEFAULT_IOSCHED="noop" +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# MTS +# +CONFIG_MTS_NUM_ACCESSORY_PORTS=2 + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +CONFIG_ARCH_AT91=y +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_MSM is not set +# CONFIG_ARCH_SHMOBILE is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5P64X0 is not set +# CONFIG_ARCH_S5PC100 is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_HAVE_AT91_DBGU0=y +CONFIG_AT91_PMC_UNIT=y +CONFIG_AT91_SAM9_ALT_RESET=y +CONFIG_AT91_SAM9G45_RESET=y +CONFIG_AT91_SAM9_TIME=y +CONFIG_SOC_AT91SAM9=y + +# +# Atmel AT91 System-on-Chip +# +CONFIG_SOC_SAM_V4_V5=y +# CONFIG_SOC_SAM_V7 is not set + +# +# Atmel AT91 Processor +# +# CONFIG_SOC_AT91RM9200 is not set +# CONFIG_SOC_AT91SAM9260 is not set +# CONFIG_SOC_AT91SAM9261 is not set +# CONFIG_SOC_AT91SAM9263 is not set +# CONFIG_SOC_AT91SAM9RL is not set +# CONFIG_SOC_AT91SAM9G45 is not set +CONFIG_SOC_AT91SAM9X5=y +# CONFIG_SOC_AT91SAM9N12 is not set + +# +# Atmel Non-DT world +# +CONFIG_ARCH_AT91_NONE=y +# CONFIG_ARCH_AT91RM9200 is not set +# CONFIG_ARCH_AT91SAM9260 is not set +# CONFIG_ARCH_AT91SAM9261 is not set +# CONFIG_ARCH_AT91SAM9263 is not set +# CONFIG_ARCH_AT91SAM9RL is not set +# CONFIG_ARCH_AT91SAM9G45 is not set + +# +# AT91 Board Options +# + +# +# Generic Board Type +# +CONFIG_MACH_AT91SAM9_DT=y + +# +# AT91 Feature Selections +# +CONFIG_AT91_PROGRAMMABLE_CLOCKS=y +CONFIG_AT91_SLOW_CLOCK=y +CONFIG_AT91_TIMER_HZ=100 +# CONFIG_GPIO_PCA953X is not set +# CONFIG_PLAT_SPEAR is not set + +# +# Processor Type +# +CONFIG_CPU_ARM926T=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5TJ=y +CONFIG_CPU_PABRT_LEGACY=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_USE_DOMAINS=y + +# +# Processor Features +# +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +# CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_NEED_KUSER_HELPERS=y +CONFIG_KUSER_HELPERS=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 +CONFIG_ARM_NR_BANKS=8 +CONFIG_MULTI_IRQ_HANDLER=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_ARCH_NR_GPIO=0 +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_HZ_FIXED=100 +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +# CONFIG_HIGHMEM is not set +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=999999 +# CONFIG_COMPACTION is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +# CONFIG_CMA is not set +# CONFIG_ZBUD is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +CONFIG_UACCESS_WITH_MEMCPY=y +# CONFIG_SECCOMP is not set +# CONFIG_CC_STACKPROTECTOR is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set +CONFIG_CMDLINE=" quiet " +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_AUTO_ZRELADDR=y + +# +# CPU Power Management +# + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_VFP is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_PM_SLEEP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +# CONFIG_PM_RUNTIME is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +# CONFIG_APM_EMULATION is not set +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +CONFIG_UNIX_DIAG=y +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=y +CONFIG_XFRM_USER=y +CONFIG_XFRM_SUB_POLICY=y +CONFIG_XFRM_MIGRATE=y +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_IPCOMP=y +CONFIG_NET_KEY=y +CONFIG_NET_KEY_MIGRATE=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +CONFIG_NET_IPIP=y +CONFIG_NET_IPGRE_DEMUX=y +CONFIG_NET_IP_TUNNEL=y +CONFIG_NET_IPGRE=y +# CONFIG_NET_IPGRE_BROADCAST is not set +# CONFIG_IP_MROUTE is not set +CONFIG_SYN_COOKIES=y +CONFIG_NET_IPVTI=y +CONFIG_INET_AH=y +CONFIG_INET_ESP=y +CONFIG_INET_IPCOMP=y +CONFIG_INET_XFRM_TUNNEL=y +CONFIG_INET_TUNNEL=y +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_INET6_AH=y +CONFIG_INET6_ESP=y +CONFIG_INET6_IPCOMP=y +CONFIG_IPV6_MIP6=y +CONFIG_INET6_XFRM_TUNNEL=y +CONFIG_INET6_TUNNEL=y +CONFIG_INET6_XFRM_MODE_TRANSPORT=y +CONFIG_INET6_XFRM_MODE_TUNNEL=y +CONFIG_INET6_XFRM_MODE_BEET=y +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +CONFIG_IPV6_SIT=y +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_GRE=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +CONFIG_NETFILTER_NETLINK_QUEUE=y +CONFIG_NETFILTER_NETLINK_LOG=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +# CONFIG_NF_CT_PROTO_DCCP is not set +CONFIG_NF_CT_PROTO_GRE=m +# CONFIG_NF_CT_PROTO_SCTP is not set +# CONFIG_NF_CT_PROTO_UDPLITE is not set +# CONFIG_NF_CONNTRACK_AMANDA is not set +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +# CONFIG_NF_CONNTRACK_IRC is not set +CONFIG_NF_CONNTRACK_BROADCAST=m +# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +# CONFIG_NF_CONNTRACK_SANE is not set +CONFIG_NF_CONNTRACK_SIP=m +# CONFIG_NF_CONNTRACK_TFTP is not set +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_NEEDED=y +# CONFIG_NF_NAT_AMANDA is not set +CONFIG_NF_NAT_FTP=m +# CONFIG_NF_NAT_IRC is not set +CONFIG_NF_NAT_SIP=m +# CONFIG_NF_NAT_TFTP is not set +CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=y +CONFIG_NETFILTER_XT_CONNMARK=y + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_HL=m +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set +# CONFIG_NETFILTER_XT_TARGET_LED is not set +CONFIG_NETFILTER_XT_TARGET_LOG=y +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +# CONFIG_NETFILTER_XT_MATCH_CPU is not set +# CONFIG_NETFILTER_XT_MATCH_DCCP is not set +# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_DSCP is not set +CONFIG_NETFILTER_XT_MATCH_ECN=y +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +# CONFIG_NETFILTER_XT_MATCH_HELPER is not set +CONFIG_NETFILTER_XT_MATCH_HL=y +# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set +# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +CONFIG_NETFILTER_XT_MATCH_POLICY=y +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set +# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +CONFIG_NETFILTER_XT_MATCH_RECENT=y +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +CONFIG_NETFILTER_XT_MATCH_STATE=y +# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set +# CONFIG_NETFILTER_XT_MATCH_STRING is not set +# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set +# CONFIG_NETFILTER_XT_MATCH_TIME is not set +# CONFIG_NETFILTER_XT_MATCH_U32 is not set +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=y +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_TARGET_SYNPROXY=m +# CONFIG_IP_NF_TARGET_ULOG is not set +CONFIG_NF_NAT_IPV4=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_IP_NF_MANGLE=y +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +# CONFIG_IP6_NF_TARGET_HL is not set +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_NF_NAT_IPV6=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +CONFIG_L2TP=y +# CONFIG_L2TP_V3 is not set +CONFIG_STP=m +CONFIG_GARP=m +CONFIG_MRP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +# CONFIG_DECNET is not set +CONFIG_LLC=m +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +# CONFIG_NET_SCH_CBQ is not set +# CONFIG_NET_SCH_HTB is not set +# CONFIG_NET_SCH_HFSC is not set +# CONFIG_NET_SCH_PRIO is not set +# CONFIG_NET_SCH_MULTIQ is not set +# CONFIG_NET_SCH_RED is not set +# CONFIG_NET_SCH_SFB is not set +# CONFIG_NET_SCH_SFQ is not set +# CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_SCH_TBF is not set +# CONFIG_NET_SCH_GRED is not set +# CONFIG_NET_SCH_DSMARK is not set +# CONFIG_NET_SCH_NETEM is not set +# CONFIG_NET_SCH_DRR is not set +# CONFIG_NET_SCH_MQPRIO is not set +# CONFIG_NET_SCH_CHOKE is not set +# CONFIG_NET_SCH_QFQ is not set +# CONFIG_NET_SCH_CODEL is not set +# CONFIG_NET_SCH_FQ_CODEL is not set +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_PLUG is not set + +# +# Classification +# +# CONFIG_NET_CLS_BASIC is not set +# CONFIG_NET_CLS_TCINDEX is not set +# CONFIG_NET_CLS_ROUTE4 is not set +# CONFIG_NET_CLS_FW is not set +# CONFIG_NET_CLS_U32 is not set +# CONFIG_NET_CLS_RSVP is not set +# CONFIG_NET_CLS_RSVP6 is not set +# CONFIG_NET_CLS_FLOW is not set +# CONFIG_NET_CLS_CGROUP is not set +# CONFIG_NET_EMATCH is not set +# CONFIG_NET_CLS_ACT is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_NET_MPLS_GSO is not set +# CONFIG_NETPRIO_CGROUP is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIBTUSB=m +# CONFIG_BT_HCIBTSDIO is not set +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_3WIRE=y +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +CONFIG_NL80211_TESTMODE=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +# CONFIG_MAC80211_RC_PID is not set +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +# CONFIG_WIMAX is not set +CONFIG_RFKILL=m +CONFIG_RFKILL_LEDS=y +# CONFIG_RFKILL_INPUT is not set +CONFIG_RFKILL_GPIO=m +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +# CONFIG_DMA_SHARED_BUFFER is not set + +# +# Bus devices +# +# CONFIG_ARM_CCI is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI is not set +# CONFIG_MTD_NAND_GPIO is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +CONFIG_MTD_NAND_ATMEL=y +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR flash memory drivers +# +# CONFIG_MTD_LPDDR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_DTC=y +CONFIG_OF=y + +# +# Device Tree and Open Firmware support +# +CONFIG_PROC_DEVICETREE=y +# CONFIG_OF_SELFTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=32768 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_ATMEL_PWM is not set +CONFIG_ATMEL_TCLIB=y +CONFIG_ATMEL_TCB_CLKSRC=y +CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +CONFIG_ATMEL_SSC=y +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +CONFIG_EEPROM_AT24=y +CONFIG_EEPROM_AT25=y +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +CONFIG_EEPROM_93CX6=m +# CONFIG_EEPROM_93XX46 is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_LIBFC is not set +# CONFIG_LIBFCOE is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_MII=m +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +CONFIG_DUMMY=m +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=m +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6060 is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +# CONFIG_NET_DSA_MV88E6131 is not set +# CONFIG_NET_DSA_MV88E6123_61_65 is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +CONFIG_NET_CADENCE=y +# CONFIG_ARM_AT91_ETHER is not set +CONFIG_MACB=y +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_NET_CALXEDA_XGMAC is not set +CONFIG_NET_VENDOR_CIRRUS=y +# CONFIG_CS89x0 is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_FARADAY=y +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8842 is not set +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_ETHOC is not set +# CONFIG_SH_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +CONFIG_MICREL_PHY=m +# CONFIG_FIXED_PHY is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +# CONFIG_PPP_MULTILINK is not set +CONFIG_PPPOE=m +CONFIG_PPTP=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=y +# CONFIG_PPP_SYNC_TTY is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=y + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +# CONFIG_USB_RTL8152 is not set +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_AX88179_178A=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +# CONFIG_USB_NET_CDC_MBIM is not set +CONFIG_USB_NET_DM9601=m +# CONFIG_USB_NET_SR9700 is not set +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_NET_CX82310_ETH=m +# CONFIG_USB_NET_KALMIA is not set +CONFIG_USB_NET_QMI_WWAN=m +# CONFIG_USB_HSO is not set +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +CONFIG_AT76C50X_USB=m +CONFIG_USB_ZD1201=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_ATH_CARDS is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +CONFIG_RT2X00=m +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +# CONFIG_RT2800USB_RT3573 is not set +# CONFIG_RT2800USB_RT53XX is not set +# CONFIG_RT2800USB_RT55XX is not set +# CONFIG_RT2800USB_UNKNOWN is not set +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RTL_CARDS=m +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTLWIFI_USB=m +CONFIG_RTLWIFI_DEBUG=y +CONFIG_RTL8192C_COMMON=m +CONFIG_WL_TI=y +# CONFIG_WL1251 is not set +CONFIG_WL12XX=m +# CONFIG_WL18XX is not set +CONFIG_WLCORE=m +# CONFIG_WLCORE_SPI is not set +CONFIG_WLCORE_SDIO=m +CONFIG_WILINK_PLATFORM_DATA=y +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=16 +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_ATMEL=y +CONFIG_SERIAL_ATMEL_CONSOLE=y +CONFIG_SERIAL_ATMEL_PDC=y +# CONFIG_SERIAL_ATMEL_TTYAT is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_TIMBERDALE is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +CONFIG_HW_RANDOM_ATMEL=y +# CONFIG_HW_RANDOM_EXYNOS is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOBIT=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_AT91 is not set +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +CONFIG_I2C_GPIO=y +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_ATMEL=m +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_FSL_DSPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=m +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_HSI is not set + +# +# PPS support +# +CONFIG_PPS=m +# CONFIG_PPS_DEBUG is not set +CONFIG_NTP_PPS=y + +# +# PPS clients support +# +CONFIG_PPS_CLIENT_KTIMER=m +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_GPIO=m + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=m + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y + +# +# Pin controllers +# +CONFIG_PINMUX=y +CONFIG_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +CONFIG_PINCTRL_AT91=y +# CONFIG_PINCTRL_SINGLE is not set +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers: +# +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_RCAR is not set +# CONFIG_GPIO_TS5500 is not set +# CONFIG_GPIO_GRGPIO is not set + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MCP23S08 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_74X164 is not set + +# +# AC97 GPIO expanders: +# + +# +# LPC GPIO expanders: +# + +# +# MODULbus GPIO expanders: +# + +# +# USB GPIO expanders: +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +# CONFIG_SENSORS_AD7314 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7310 is not set +# CONFIG_SENSORS_ADT7410 is not set +# CONFIG_SENSORS_ADT7411 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_GPIO_FAN is not set +# CONFIG_SENSORS_HIH6130 is not set +# CONFIG_SENSORS_HTU21 is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM73 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_LTC4151 is not set +# CONFIG_SENSORS_LTC4215 is not set +# CONFIG_SENSORS_LTC4245 is not set +# CONFIG_SENSORS_LTC4261 is not set +# CONFIG_SENSORS_LM95234 is not set +# CONFIG_SENSORS_LM95241 is not set +# CONFIG_SENSORS_LM95245 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX16065 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX1668 is not set +# CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX6639 is not set +# CONFIG_SENSORS_MAX6642 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_MAX6697 is not set +# CONFIG_SENSORS_MCP3021 is not set +# CONFIG_SENSORS_NCT6775 is not set +# CONFIG_SENSORS_NTC_THERMISTOR is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_PMBUS is not set +# CONFIG_SENSORS_SHT15 is not set +# CONFIG_SENSORS_SHT21 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_EMC1403 is not set +# CONFIG_SENSORS_EMC2103 is not set +# CONFIG_SENSORS_EMC6W201 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_ADS1015 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_ADS7871 is not set +# CONFIG_SENSORS_AMC6821 is not set +# CONFIG_SENSORS_INA209 is not set +# CONFIG_SENSORS_INA2XX is not set +# CONFIG_SENSORS_THMC50 is not set +CONFIG_SENSORS_TMP102=m +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83795 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +CONFIG_AT91SAM9X_WATCHDOG=y +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_REGULATOR is not set +CONFIG_MEDIA_SUPPORT=m + +# +# Multimedia core support +# +# CONFIG_MEDIA_CAMERA_SUPPORT is not set +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +# CONFIG_MEDIA_USB_SUPPORT is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# + +# +# Customise DVB Frontends +# +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_HAVE_FB_ATMEL=y +# CONFIG_DRM is not set +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +# CONFIG_FB is not set +# CONFIG_EXYNOS_VIDEO is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_SOUND is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set + +# +# USB HID support +# +# CONFIG_USB_HID is not set +# CONFIG_HID_PID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +CONFIG_USB_MON=y +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_AT91=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1760_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FUSBH200_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_RENESAS_USBHS is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +CONFIG_USB_WDM=m +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_CHIPIDEA is not set + +# +# USB port drivers +# +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +# CONFIG_USB_SERIAL_F81232 is not set +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set +# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +# CONFIG_USB_SERIAL_METRO is not set +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +# CONFIG_USB_SERIAL_SAFE is not set +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_ZTE is not set +CONFIG_USB_SERIAL_SSU100=m +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +CONFIG_USB_SEVSEG=m +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +CONFIG_USB_LCD=m +CONFIG_USB_LED=m +# CONFIG_USB_CYPRESS_CY7C63 is not set +CONFIG_USB_CYTHERM=m +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +CONFIG_USB_EZUSB_FX2=m +# CONFIG_USB_HSIC_USB3503 is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_SAMSUNG_USB2PHY is not set +# CONFIG_SAMSUNG_USB3PHY is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_RCAR_PHY is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_AT91 is not set +CONFIG_USB_ATMEL_USBA=m +# CONFIG_USB_FUSB300 is not set +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_ACM=m +CONFIG_USB_F_SS_LB=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_U_ETHER=m +CONFIG_USB_U_RNDIS=m +CONFIG_USB_F_SERIAL=m +CONFIG_USB_F_OBEX=m +CONFIG_USB_F_ECM=m +CONFIG_USB_F_SUBSET=m +CONFIG_USB_F_RNDIS=m +# CONFIG_USB_CONFIGFS is not set +CONFIG_USB_ZERO=m +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_ETH_EEM is not set +# CONFIG_USB_G_NCM is not set +CONFIG_USB_GADGETFS=m +# CONFIG_USB_FUNCTIONFS is not set +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +# CONFIG_USB_G_PRINTER is not set +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_G_ACM_MS=m +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set +# CONFIG_MMC_CLKGATE is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SDHCI_PXAV3 is not set +# CONFIG_MMC_SDHCI_PXAV2 is not set +CONFIG_MMC_ATMELMCI=m +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +CONFIG_LEDS_GPIO=y +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_BD2802 is not set +# CONFIG_LEDS_LT3593 is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_LM355x is not set +# CONFIG_LEDS_OT200 is not set +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_RX4581 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_DS2404 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_AT91RM9200=y +# CONFIG_RTC_DRV_AT91SAM9 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_MOXART is not set + +# +# HID Sensor RTC drivers +# +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +# CONFIG_DW_DMAC_CORE is not set +# CONFIG_DW_DMAC is not set +CONFIG_AT_HDMAC=y +# CONFIG_TIMB_DMA is not set +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set +# CONFIG_AUXDISPLAY is not set +CONFIG_UIO=m +CONFIG_UIO_PDRV_GENIRQ=m +# CONFIG_UIO_DMEM_GENIRQ is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +# CONFIG_STAGING is not set +CONFIG_CLKDEV_LOOKUP=y + +# +# Hardware Spinlock drivers +# +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y +CONFIG_OF_IOMMU=y + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD=y +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +CONFIG_JFFS2_FS_WBUF_VERIFY=y +CONFIG_JFFS2_SUMMARY=y +CONFIG_JFFS2_FS_XATTR=y +CONFIG_JFFS2_FS_POSIX_ACL=y +CONFIG_JFFS2_FS_SECURITY=y +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_RTIME=y +CONFIG_JFFS2_RUBIN=y +# CONFIG_JFFS2_CMODE_NONE is not set +CONFIG_JFFS2_CMODE_PRIORITY=y +# CONFIG_JFFS2_CMODE_SIZE is not set +# CONFIG_JFFS2_CMODE_FAVOURLZO is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +# CONFIG_SQUASHFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +CONFIG_ROMFS_FS=y +CONFIG_ROMFS_BACKED_BY_BLOCK=y +# CONFIG_ROMFS_BACKED_BY_MTD is not set +# CONFIG_ROMFS_BACKED_BY_BOTH is not set +CONFIG_ROMFS_ON_BLOCK=y +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=y +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_UPCALL is not set +# CONFIG_CIFS_XATTR is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DFS_UPCALL is not set +# CONFIG_CIFS_SMB2 is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=y +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7 +# CONFIG_BOOT_PRINTK_DELAY is not set + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_SLAB is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +CONFIG_DEBUG_PREEMPT=y + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_WRITECOUNT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU_DELAY is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_RCU_CPU_STALL_VERBOSE=y +# CONFIG_RCU_CPU_STALL_INFO is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_ENABLE_DEFAULT_TRACERS is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_PROBE_EVENTS is not set + +# +# Runtime Testing +# +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL=y +CONFIG_AT91_DEBUG_LL_DBGU0=y +# CONFIG_DEBUG_LL_UART_NONE is not set +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_SEMIHOSTING is not set +# CONFIG_DEBUG_LL_UART_8250 is not set +# CONFIG_DEBUG_LL_UART_PL01X is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_PL01X is not set +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_EARLY_PRINTK is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_AUTHENC=y +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32=m +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MD5=y +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_SHA1_ARM is not set +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_ARM is not set +CONFIG_CRYPTO_ANUBIS=y +CONFIG_CRYPTO_ARC4=y +CONFIG_CRYPTO_BLOWFISH=y +CONFIG_CRYPTO_BLOWFISH_COMMON=y +# CONFIG_CRYPTO_CAMELLIA is not set +CONFIG_CRYPTO_CAST_COMMON=y +CONFIG_CRYPTO_CAST5=y +CONFIG_CRYPTO_CAST6=y +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=y +CONFIG_CRYPTO_KHAZAD=y +CONFIG_CRYPTO_SALSA20=y +CONFIG_CRYPTO_SEED=y +CONFIG_CRYPTO_SERPENT=y +CONFIG_CRYPTO_TEA=y +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_TWOFISH_COMMON=y + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +CONFIG_CRYPTO_ANSI_CPRNG=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ATMEL_AES is not set +# CONFIG_CRYPTO_DEV_ATMEL_TDES is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +CONFIG_CRC7=m +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_AVERAGE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_OID_REGISTRY=y +# CONFIG_VIRTUALIZATION is not set diff --git a/recipes-kernel/linux/linux-3.12.70/mtcdt/linux-3.12-eeprom-setup-mtcdt.patch b/recipes-kernel/linux/linux-3.12.70/mtcdt/linux-3.12-eeprom-setup-mtcdt.patch new file mode 100644 index 0000000..4075005 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/mtcdt/linux-3.12-eeprom-setup-mtcdt.patch @@ -0,0 +1,164 @@ +Index: linux-3.12.27/arch/arm/mach-at91/board-dt-sam9.c +=================================================================== +--- linux-3.12.27.orig/arch/arm/mach-at91/board-dt-sam9.c 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.27/arch/arm/mach-at91/board-dt-sam9.c 2014-09-24 09:56:17.283867487 -0500 +@@ -25,6 +25,86 @@ + #include "board.h" + #include "generic.h" + ++#include ++ ++uint8_t mts_id_eeprom[512]; ++ ++EXPORT_SYMBOL(mts_id_eeprom); ++ ++static void mts_id_eeprom_load(struct memory_accessor *macc, void *context) ++{ ++ int tmp; ++ ++ memset(mts_id_eeprom, 0, sizeof(mts_id_eeprom)); ++ ++ tmp = macc->read(macc, mts_id_eeprom, 0, sizeof(mts_id_eeprom)); ++ if (tmp != sizeof(mts_id_eeprom)) { ++ printk(KERN_ERR "sam9x5: id eeprom read failed: %d\n", tmp); ++ } else { ++ printk(KERN_INFO "sam9x5: read %d bytes from id eeprom\n", tmp); ++ } ++} ++ ++struct mts_eeprom_callback id_eeprom_callback = { ++ .address = 0x56, ++ .index = -1, ++ .setup = mts_id_eeprom_load, ++}; ++ ++#ifdef CONFIG_MTS_NUM_ACCESSORY_PORTS ++#define NUM_AP CONFIG_MTS_NUM_ACCESSORY_PORTS ++#else ++#define NUM_AP 0 ++#endif ++ ++#if NUM_AP > 0 ++ ++uint8_t mts_ap_eeprom[NUM_AP][512]; ++ ++EXPORT_SYMBOL(mts_ap_eeprom); ++ ++static void mts_ap_eeprom_load(struct memory_accessor *macc, void *context) ++{ ++ int tmp; ++ int* index = (int*)context; ++ ++ memset(mts_ap_eeprom[*index], 0, sizeof(mts_ap_eeprom[*index])); ++ ++ tmp = macc->read(macc, mts_ap_eeprom[*index], 0, sizeof(mts_ap_eeprom[*index])); ++ if (tmp != sizeof(mts_ap_eeprom[*index])) { ++ printk(KERN_INFO "sam9x5: ap%d eeprom read failed: %d\n", *index + 1, tmp); ++ } else { ++ printk(KERN_INFO "sam9x5: read %d bytes from ap%d eeprom\n", tmp, *index + 1); ++ } ++} ++ ++struct mts_eeprom_callback ap1_eeprom_callback = { ++ .address = 0x50, ++ .index = 0, ++ .setup = mts_ap_eeprom_load, ++}; ++ ++struct mts_eeprom_callback ap2_eeprom_callback = { ++ .address = 0x52, ++ .index = 1, ++ .setup = mts_ap_eeprom_load, ++}; ++ ++struct mts_eeprom_callback* mts_eeprom_callback_lookup[] = { ++ &id_eeprom_callback, ++ &ap1_eeprom_callback, ++ &ap2_eeprom_callback, ++ NULL ++}; ++ ++#else ++ ++struct mts_eeprom_callback* mts_eeprom_callback_lookup[] = { ++ &id_eeprom_callback, ++ NULL ++}; ++ ++#endif + + static const struct of_device_id irq_of_match[] __initconst = { + +Index: linux-3.12.27/drivers/misc/eeprom/at24.c +=================================================================== +--- linux-3.12.27.orig/drivers/misc/eeprom/at24.c 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.27/drivers/misc/eeprom/at24.c 2014-09-23 11:41:52.470331651 -0500 +@@ -24,6 +24,8 @@ + #include + #include + ++#include ++ + /* + * I2C EEPROMs from most vendors are inexpensive and mostly interchangeable. + * Differences between different vendor product lines (like Atmel AT24C or +@@ -473,6 +475,23 @@ + chip->page_size = be32_to_cpup(val); + } + } ++ ++static void at24_get_setup(struct i2c_client *client, ++ struct at24_platform_data *chip) ++{ ++ int i; ++ ++ for (i = 0; mts_eeprom_callback_lookup[i] != NULL; i++) { ++ if (mts_eeprom_callback_lookup[i]->address == client->addr) { ++ printk(KERN_INFO "%s: found a match for eeprom at %X\n", __func__, client->addr); ++ chip->setup = mts_eeprom_callback_lookup[i]->setup; ++ if (mts_eeprom_callback_lookup[i]->index > -1) { ++ chip->context = (void*)&mts_eeprom_callback_lookup[i]->index; ++ } ++ break; ++ } ++ } ++} + #else + static void at24_get_ofdata(struct i2c_client *client, + struct at24_platform_data *chip) +@@ -505,12 +524,14 @@ + * is recommended anyhow. + */ + chip.page_size = 1; ++ chip.setup = NULL; ++ chip.context = NULL; + + /* update chipdata if OF is present */ + at24_get_ofdata(client, &chip); + +- chip.setup = NULL; +- chip.context = NULL; ++ /* see if we have a setup callback */ ++ at24_get_setup(client, &chip); + } + + if (!is_power_of_2(chip.byte_len)) +Index: linux-3.12.27/include/linux/mts_at24.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-3.12.27/include/linux/mts_at24.h 2014-09-23 11:41:52.470331651 -0500 +@@ -0,0 +1,14 @@ ++#ifndef _LINUX_MTSAT24_H ++#define _LINUX_MTSAT24_H ++ ++#include ++ ++struct mts_eeprom_callback { ++ unsigned short address; ++ int index; ++ void (*setup)(struct memory_accessor *, void *context); ++}; ++ ++extern struct mts_eeprom_callback* mts_eeprom_callback_lookup[]; ++ ++#endif /* _LINUX_MTSAT24_H */ diff --git a/recipes-kernel/linux/linux-3.12.70/mtcdt/linux-3.12-mtcdt-device-tree.patch b/recipes-kernel/linux/linux-3.12.70/mtcdt/linux-3.12-mtcdt-device-tree.patch new file mode 100644 index 0000000..bea818d --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/mtcdt/linux-3.12-mtcdt-device-tree.patch @@ -0,0 +1,468 @@ +Index: linux-3.12.27/arch/arm/boot/dts/mtcdt.dts +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-3.12.27/arch/arm/boot/dts/mtcdt.dts 2016-09-19 15:34:25.111103538 -0500 +@@ -0,0 +1,279 @@ ++/* ++ * DTS file for Multi-Tech Systems MTCDT Hardware ++ */ ++ ++/dts-v1/; ++#include "at91sam9g25.dtsi" ++#include "at91sam9x5ek.dtsi" ++ ++/ { ++ model = "Multi-Tech Systems MTCDT"; ++ compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; ++ ++ ahb { ++ apb { ++ macb0: ethernet@f802c000 { ++ phy-mode = "rmii"; ++ status = "okay"; ++ }; ++ ++ pinctrl@fffff400 { ++ nand { ++ pinctrl_nand: nand-0 { ++ atmel,pins = ++ ; /* PD13 periph A Data bit 7 */ ++ }; ++ ++ pinctrl_nand_16bits: nand_16bits-0 { ++ atmel,pins = ++ ; /* PD21 periph A Data bit 15 */ ++ }; ++ }; ++ ++ mmc1 { ++ pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 { ++ atmel,pins = ++ ; /* PA11 periph B with pullup */ ++ }; ++ ++ pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { ++ atmel,pins = ++ ; /* PA4 periph B with pullup */ ++ }; ++ }; ++ }; ++ ++ rtc@fffffeb0 { ++ status = "okay"; ++ }; ++ ++ i2c0: i2c@f8010000 { ++ compatible = "i2c-gpio"; ++ status = "okay"; ++ ++ id_eeprom@56 { ++ compatible = "atmel,24c04"; ++ reg = <0x56>; ++ pagesize = <16>; ++ }; ++ board_temp@48 { ++ compatible = "ti,tmp102"; ++ reg = <0x48>; ++ /* tempsensor_alert line running to pin PC19 on processor ++ set up an interrupt for this? */ ++ }; ++ }; ++ ++ i2c1: i2c@f8014000 { ++ compatible = "i2c-gpio"; ++ status = "okay"; ++ ++ ap1_eeprom@50 { ++ compatible = "atmel,24c04"; ++ reg = <0x50>; ++ pagesize = <16>; ++ }; ++ ap2_eeprom@52 { ++ compatible = "atmel,24c04"; ++ reg = <0x52>; ++ pagesize = <16>; ++ }; ++ }; ++ ++ /* runs to Accessory Port 1 */ ++ spi0: spi@f0000000 { ++ status = "okay"; ++ cs-gpios = <&pioA 4 0>, <&pioA 2 0>, <&pioA 3 0>, <&pioA 5 0>; ++ ++ ap1-adc@0 { ++ compatible = "mts-io-ap1-adc"; ++ spi-max-frequency = <20000000>; ++ reg = <0>; ++ }; ++ ap1-dout@1 { ++ compatible = "mts-io-ap1-dout"; ++ spi-max-frequency = <1000000>; ++ reg = <1>; ++ }; ++ ap1-spi@2 { ++ compatible = "spidev"; ++ spi-max-frequency = <2000000>; ++ reg = <2>; ++ }; ++ ap1-din@3 { ++ compatible = "mts-io-ap1-din"; ++ spi-max-frequency = <1000000>; ++ reg = <3>; ++ }; ++ }; ++ ++ /* runs to Accessory Port 2 */ ++ spi1: spi@f0004000 { ++ status = "okay"; ++ ++ cs-gpios = <&pioC 15 0>, <&pioC 16 0>, <&pioC 17 0>, <&pioC 18 0>; ++ ++ ap2-adc@0 { ++ compatible = "mts-io-ap2-adc"; ++ spi-max-frequency = <20000000>; ++ reg = <0>; ++ }; ++ ap2-dout@1 { ++ compatible = "mts-io-ap2-dout"; ++ spi-max-frequency = <1000000>; ++ reg = <1>; ++ }; ++ ap2-spi@2 { ++ compatible = "spidev"; ++ spi-max-frequency = <2000000>; ++ reg = <2>; ++ }; ++ ap2-din@3 { ++ compatible = "mts-io-ap2-din"; ++ spi-max-frequency = <1000000>; ++ reg = <3>; ++ }; ++ }; ++ }; ++ ++ nand0: nand@40000000 { ++ reg = < 0x40000000 0x10000000 ++ 0xffffe000 0x600 /* PMECC Registers */ ++ 0xffffe600 0x200 /* PMECC Error Location Registers */ ++ 0x00100000 0x100000 /* PMECC looup table in ROM code */ ++ >; ++ atmel,pmecc-lookup-table-offset = <0x8000 0x10000>; ++ gpios = < &pioC 31 GPIO_ACTIVE_HIGH ++ &pioD 4 GPIO_ACTIVE_HIGH ++ 0 ++ >; ++ atmel,pmecc-cap = <4>; ++ atmel,nand-has-dma; ++ ++ nand@0 { ++ label = "NANDFlash"; ++ reg = <0x0 0x10000000>; ++ }; ++ at91bootstrap@0 { ++ label = "at91bootstrap"; ++ reg = <0x0 0x40000>; ++ }; ++ uboot@40000 { ++ label = "u-Boot"; ++ reg = <0x40000 0x80000>; ++ }; ++ ubootconfig0@c0000 { ++ label = "u-Boot Config"; ++ reg = <0xc0000 0xa0000>; ++ }; ++ ubootconfig1@160000 { ++ label = "u-Boot Redundant Config"; ++ reg = <0x160000 0xa0000>; ++ }; ++ uImage@200000 { ++ label = "uImage"; ++ reg = <0x200000 0x600000>; ++ }; ++ config0@800000 { ++ label = "Config"; ++ reg = <0x800000 0x800000>; ++ }; ++ config1@1000000 { ++ label = "OEM Config"; ++ reg = <0x1000000 0x800000>; ++ }; ++ rootfs@1800000 { ++ label = "Rootfs"; ++ reg = <0x1800000 0xe800000>; ++ }; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ pa24 { ++ label = "led-status"; ++ gpios = <&pioA 24 GPIO_ACTIVE_LOW>; ++ linux,default-trigger = "default-on"; ++ }; ++ pa25 { ++ label = "led-a"; ++ gpios = <&pioA 25 GPIO_ACTIVE_LOW>; ++ }; ++ pa26 { ++ label = "led-b"; ++ gpios = <&pioA 26 GPIO_ACTIVE_LOW>; ++ }; ++ pa27 { ++ label = "led-c"; ++ gpios = <&pioA 27 GPIO_ACTIVE_LOW>; ++ }; ++ pa28 { ++ label = "led-d"; ++ gpios = <&pioA 28 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++ ++ /* GPS-PPS input on AP1 */ ++ pps { ++ compatible = "pps-gpio"; ++ gpios = <&pioA 29 0>; ++ capture-clear; ++ }; ++ ++ ++ i2c@0 { ++ status = "okay"; ++ ++ id_eeprom@56 { ++ compatible = "atmel,24c04"; ++ reg = <0x56>; ++ pagesize = <16>; ++ }; ++ board_temp@48 { ++ compatible = "ti,tmp102"; ++ reg = <0x48>; ++ /* tempsensor_alert line running to pin PC19 on processor ++ set up an interrupt for this? */ ++ }; ++ }; ++ i2c@1 { ++ status = "okay"; ++ ++ ap1_eeprom@50 { ++ compatible = "atmel,24c04"; ++ reg = <0x50>; ++ pagesize = <16>; ++ }; ++ ap2_eeprom@52 { ++ compatible = "atmel,24c04"; ++ reg = <0x52>; ++ pagesize = <16>; ++ }; ++ }; ++}; +Index: linux-3.12.27/arch/arm/boot/dts/at91sam9x5cm.dtsi +=================================================================== +--- linux-3.12.27.orig/arch/arm/boot/dts/at91sam9x5cm.dtsi 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.27/arch/arm/boot/dts/at91sam9x5cm.dtsi 2015-01-13 13:58:20.766078428 -0600 +@@ -40,48 +40,8 @@ + atmel,has-pmecc; /* Enable PMECC */ + atmel,pmecc-cap = <2>; + atmel,pmecc-sector-size = <512>; +- nand-on-flash-bbt; ++ /* nand-on-flash-bbt; */ + status = "okay"; +- +- at91bootstrap@0 { +- label = "at91bootstrap"; +- reg = <0x0 0x40000>; +- }; +- +- uboot@40000 { +- label = "u-boot"; +- reg = <0x40000 0x80000>; +- }; +- +- ubootenv@c0000 { +- label = "U-Boot Env"; +- reg = <0xc0000 0x140000>; +- }; +- +- kernel@200000 { +- label = "kernel"; +- reg = <0x200000 0x600000>; +- }; +- +- rootfs@800000 { +- label = "rootfs"; +- reg = <0x800000 0x1f800000>; +- }; +- }; +- }; +- +- leds { +- compatible = "gpio-leds"; +- +- pb18 { +- label = "pb18"; +- gpios = <&pioB 18 GPIO_ACTIVE_LOW>; +- linux,default-trigger = "heartbeat"; +- }; +- +- pd21 { +- label = "pd21"; +- gpios = <&pioD 21 GPIO_ACTIVE_HIGH>; + }; + }; + +@@ -93,5 +53,4 @@ + pinctrl-0 = <&pinctrl_1wire_cm>; + status = "okay"; + }; +- + }; +Index: linux-3.12.27/arch/arm/boot/dts/at91sam9x5ek.dtsi +=================================================================== +--- linux-3.12.27.orig/arch/arm/boot/dts/at91sam9x5ek.dtsi 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.27/arch/arm/boot/dts/at91sam9x5ek.dtsi 2015-01-15 14:57:35.931862696 -0600 +@@ -24,23 +24,11 @@ + &pinctrl_mmc0_slot0_clk_cmd_dat0 + &pinctrl_mmc0_slot0_dat1_3>; + status = "okay"; ++ /* external micro SD slot */ + slot@0 { + reg = <0>; + bus-width = <4>; +- cd-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>; +- }; +- }; +- +- mmc1: mmc@f000c000 { +- pinctrl-0 = < +- &pinctrl_board_mmc1 +- &pinctrl_mmc1_slot0_clk_cmd_dat0 +- &pinctrl_mmc1_slot0_dat1_3>; +- status = "okay"; +- slot@0 { +- reg = <0>; +- bus-width = <4>; +- cd-gpios = <&pioD 14 GPIO_ACTIVE_HIGH>; ++ cd-gpios = <&pioA 1 GPIO_ACTIVE_HIGH>; + }; + }; + +@@ -48,22 +36,13 @@ + status = "okay"; + }; + +- usart0: serial@f801c000 { ++ uart0: serial@f8040000 { + status = "okay"; + }; + + usb2: gadget@f803c000 { +- atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>; +- status = "okay"; +- }; +- +- i2c0: i2c@f8010000 { ++ /* atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>; mtcdt: no vbus-gpio */ + status = "okay"; +- +- wm8731: wm8731@1a { +- compatible = "wm8731"; +- reg = <0x1a>; +- }; + }; + + pinctrl@fffff400 { +@@ -82,51 +61,24 @@ + }; + }; + +- spi0: spi@f0000000 { +- status = "okay"; +- cs-gpios = <&pioA 14 0>, <0>, <0>, <0>; +- m25p80@0 { +- compatible = "atmel,at25df321a"; +- spi-max-frequency = <50000000>; +- reg = <0>; +- }; +- }; +- + watchdog@fffffe40 { + status = "okay"; + }; + +- ssc0: ssc@f0010000 { +- status = "okay"; +- }; + }; + + usb0: ohci@00600000 { + status = "okay"; + num-ports = <3>; +- atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */ +- &pioD 19 GPIO_ACTIVE_LOW +- &pioD 20 GPIO_ACTIVE_LOW +- >; ++ //mtcdt: no vbus-gpio ++ //atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */ ++ // &pioD 19 GPIO_ACTIVE_LOW ++ // &pioD 20 GPIO_ACTIVE_LOW ++ // >; + }; + + usb1: ehci@00700000 { + status = "okay"; + }; + }; +- +- sound { +- compatible = "atmel,sam9x5-wm8731-audio"; +- +- atmel,model = "wm8731 @ AT91SAM9X5EK"; +- +- atmel,audio-routing = +- "Headphone Jack", "RHPOUT", +- "Headphone Jack", "LHPOUT", +- "LLINEIN", "Line In Jack", +- "RLINEIN", "Line In Jack"; +- +- atmel,ssc-controller = <&ssc0>; +- atmel,audio-codec = <&wm8731>; +- }; + }; +Index: linux-3.12.27/arch/arm/boot/dts/Makefile +=================================================================== +--- linux-3.12.27.orig/arch/arm/boot/dts/Makefile 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.27/arch/arm/boot/dts/Makefile 2015-01-13 13:58:20.766078428 -0600 +@@ -35,6 +35,7 @@ + dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb + dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb + dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb ++dtb-$(CONFIG_ARCH_AT91) += mtcdt.dtb + # sama5d3 + dtb-$(CONFIG_ARCH_AT91) += sama5d31ek.dtb + dtb-$(CONFIG_ARCH_AT91) += sama5d33ek.dtb diff --git a/recipes-kernel/linux/linux-3.12.70/option.patch b/recipes-kernel/linux/linux-3.12.70/option.patch new file mode 100644 index 0000000..6f07a87 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.70/option.patch @@ -0,0 +1,20 @@ +Index: linux-3.12.70/drivers/usb/serial/option.c +=================================================================== +--- linux-3.12.70.orig/drivers/usb/serial/option.c 2014-08-26 07:12:26.000000000 -0500 ++++ linux-3.12.70/drivers/usb/serial/option.c 2017-02-02 16:39:53.522427060 -0600 +@@ -268,6 +268,7 @@ + #define TELIT_PRODUCT_CC864_DUAL 0x1005 + #define TELIT_PRODUCT_CC864_SINGLE 0x1006 + #define TELIT_PRODUCT_DE910_DUAL 0x1010 ++#define TELIT_PRODUCT_CE910_DUAL 0x1011 + #define TELIT_PRODUCT_UE910_V2 0x1012 + #define TELIT_PRODUCT_LE922_USBCFG1 0x1040 + #define TELIT_PRODUCT_LE922_USBCFG2 0x1041 +@@ -1211,6 +1212,7 @@ + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_DUAL) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_SINGLE) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_DE910_DUAL) }, ++ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CE910_DUAL) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UE910_V2) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG0), + .driver_info = (kernel_ulong_t)&telit_le922_blacklist_usbcfg0 }, diff --git a/recipes-kernel/linux/linux_3.12.27.bb b/recipes-kernel/linux/linux_3.12.27.bb deleted file mode 100644 index 5f1851d..0000000 --- a/recipes-kernel/linux/linux_3.12.27.bb +++ /dev/null @@ -1,72 +0,0 @@ -inherit kernel -# mts class to build dtb and append to kernel image -inherit linux-append-dtb - -PR = "r13" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" - -DEPENDS += "xz-native bc-native" - -SRC_URI = "https://www.kernel.org/pub/linux/kernel/v3.x/linux-${PV}.tar.gz \ -" - -S = "${WORKDIR}/${PN}-${PV}" - -COMMON_PATCHES = " \ - file://linux-3.12-gpio-expose-pullups.patch \ - file://linux-3.12-gpio-expose-deglitch.patch \ - file://linux-3.12-atmel-spi.patch \ - file://linux-3.12-atmel-mci-force-detect.patch \ - file://linux-3.12-atmel-pmecc-debug-bitflips.patch \ - file://linux-3.12-at91sam9_wdt-10second-timeout.patch \ - file://linux-3.12.27-option-telit.patch \ - file://linux-3.12-cdc-acm-ignore-exar-devices.patch \ - file://linux-3.12-release-rfcomm-port-fix.patch \ - file://linux-3.12-spi-atmel-dma-min.patch \ - file://linux-3.12.27-USB-option-reduce-interrupt-urb-logging-verbosity.patch \ - file://linux-3.12-pps-gpio.patch \ - file://linux-3.12-cadence-macb.patch \ - file://linux-3.12-time-leap-second-v3.patch \ - " - -SRC_URI_append_mtcdt = "\ - ${COMMON_PATCHES} \ - file://defconfig \ - file://linux-3.12-eeprom-setup-mtcdt.patch \ - file://linux-3.12-mtcdt-device-tree.patch \ - file://linux-3.12-add-num_accessory_ports-config-option.patch \ - file://linux-3.12-usb-serial-simple-telit.patch \ - " - -SRC_URI_append_mtcap = "\ - ${COMMON_PATCHES} \ - file://defconfig \ - file://linux-3.12-eeprom-setup-mtcdt.patch \ - file://linux-3.12-mtcap-device-tree.patch \ - file://linux-3.12-add-num_accessory_ports-config-option.patch \ - " - -SRC_URI[md5sum] = "2f05332bfca89ae1348ae454af2f5ffb" -SRC_URI[sha256sum] = "2014c55257dda311779359d6b42931079a687c154777cc528c44e25f262194cd" - -COMPATIBLE_MACHINE = "(mtcdt|mtcap)" -DTB_APPEND_mtcdt = "mtcdt" -DTB_APPEND_mtcap = "mtcap" -do_patch_append() { - # Makefile location - makefl="${S}" + "/Makefile" - # String to find: EXTRAVERSION = - original="'^(.*EXTRAVERSION[[:space:]]*=)[[:space:]]*'" - # Update for string Copy variable = and set to PR version - upd="'\\1 " + "${PR}" + "'" - # Use sed to write the data to the file. - print "Setting EXTRAVERSION to ${PR}\n" - os.system("sed -ri -e s/" + original + "/" + upd + "/ " + makefl) -} - -# disable this on purpose for dev purposes -do_rm_work() { - echo "skipping" -} diff --git a/recipes-kernel/linux/linux_3.12.27.bb.old b/recipes-kernel/linux/linux_3.12.27.bb.old new file mode 100644 index 0000000..5f1851d --- /dev/null +++ b/recipes-kernel/linux/linux_3.12.27.bb.old @@ -0,0 +1,72 @@ +inherit kernel +# mts class to build dtb and append to kernel image +inherit linux-append-dtb + +PR = "r13" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" + +DEPENDS += "xz-native bc-native" + +SRC_URI = "https://www.kernel.org/pub/linux/kernel/v3.x/linux-${PV}.tar.gz \ +" + +S = "${WORKDIR}/${PN}-${PV}" + +COMMON_PATCHES = " \ + file://linux-3.12-gpio-expose-pullups.patch \ + file://linux-3.12-gpio-expose-deglitch.patch \ + file://linux-3.12-atmel-spi.patch \ + file://linux-3.12-atmel-mci-force-detect.patch \ + file://linux-3.12-atmel-pmecc-debug-bitflips.patch \ + file://linux-3.12-at91sam9_wdt-10second-timeout.patch \ + file://linux-3.12.27-option-telit.patch \ + file://linux-3.12-cdc-acm-ignore-exar-devices.patch \ + file://linux-3.12-release-rfcomm-port-fix.patch \ + file://linux-3.12-spi-atmel-dma-min.patch \ + file://linux-3.12.27-USB-option-reduce-interrupt-urb-logging-verbosity.patch \ + file://linux-3.12-pps-gpio.patch \ + file://linux-3.12-cadence-macb.patch \ + file://linux-3.12-time-leap-second-v3.patch \ + " + +SRC_URI_append_mtcdt = "\ + ${COMMON_PATCHES} \ + file://defconfig \ + file://linux-3.12-eeprom-setup-mtcdt.patch \ + file://linux-3.12-mtcdt-device-tree.patch \ + file://linux-3.12-add-num_accessory_ports-config-option.patch \ + file://linux-3.12-usb-serial-simple-telit.patch \ + " + +SRC_URI_append_mtcap = "\ + ${COMMON_PATCHES} \ + file://defconfig \ + file://linux-3.12-eeprom-setup-mtcdt.patch \ + file://linux-3.12-mtcap-device-tree.patch \ + file://linux-3.12-add-num_accessory_ports-config-option.patch \ + " + +SRC_URI[md5sum] = "2f05332bfca89ae1348ae454af2f5ffb" +SRC_URI[sha256sum] = "2014c55257dda311779359d6b42931079a687c154777cc528c44e25f262194cd" + +COMPATIBLE_MACHINE = "(mtcdt|mtcap)" +DTB_APPEND_mtcdt = "mtcdt" +DTB_APPEND_mtcap = "mtcap" +do_patch_append() { + # Makefile location + makefl="${S}" + "/Makefile" + # String to find: EXTRAVERSION = + original="'^(.*EXTRAVERSION[[:space:]]*=)[[:space:]]*'" + # Update for string Copy variable = and set to PR version + upd="'\\1 " + "${PR}" + "'" + # Use sed to write the data to the file. + print "Setting EXTRAVERSION to ${PR}\n" + os.system("sed -ri -e s/" + original + "/" + upd + "/ " + makefl) +} + +# disable this on purpose for dev purposes +do_rm_work() { + echo "skipping" +} diff --git a/recipes-kernel/linux/linux_3.12.27.bb.orig b/recipes-kernel/linux/linux_3.12.27.bb.orig new file mode 100644 index 0000000..1d82e66 --- /dev/null +++ b/recipes-kernel/linux/linux_3.12.27.bb.orig @@ -0,0 +1,59 @@ +inherit kernel +# mts class to build dtb and append to kernel image +inherit linux-append-dtb + +PR = "r12" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" + +DEPENDS += "xz-native bc-native" + +SRC_URI = "https://www.kernel.org/pub/linux/kernel/v3.x/linux-${PV}.tar.gz \ +" + +S = "${WORKDIR}/${PN}-${PV}" + +COMMON_PATCHES = " \ + file://linux-3.12-gpio-expose-pullups.patch \ + file://linux-3.12-gpio-expose-deglitch.patch \ + file://linux-3.12-atmel-spi.patch \ + file://linux-3.12-atmel-mci-force-detect.patch \ + file://linux-3.12-atmel-pmecc-debug-bitflips.patch \ + file://linux-3.12-at91sam9_wdt-10second-timeout.patch \ + file://linux-3.12.27-option-telit.patch \ + file://linux-3.12-cdc-acm-ignore-exar-devices.patch \ + file://linux-3.12-release-rfcomm-port-fix.patch \ + file://linux-3.12-spi-atmel-dma-min.patch \ + file://linux-3.12.27-USB-option-reduce-interrupt-urb-logging-verbosity.patch \ + file://linux-3.12-pps-gpio.patch \ + file://linux-3.12-cadence-macb.patch \ + " + +SRC_URI_append_mtcdt = "\ + ${COMMON_PATCHES} \ + file://defconfig \ + file://linux-3.12-eeprom-setup-mtcdt.patch \ + file://linux-3.12-mtcdt-device-tree.patch \ + file://linux-3.12-add-num_accessory_ports-config-option.patch \ + " + +SRC_URI_append_mtcap = "\ + ${COMMON_PATCHES} \ + file://defconfig \ + file://linux-3.12-eeprom-setup-mtcdt.patch \ + file://linux-3.12-mtcap-device-tree.patch \ + file://linux-3.12-add-num_accessory_ports-config-option.patch \ + " + +SRC_URI[md5sum] = "2f05332bfca89ae1348ae454af2f5ffb" +SRC_URI[sha256sum] = "2014c55257dda311779359d6b42931079a687c154777cc528c44e25f262194cd" + +COMPATIBLE_MACHINE = "(mtcdt|mtcap)" +DTB_APPEND_mtcdt = "mtcdt" +DTB_APPEND_mtcap = "mtcap" + +# disable this on purpose for dev purposes +do_rm_work() { + echo "skipping" +} diff --git a/recipes-kernel/linux/linux_3.12.70.bb b/recipes-kernel/linux/linux_3.12.70.bb new file mode 100644 index 0000000..47fa821 --- /dev/null +++ b/recipes-kernel/linux/linux_3.12.70.bb @@ -0,0 +1,58 @@ +inherit kernel +# mts class to build dtb and append to kernel image +inherit linux-append-dtb + +PR = "r12" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" + +DEPENDS += "xz-native bc-native" + +SRC_URI = "https://www.kernel.org/pub/linux/kernel/v3.x/linux-${PV}.tar.gz \ +" + +S = "${WORKDIR}/${PN}-${PV}" + +COMMON_PATCHES = " \ + file://linux-3.12-gpio-expose-pullups.patch \ + file://linux-3.12-gpio-expose-deglitch.patch \ + file://linux-3.12-atmel-spi.patch \ + file://linux-3.12-atmel-mci-force-detect.patch \ + file://linux-3.12-atmel-pmecc-debug-bitflips.patch \ + file://linux-3.12-at91sam9_wdt-10second-timeout.patch \ + file://linux-3.12.27-option-telit.patch \ + file://linux-3.12-cdc-acm-ignore-exar-devices.patch \ + file://linux-3.12-release-rfcomm-port-fix.patch \ + file://linux-3.12-spi-atmel-dma-min.patch \ + file://linux-3.12-pps-gpio.patch \ + file://linux-3.12-cadence-macb.patch \ + " + +SRC_URI_append_mtcdt = "\ + ${COMMON_PATCHES} \ + file://defconfig \ + file://linux-3.12-eeprom-setup-mtcdt.patch \ + file://linux-3.12-mtcdt-device-tree.patch \ + file://linux-3.12-add-num_accessory_ports-config-option.patch \ + " + +SRC_URI_append_mtcap = "\ + ${COMMON_PATCHES} \ + file://defconfig \ + file://linux-3.12-eeprom-setup-mtcdt.patch \ + file://linux-3.12-mtcap-device-tree.patch \ + file://linux-3.12-add-num_accessory_ports-config-option.patch \ + " + +SRC_URI[md5sum] = "84b573a1583079df1e770210daa6c525" +SRC_URI[sha256sum] = "af56c7ba98a0ba0c3722d9ec7106830996610e6fd88e4b0c6b2b92dab88d7653" + +COMPATIBLE_MACHINE = "(mtcdt|mtcap)" +DTB_APPEND_mtcdt = "mtcdt" +DTB_APPEND_mtcap = "mtcap" + +# disable this on purpose for dev purposes +do_rm_work() { + echo "skipping" +} -- cgit v1.2.3 From 60a0a371e51f2a81553e011c87989dc048311707 Mon Sep 17 00:00:00 2001 From: Jeff Hatch Date: Mon, 13 Feb 2017 16:37:06 -0600 Subject: Fix at91bootstrap-3.5.3 build on Yocto 2.1 (krogoth) --- ...strap-3.5.2-onetime-slow-clock-switch.patch.swp | Bin 12288 -> 0 bytes .../at91bootstrap-3.5.3-remove-std-includes.patch | 12 +++++++++ recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb | 30 +++++++++++++++++++++ .../at91bootstrap/at91bootstrap_3.5.3.bb.orig | 30 --------------------- 4 files changed, 42 insertions(+), 30 deletions(-) delete mode 100644 recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp create mode 100644 recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-remove-std-includes.patch create mode 100644 recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb delete mode 100644 recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig diff --git a/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp b/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp deleted file mode 100644 index f31477d..0000000 Binary files a/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp and /dev/null differ diff --git a/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-remove-std-includes.patch b/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-remove-std-includes.patch new file mode 100644 index 0000000..01920c2 --- /dev/null +++ b/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-remove-std-includes.patch @@ -0,0 +1,12 @@ +Index: at91bootstrap-3.5.3/driver/debug.c +=================================================================== +--- at91boostrap-3.5.3.orig/driver/debug.c.orig 2017-02-13 16:14:17.214217038 -0600 ++++ at91boostrap-3.5.3/driver/debug.c 2017-02-13 15:48:44.106262425 -0600 +@@ -27,7 +27,6 @@ + */ + #include "dbgu.h" + #include "debug.h" +-#include + #include + + #define MAX_BUFFER 128 diff --git a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb new file mode 100644 index 0000000..2e5f086 --- /dev/null +++ b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb @@ -0,0 +1,30 @@ +require at91bootstrap_3.5.inc + +PR = "r3" + +LICENSE = "custom-freely-distributable" +LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6fca71334c9e8b7d033296123c91437f" + +SRCREV = "v${PV}" +SRC_URI = "git://github.com/linux4sam/at91bootstrap \ + file://at91bootstrap-3.5.2-add-install.patch \ + file://at91bootstrap-3.5.2-onetime-slow-clock-switch.patch \ + file://at91sam9x5_4bit_pmecc_header.bin \ + file://at91bootstrap-3.5.3-disable-rtc-interrupts.patch" + +S = "${WORKDIR}/git" + +SRC_URI_append_mtcdt = " file://at91bootstrap-3.5.3-mtcdt.patch " +SRC_URI_append_mtcap = " file://at91bootstrap-3.5.3-mtcdt.patch " + +# 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() { + do_pad_4bit_pmecc +} + diff --git a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig deleted file mode 100644 index 2e5f086..0000000 --- a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig +++ /dev/null @@ -1,30 +0,0 @@ -require at91bootstrap_3.5.inc - -PR = "r3" - -LICENSE = "custom-freely-distributable" -LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6fca71334c9e8b7d033296123c91437f" - -SRCREV = "v${PV}" -SRC_URI = "git://github.com/linux4sam/at91bootstrap \ - file://at91bootstrap-3.5.2-add-install.patch \ - file://at91bootstrap-3.5.2-onetime-slow-clock-switch.patch \ - file://at91sam9x5_4bit_pmecc_header.bin \ - file://at91bootstrap-3.5.3-disable-rtc-interrupts.patch" - -S = "${WORKDIR}/git" - -SRC_URI_append_mtcdt = " file://at91bootstrap-3.5.3-mtcdt.patch " -SRC_URI_append_mtcap = " file://at91bootstrap-3.5.3-mtcdt.patch " - -# 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() { - do_pad_4bit_pmecc -} - -- cgit v1.2.3 From a62ea99278768fd40a5d4407a92674fc29899c4e Mon Sep 17 00:00:00 2001 From: Jeff Hatch Date: Tue, 28 Feb 2017 10:16:23 -0600 Subject: add bootstrap back into image --- conf/machine/mtcdt.conf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index 5931df8..3437c62 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -30,8 +30,7 @@ KERNEL_IMAGETYPE = "uImage" # remove kernel-image from rootfs by overriding kernel-base DEPS RDEPENDS_kernel-base = "" -#EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot" -EXTRA_IMAGEDEPENDS += "u-boot" +EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot" IMAGE_FSTYPES =+ "jffs2 tar.gz" EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 -n" -- cgit v1.2.3 From 38d88388671f21e1da45b115b43c614b732315ef Mon Sep 17 00:00:00 2001 From: Jeff Hatch Date: Mon, 6 Mar 2017 15:15:15 -0600 Subject: Change compiler to 4.93 from 5.3 --- conf/machine/mtcdt.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index 3437c62..2797803 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -39,3 +39,5 @@ UBOOT_ENTRYPOINT = "0x20008000" UBOOT_LOADADDRESS = "0x20008000" PREFERRED_VERSION_rs9113 = '1.5.0' + +GCCVERSION = "4.9.3" -- cgit v1.2.3 From 1e2c9df9e52a47ebc1340e9ea15760fb1785e275 Mon Sep 17 00:00:00 2001 From: Jeff Hatch Date: Mon, 6 Mar 2017 15:30:06 -0600 Subject: Move back to the old 2012.10 u-boot since it is building with 4.9 compiler --- recipes-bsp/u-boot/u-boot_2012.10.bb | 42 +++++++++++++++++++++++++++++++ recipes-bsp/u-boot/u-boot_2012.10.bb.orig | 42 ------------------------------- 2 files changed, 42 insertions(+), 42 deletions(-) create mode 100644 recipes-bsp/u-boot/u-boot_2012.10.bb delete mode 100644 recipes-bsp/u-boot/u-boot_2012.10.bb.orig diff --git a/recipes-bsp/u-boot/u-boot_2012.10.bb b/recipes-bsp/u-boot/u-boot_2012.10.bb new file mode 100644 index 0000000..51cd565 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot_2012.10.bb @@ -0,0 +1,42 @@ +PR = "r7" +require u-boot.inc + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb" + +DEFAULT_PREFERENCE = "-1" + +# U-Boot 2012.10 for AT91 +# tag: linux4sam_4.0 +SRCREV="8978bdafbad84c0c9878c9ff331930ca6edf9a76" + +SRC_URI = "git://github.com/linux4sam/u-boot-at91.git;branch=u-boot-2012.10-at91 \ + file://u-boot-2012.10-sam9x5-eth-mii-fix.patch \ + file://u-boot-env-crc-dbg.patch \ + " + +# add patch to speed up boot if ethernet autonegotiation fails +SRC_URI += "file://u-boot-2010.06-macb-autoneg-timeout.patch" +# add password protection patch +SRC_URI += "file://u-boot-2012.10-pwd.patch" + +SRC_URI_append_mtcdt = " file://u-boot-2012.10-mtcdt.patch" +SRC_URI_append_mtcap = " file://u-boot-2012.10-mtcdt.patch" + +TARGET_LDFLAGS = "" + +S = "${WORKDIR}/git" + +inherit base + +do_configure_prepend() { + mv -f tools/setlocalversion tools/setlocalversion.old + echo -e "#!/bin/sh\necho '-${MACHINE}-${PR}'" > tools/setlocalversion + chmod a+rx tools/setlocalversion +} + +do_compile () { + oe_runmake ${UBOOT_MACHINE} + oe_runmake all +} + diff --git a/recipes-bsp/u-boot/u-boot_2012.10.bb.orig b/recipes-bsp/u-boot/u-boot_2012.10.bb.orig deleted file mode 100644 index 51cd565..0000000 --- a/recipes-bsp/u-boot/u-boot_2012.10.bb.orig +++ /dev/null @@ -1,42 +0,0 @@ -PR = "r7" -require u-boot.inc - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb" - -DEFAULT_PREFERENCE = "-1" - -# U-Boot 2012.10 for AT91 -# tag: linux4sam_4.0 -SRCREV="8978bdafbad84c0c9878c9ff331930ca6edf9a76" - -SRC_URI = "git://github.com/linux4sam/u-boot-at91.git;branch=u-boot-2012.10-at91 \ - file://u-boot-2012.10-sam9x5-eth-mii-fix.patch \ - file://u-boot-env-crc-dbg.patch \ - " - -# add patch to speed up boot if ethernet autonegotiation fails -SRC_URI += "file://u-boot-2010.06-macb-autoneg-timeout.patch" -# add password protection patch -SRC_URI += "file://u-boot-2012.10-pwd.patch" - -SRC_URI_append_mtcdt = " file://u-boot-2012.10-mtcdt.patch" -SRC_URI_append_mtcap = " file://u-boot-2012.10-mtcdt.patch" - -TARGET_LDFLAGS = "" - -S = "${WORKDIR}/git" - -inherit base - -do_configure_prepend() { - mv -f tools/setlocalversion tools/setlocalversion.old - echo -e "#!/bin/sh\necho '-${MACHINE}-${PR}'" > tools/setlocalversion - chmod a+rx tools/setlocalversion -} - -do_compile () { - oe_runmake ${UBOOT_MACHINE} - oe_runmake all -} - -- cgit v1.2.3 From e0414abb73986920c6a67c88f25ba7f5a678e9dd Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 24 Mar 2017 17:03:53 -0500 Subject: krogoth neglects setting ARMPKGSFX_THUMB to "t" --- conf/machine/mtcdt.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index 2797803..b629f13 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -14,6 +14,7 @@ PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" DEFAULTTUNE = "arm926ejs" TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s" TUNE_FEATURES = "arm armv5 thumb dsp arm926ejs" +ARMPKGSFX_THUMB="t" # used by sysvinit_2 SERIAL_CONSOLES = "115200;ttyS0" -- cgit v1.2.3 From 0ff45762d6623815eebd5f2e29ef97a590c0a3e6 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 19 Apr 2017 14:06:46 -0500 Subject: Open JDK 8 --- recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig b/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig index 028f41d..9f5265e 100644 --- a/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig +++ b/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig @@ -963,7 +963,7 @@ CONFIG_MTD_CFI_I2=y # Self-contained MTD device drivers # # CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_M25P80 is not set +CONFIG_MTD_M25P80=m # CONFIG_MTD_SST25L is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set -- cgit v1.2.3 From 57f6d25c072c046aafb87e730bc0ba72abedba84 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 19 Apr 2017 14:35:00 -0500 Subject: kernel version --- conf/machine/mtcap.conf | 2 +- conf/machine/mtcdt.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/machine/mtcap.conf b/conf/machine/mtcap.conf index 18343bd..68bb1b2 100644 --- a/conf/machine/mtcap.conf +++ b/conf/machine/mtcap.conf @@ -6,7 +6,7 @@ require conf/machine/include/tune-arm926ejs.inc MACHINE_FEATURES = "ext2 ext3 usbhost usbgadget ppp" PREFERRED_PROVIDER_virtual/kernel = "linux" -PREFERRED_VERSION_linux = "3.12.27" +PREFERRED_VERSION_linux = "3.12.%" MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini" PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index b629f13..a4e1ba7 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -6,7 +6,7 @@ require conf/machine/include/tune-arm926ejs.inc MACHINE_FEATURES = "ext2 ext3 usbhost usbgadget ppp" PREFERRED_PROVIDER_virtual/kernel = "linux" -PREFERRED_VERSION_linux = "3.12.27" +PREFERRED_VERSION_linux = "3.12.%" MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini" PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" -- cgit v1.2.3 From 0e6e2e355d7ec268b48b659c5669a737057fc4e1 Mon Sep 17 00:00:00 2001 From: John Klug Date: Tue, 2 May 2017 18:15:28 -0500 Subject: u-boot 2016.03 patches. Unfinished. --- recipes-bsp/u-boot/u-boot-2016.03/mtcdt/i2c.patch | 114 ++++++++ .../u-boot/u-boot-2016.03/mtcdt/mtcdt.patch | 320 +++++++++++++++++++++ recipes-bsp/u-boot/u-boot-2016.03/mtcdt/spl.patch | 12 + recipes-bsp/u-boot/u-boot.inc | 10 +- recipes-bsp/u-boot/u-boot_2016.03.bb | 5 + 5 files changed, 456 insertions(+), 5 deletions(-) create mode 100644 recipes-bsp/u-boot/u-boot-2016.03/mtcdt/i2c.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.03/mtcdt/mtcdt.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.03/mtcdt/spl.patch diff --git a/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/i2c.patch b/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/i2c.patch new file mode 100644 index 0000000..af726a3 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/i2c.patch @@ -0,0 +1,114 @@ +diff -raNu git.orig/include/i2c.h git/include/i2c.h +--- git.orig/include/i2c.h 2017-04-28 17:26:27.854898005 -0500 ++++ git/include/i2c.h 2017-05-01 17:27:32.673437788 -0500 +@@ -17,6 +17,27 @@ + #ifndef _I2C_H_ + #define _I2C_H_ + ++#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ ++ _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \ ++ { \ ++ .init = _init, \ ++ .probe = _probe, \ ++ .read = _read, \ ++ .write = _write, \ ++ .set_bus_speed = _set_speed, \ ++ .speed = _speed, \ ++ .slaveaddr = _slaveaddr, \ ++ .init_done = 0, \ ++ .hwadapnr = _hwadapnr, \ ++ .name = #_name \ ++}; ++ ++#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \ ++ _set_speed, _speed, _slaveaddr, _hwadapnr) \ ++ ll_entry_declare(struct i2c_adapter, _name, i2c) = \ ++ U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ ++ _set_speed, _speed, _slaveaddr, _hwadapnr, _name); ++ + /* + * For now there are essentially two parts to this file - driver model + * here at the top, and the older code below (with CONFIG_SYS_I2C being +@@ -538,6 +559,26 @@ + */ + void i2c_dump_msgs(struct i2c_msg *msg, int nmsgs); + ++ ++struct i2c_adapter { ++ void (*init)(struct i2c_adapter *adap, int speed, ++ int slaveaddr); ++ int (*probe)(struct i2c_adapter *adap, uint8_t chip); ++ int (*read)(struct i2c_adapter *adap, uint8_t chip, ++ uint addr, int alen, uint8_t *buffer, ++ int len); ++ int (*write)(struct i2c_adapter *adap, uint8_t chip, ++ uint addr, int alen, uint8_t *buffer, ++ int len); ++ uint (*set_bus_speed)(struct i2c_adapter *adap, ++ uint speed); ++ int speed; ++ int waitdelay; ++ int slaveaddr; ++ int init_done; ++ int hwadapnr; ++ char *name; ++}; + #ifndef CONFIG_DM_I2C + + /* +@@ -578,46 +619,6 @@ + #define CONFIG_SYS_SPD_BUS_NUM 0 + #endif + +-struct i2c_adapter { +- void (*init)(struct i2c_adapter *adap, int speed, +- int slaveaddr); +- int (*probe)(struct i2c_adapter *adap, uint8_t chip); +- int (*read)(struct i2c_adapter *adap, uint8_t chip, +- uint addr, int alen, uint8_t *buffer, +- int len); +- int (*write)(struct i2c_adapter *adap, uint8_t chip, +- uint addr, int alen, uint8_t *buffer, +- int len); +- uint (*set_bus_speed)(struct i2c_adapter *adap, +- uint speed); +- int speed; +- int waitdelay; +- int slaveaddr; +- int init_done; +- int hwadapnr; +- char *name; +-}; +- +-#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ +- _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \ +- { \ +- .init = _init, \ +- .probe = _probe, \ +- .read = _read, \ +- .write = _write, \ +- .set_bus_speed = _set_speed, \ +- .speed = _speed, \ +- .slaveaddr = _slaveaddr, \ +- .init_done = 0, \ +- .hwadapnr = _hwadapnr, \ +- .name = #_name \ +-}; +- +-#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \ +- _set_speed, _speed, _slaveaddr, _hwadapnr) \ +- ll_entry_declare(struct i2c_adapter, _name, i2c) = \ +- U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ +- _set_speed, _speed, _slaveaddr, _hwadapnr, _name); + + struct i2c_adapter *i2c_get_adapter(int index); + +@@ -803,7 +804,7 @@ + void i2c_soft_scl(int bit); + void i2c_soft_delay(void); + #endif +-#else ++#else if !defined(CONFIG_DM_I2C_COMPAT) + + /* + * Probe the given I2C chip address. Returns 0 if a chip responded, diff --git a/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/mtcdt.patch b/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/mtcdt.patch new file mode 100644 index 0000000..b44b925 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/mtcdt.patch @@ -0,0 +1,320 @@ +diff -raNu git.orig/board/atmel/at91sam9x5ek/at91sam9x5ek.c git/board/atmel/at91sam9x5ek/at91sam9x5ek.c +--- git.orig/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-04-26 12:52:49.565662228 -0500 ++++ git/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-04-27 12:40:44.426149774 -0500 +@@ -44,7 +44,8 @@ + csa = readl(&matrix->ebicsa); + csa |= AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA; + /* NAND flash on D16 */ +- csa |= AT91_MATRIX_NFD0_ON_D16; ++ /* MTCDT: nand flash is set up by bootstrap, so leave it alone here */ ++ /* csa |= AT91_MATRIX_NFD0_ON_D16; */ + + /* Configure IO drive */ + csa &= ~AT91_MATRIX_EBI_EBI_IOSR_NORMAL; +@@ -256,6 +257,9 @@ + + int board_init(void) + { ++ /* Set Status LED High */ ++ at91_set_gpio_output(BOOT_STATUS_LED, 0); ++ + /* arch number of AT91SAM9X5EK-Board */ + gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9X5EK; + +@@ -283,6 +287,20 @@ + return 0; + } + ++/* on-board EEPROM */ ++struct mts_id_eeprom_layout { ++ char vendor_id[32]; ++ char product_id[32]; ++ char device_id[32]; ++ char hw_version[32]; ++ uint8_t mac_addr[6]; ++ char imei[32]; ++ uint8_t capa[32]; ++ uint8_t mac_bluetooth[6]; ++ uint8_t mac_wifi[6]; ++ uint8_t reserved[302]; ++}; ++ + int dram_init(void) + { + gd->ram_size = get_ram_size((void *) CONFIG_SYS_SDRAM_BASE, +@@ -305,6 +323,48 @@ + #endif + } + ++int board_get_enetaddr(uchar *enetaddr) ++{ ++ struct mts_id_eeprom_layout eeprom_buffer = {0}; ++ ++ if (eeprom_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0, &eeprom_buffer, sizeof(eeprom_buffer))) { ++ printf("EEPROM: read error\n"); ++ return 0; ++ } ++ ++ if (eeprom_buffer.vendor_id[0] == 0x00 || eeprom_buffer.vendor_id[0] == 0xFF) { ++ printf("EEPROM: uninitialized\n"); ++ return 0; ++ } ++ ++ printf("vendor-id: %s\n", eeprom_buffer.vendor_id); ++ printf("product-id: %s\n", eeprom_buffer.product_id); ++ printf("device-id: %s\n", eeprom_buffer.device_id); ++ printf("hw-version: %s\n", eeprom_buffer.hw_version); ++ printf("mac-addr: %02x:%02x:%02x:%02x:%02x:%02x\n", eeprom_buffer.mac_addr[0], ++ eeprom_buffer.mac_addr[1], ++ eeprom_buffer.mac_addr[2], ++ eeprom_buffer.mac_addr[3], ++ eeprom_buffer.mac_addr[4], ++ eeprom_buffer.mac_addr[5]); ++ ++ memcpy(enetaddr, eeprom_buffer.mac_addr, 6); ++ ++ return 1; ++} ++ ++int misc_init_r(void) ++{ ++ uchar enetaddr[6]; ++ ++ /* set MAC address from EEPROM if read successful */ ++ if (board_get_enetaddr(enetaddr)) { ++ eth_setenv_enetaddr("ethaddr", enetaddr); ++ } ++ ++ return 0; ++} ++ + #include + static void ddr2_conf(struct atmel_mpddrc_config *ddr2) + { +diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x5ek.h +--- git.orig/include/configs/at91sam9x5ek.h 2017-04-26 10:56:03.169006861 -0500 ++++ git/include/configs/at91sam9x5ek.h 2017-04-28 18:06:58.793553712 -0500 +@@ -11,7 +11,8 @@ + + #include + +-#define CONFIG_SYS_TEXT_BASE 0x26f00000 ++#define USE_MTCDT ++#define CONFIG_SYS_TEXT_BASE 0x2ef00000 + + /* ARM asynchronous clock */ + #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 +@@ -24,6 +25,7 @@ + #define CONFIG_INITRD_TAG + #define CONFIG_SKIP_LOWLEVEL_INIT + #define CONFIG_BOARD_EARLY_INIT_F ++#define CONFIG_MISC_INIT_R /* enable platform-dependent misc_init_r() */ + #define CONFIG_DISPLAY_CPUINFO + + #define CONFIG_CMD_BOOTZ +@@ -40,6 +42,8 @@ + #define CONFIG_USART_ID ATMEL_ID_SYS + + /* LCD */ ++/* MTCDT has no LCD */ ++#ifndef MTCDT + #define CONFIG_LCD + #define LCD_BPP LCD_COLOR16 + #define LCD_OUTPUT_BPP 24 +@@ -50,8 +54,14 @@ + #define CONFIG_ATMEL_HLCD + #define CONFIG_ATMEL_LCD_RGB565 + #define CONFIG_SYS_CONSOLE_IS_IN_ENV ++#endif ++ ++/*STATUS LED*/ ++#define BOOT_STATUS_LED AT91_PIN_PA24 + +-#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTDELAY 0 ++/* check for keypress even if bootdelay is 0 */ ++#define CONFIG_ZERO_BOOTDELAY_CHECK + + /* + * BOOTP options +@@ -67,6 +77,23 @@ + /* + * Command line configuration. + */ ++/* Compat needed or i2c read/write/init is not defined */ ++#define CONFIG_DM_I2C_COMPAT ++/* Required to prevent conflicting definitions of ++ * I2C_GET_BUS and I2C_SET_BUS ++ */ ++#define CONFIG_DM_I2C ++/* COMPAT above requires CONFIG_SYS_I2C or definitions ++ for inline functions like i2c_reg_read are ++ inconsistant. ++ */ ++ ++/* ++ * | include/config_fallbacks.h:96:4: error: #error "Cannot define CONFIG_SYS_I2C when CONFIG_DM_I2C is used" ++ * | # error "Cannot define CONFIG_SYS_I2C when CONFIG_DM_I2C is used" ++ * | ^~~~~ ++ */ ++ + #define CONFIG_CMD_PING + #define CONFIG_CMD_DHCP + #define CONFIG_CMD_NAND +@@ -74,6 +101,41 @@ + #define CONFIG_CMD_MMC + #define CONFIG_CMD_FAT + #define CONFIG_CMD_USB ++#define CONFIG_CMD_I2C ++#define CONFIG_SYS_I2C_SOFT ++#define CONFIG_SOFT_I2C ++#define CONFIG_SOFT_I2C_GPIO_SCL AT91_PIN_PA31 ++#define CONFIG_SOFT_I2C_GPIO_SDA AT91_PIN_PA30 ++#define CONFIG_SYS_I2C_SOFT_SPEED 50000 ++#define CONFIG_SYS_I2C_SPEED CONFIG_SYS_I2C_SOFT_SPEED ++/* Values from previous levels of Conduit U-Boot */ ++#define CONFIG_SYS_I2C_SLAVE 0xfe ++#define I2C_RXTX_LEN 128 ++ ++ ++/* Problems: ++ * ++ * ENAME=KBUILD_STR(help)" -D"KBUILD_MODNAME=KBUILD_STR(help)" -c -o cmd/help.o cmd/help.c ++| drivers/i2c/soft_i2c.c:300:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration ++| static void soft_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr) ++| ^~~~~~~~~~~ ++| drivers/i2c/soft_i2c.c:323:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration ++| static int soft_i2c_probe(struct i2c_adapter *adap, uint8_t addr) ++| ^~~~~~~~~~~ ++| drivers/i2c/soft_i2c.c:341:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration ++| static int soft_i2c_read(struct i2c_adapter *adap, uchar chip, uint addr, ++| ^~~~~~~~~~~ ++| drivers/i2c/soft_i2c.c:416:35: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration ++| static int soft_i2c_write(struct i2c_adapter *adap, uchar chip, uint addr, ++| ^~~~~~~~~~~ ++| arm-mlinux-linux-gnueabi-gcc --sysroot=/home/jklug/mlinux_morty/build/tmp/sysroots/mtcdt -Wp,-MD,drivers/input/.input.o.d -nostdinc -isystem /home/jklug/mlinux_morty/build/tmp/sysroots/x86_64-linux/usr/lib/arm-mlinux-linux-gnueabi/gcc/arm-mlinux-linux-gnueabi/6.2.0/include -Iinclude -I./arch/arm/include ++*/ ++ ++/* I2C eeprom support */ ++#define CONFIG_CMD_EEPROM ++#define CONFIG_SYS_I2C_EEPROM_ADDR 0x56 /* at24c04 */ ++#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */ ++#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 + + /* + * define CONFIG_USB_EHCI to enable USB Hi-Speed (aka 2.0) +@@ -84,7 +146,7 @@ + /* SDRAM */ + #define CONFIG_NR_DRAM_BANKS 1 + #define CONFIG_SYS_SDRAM_BASE 0x20000000 +-#define CONFIG_SYS_SDRAM_SIZE 0x08000000 /* 128 megs */ ++#define CONFIG_SYS_SDRAM_SIZE 0x10000000 /* 256 megs */ + + #define CONFIG_SYS_INIT_SP_ADDR \ + (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE) +@@ -106,13 +168,28 @@ + /* our CLE is AD22 */ + #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) + #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4 +-#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PD5 ++/* MTCDT nand ready is PC31 */ ++#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PC31 + + /* PMECC & PMERRLOC */ + #define CONFIG_ATMEL_NAND_HWECC 1 + #define CONFIG_ATMEL_NAND_HW_PMECC 1 +-#define CONFIG_PMECC_CAP 2 ++/* MTCDT: 4-bit PMECC */ ++#define CONFIG_PMECC_CAP 4 + #define CONFIG_PMECC_SECTOR_SIZE 512 ++/* ++ * CONFIG_PMECC_INDEX_TABLE_OFFSET has been replaced by: ++ * ATMEL_PMECC_INDEX_OFFSET_512 and ++ * ATMEL_PMECC_INDEX_OFFSET_1024 ++ * ++ * Which is used depends on: ++ * host->pmecc_sector_size == 512 ++ * ++ * 2012.10: ++ * #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000 ++ * 2016.03 (at91sam9x5.h): ++ * 182:#define ATMEL_PMECC_INDEX_OFFSET_512 0x8000 ++ */ + + #define CONFIG_CMD_NAND_TRIMFFS + +@@ -142,6 +219,8 @@ + #define CONFIG_RMII + #define CONFIG_NET_RETRY_COUNT 20 + #define CONFIG_MACB_SEARCH_PHY ++/* enable MII command */ ++#define CONFIG_CMD_MII 1 + + /* USB */ + #ifdef CONFIG_CMD_USB +@@ -163,18 +242,17 @@ + #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ + + #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE +-#define CONFIG_SYS_MEMTEST_END 0x26e00000 ++#define CONFIG_SYS_MEMTEST_END 0x2ee00000 + + #ifdef CONFIG_SYS_USE_NANDFLASH + /* bootstrap + u-boot + env + linux in nandflash */ + #define CONFIG_ENV_IS_IN_NAND + #define CONFIG_ENV_OFFSET 0xc0000 +-#define CONFIG_ENV_OFFSET_REDUND 0x100000 ++#define CONFIG_ENV_OFFSET_REDUND 0x160000 + #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */ +-#define CONFIG_BOOTCOMMAND "nand read " \ +- "0x22000000 0x200000 0x300000; " \ +- "bootm 0x22000000" +-#elif defined(CONFIG_SYS_USE_SPIFLASH) ++/* MTCDT: read from env variables for boot */ ++#define CONFIG_BOOTCOMMAND "nboot.jffs2 ${loadaddr} 0 ${kernel_addr}; bootm ${loadaddr}" ++#elif CONFIG_SYS_USE_SPIFLASH + /* bootstrap + u-boot + env + linux in spi flash */ + #define CONFIG_ENV_IS_IN_SPI_FLASH + #define CONFIG_ENV_OFFSET 0x5000 +@@ -204,6 +282,10 @@ + #define CONFIG_ENV_SIZE 0x4000 + #endif + ++#ifdef USE_MTCDT ++/* MTCDT uses jffs2 */ ++#define CONFIG_BOOTARGS "mem=256M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2" ++#else + #ifdef CONFIG_SYS_USE_MMC + #define CONFIG_BOOTARGS "mem=128M console=ttyS0,115200 " \ + "mtdparts=atmel_nand:" \ +@@ -218,6 +300,7 @@ + "512k(dtb),6M(kernel)ro,-(rootfs) " \ + "rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs rw" + #endif ++#endif + + #define CONFIG_BAUDRATE 115200 + +@@ -288,4 +371,22 @@ + + #endif + ++ ++/* MTCDT defaults */ ++#define CONFIG_ENV_OVERWRITE 1 /* Allow Overwrite of serial# & ethaddr */ ++#define CONFIG_ETHADDR 00:08:00:87:00:02 ++#define CONFIG_IPADDR 192.168.2.1 ++#define CONFIG_NETMASK 255.255.255.0 ++#define CONFIG_SERVERIP 192.168.2.2 ++#define CONFIG_HOSTNAME AT91SAM9G25 ++#define CONFIG_LOADADDR 0x22000000 ++ ++/* MTCDT - enable watchdog */ ++#define CONFIG_AT91SAM9_WATCHDOG 1 ++#define CONFIG_HW_WATCHDOG 1 ++ ++#define CONFIG_EXTRA_ENV_SETTINGS \ ++ "kernel_addr=0x200000\0" \ ++ "" ++ + #endif diff --git a/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/spl.patch b/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/spl.patch new file mode 100644 index 0000000..8c39abf --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/spl.patch @@ -0,0 +1,12 @@ +diff -raNu git.orig/configs/at91sam9x5ek_nandflash_defconfig git/configs/at91sam9x5ek_nandflash_defconfig +--- git.orig/configs/at91sam9x5ek_nandflash_defconfig 2017-05-02 17:52:50.369459785 -0500 ++++ git/configs/at91sam9x5ek_nandflash_defconfig 2017-05-02 17:54:16.855261970 -0500 +@@ -1,7 +1,7 @@ + CONFIG_ARM=y + CONFIG_ARCH_AT91=y + CONFIG_TARGET_AT91SAM9X5EK=y +-CONFIG_SPL=y ++CONFIG_SPL=n + CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH" + CONFIG_SYS_PROMPT="U-Boot> " + # CONFIG_CMD_IMI is not set diff --git a/recipes-bsp/u-boot/u-boot.inc b/recipes-bsp/u-boot/u-boot.inc index 0694f92..2795dc3 100644 --- a/recipes-bsp/u-boot/u-boot.inc +++ b/recipes-bsp/u-boot/u-boot.inc @@ -49,10 +49,10 @@ UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}" # should be packaged along with the u-boot binary as well as placed in the # deploy directory. For those versions they can set the following variables # to allow packaging the SPL. -SPL_BINARY ?= "" -SPL_BINARYNAME ?= "${@os.path.basename(d.getVar("SPL_BINARY", True))}" -SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}" -SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}" +#SPL_BINARY ?= "" +#SPL_BINARYNAME ?= "${@os.path.basename(d.getVar("SPL_BINARY", True))}" +#SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}" +#SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}" # Additional environment variables or a script can be installed alongside # u-boot to be used automatically on boot. This file, typically 'uEnv.txt' @@ -90,7 +90,7 @@ do_compile () { j=`expr $j + 1`; if [ $j -eq $i ] then - oe_runmake O=${config} ${config} + oe_runmake O=${config} ${config} --defconfig mtconfig oe_runmake O=${config} ${UBOOT_MAKE_TARGET} cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} fi diff --git a/recipes-bsp/u-boot/u-boot_2016.03.bb b/recipes-bsp/u-boot/u-boot_2016.03.bb index 836b0ce..1f58b50 100644 --- a/recipes-bsp/u-boot/u-boot_2016.03.bb +++ b/recipes-bsp/u-boot/u-boot_2016.03.bb @@ -8,3 +8,8 @@ DEPENDS += "dtc-native" SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa" PV = "v2016.03+git${SRCPV}" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-2016.03:" +SRC_URI += "file://mtcdt.patch" +SRC_URI += "file://spl.patch" +SRC_URI += "file://i2c.patch" -- cgit v1.2.3 From 1730f54c463054e57702b09dda091140473457f1 Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 4 May 2017 10:23:00 -0500 Subject: Start of u-boot 2016.09.01 --- .../u-boot/u-boot-2016.09.01/mtcdt/i2c.patch | 114 ++++++++ .../u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch | 320 +++++++++++++++++++++ .../u-boot/u-boot-2016.09.01/mtcdt/spl.patch | 12 + recipes-bsp/u-boot/u-boot_2016.09.01.bb | 14 + 4 files changed, 460 insertions(+) create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch create mode 100644 recipes-bsp/u-boot/u-boot_2016.09.01.bb diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch new file mode 100644 index 0000000..af726a3 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch @@ -0,0 +1,114 @@ +diff -raNu git.orig/include/i2c.h git/include/i2c.h +--- git.orig/include/i2c.h 2017-04-28 17:26:27.854898005 -0500 ++++ git/include/i2c.h 2017-05-01 17:27:32.673437788 -0500 +@@ -17,6 +17,27 @@ + #ifndef _I2C_H_ + #define _I2C_H_ + ++#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ ++ _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \ ++ { \ ++ .init = _init, \ ++ .probe = _probe, \ ++ .read = _read, \ ++ .write = _write, \ ++ .set_bus_speed = _set_speed, \ ++ .speed = _speed, \ ++ .slaveaddr = _slaveaddr, \ ++ .init_done = 0, \ ++ .hwadapnr = _hwadapnr, \ ++ .name = #_name \ ++}; ++ ++#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \ ++ _set_speed, _speed, _slaveaddr, _hwadapnr) \ ++ ll_entry_declare(struct i2c_adapter, _name, i2c) = \ ++ U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ ++ _set_speed, _speed, _slaveaddr, _hwadapnr, _name); ++ + /* + * For now there are essentially two parts to this file - driver model + * here at the top, and the older code below (with CONFIG_SYS_I2C being +@@ -538,6 +559,26 @@ + */ + void i2c_dump_msgs(struct i2c_msg *msg, int nmsgs); + ++ ++struct i2c_adapter { ++ void (*init)(struct i2c_adapter *adap, int speed, ++ int slaveaddr); ++ int (*probe)(struct i2c_adapter *adap, uint8_t chip); ++ int (*read)(struct i2c_adapter *adap, uint8_t chip, ++ uint addr, int alen, uint8_t *buffer, ++ int len); ++ int (*write)(struct i2c_adapter *adap, uint8_t chip, ++ uint addr, int alen, uint8_t *buffer, ++ int len); ++ uint (*set_bus_speed)(struct i2c_adapter *adap, ++ uint speed); ++ int speed; ++ int waitdelay; ++ int slaveaddr; ++ int init_done; ++ int hwadapnr; ++ char *name; ++}; + #ifndef CONFIG_DM_I2C + + /* +@@ -578,46 +619,6 @@ + #define CONFIG_SYS_SPD_BUS_NUM 0 + #endif + +-struct i2c_adapter { +- void (*init)(struct i2c_adapter *adap, int speed, +- int slaveaddr); +- int (*probe)(struct i2c_adapter *adap, uint8_t chip); +- int (*read)(struct i2c_adapter *adap, uint8_t chip, +- uint addr, int alen, uint8_t *buffer, +- int len); +- int (*write)(struct i2c_adapter *adap, uint8_t chip, +- uint addr, int alen, uint8_t *buffer, +- int len); +- uint (*set_bus_speed)(struct i2c_adapter *adap, +- uint speed); +- int speed; +- int waitdelay; +- int slaveaddr; +- int init_done; +- int hwadapnr; +- char *name; +-}; +- +-#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ +- _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \ +- { \ +- .init = _init, \ +- .probe = _probe, \ +- .read = _read, \ +- .write = _write, \ +- .set_bus_speed = _set_speed, \ +- .speed = _speed, \ +- .slaveaddr = _slaveaddr, \ +- .init_done = 0, \ +- .hwadapnr = _hwadapnr, \ +- .name = #_name \ +-}; +- +-#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \ +- _set_speed, _speed, _slaveaddr, _hwadapnr) \ +- ll_entry_declare(struct i2c_adapter, _name, i2c) = \ +- U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ +- _set_speed, _speed, _slaveaddr, _hwadapnr, _name); + + struct i2c_adapter *i2c_get_adapter(int index); + +@@ -803,7 +804,7 @@ + void i2c_soft_scl(int bit); + void i2c_soft_delay(void); + #endif +-#else ++#else if !defined(CONFIG_DM_I2C_COMPAT) + + /* + * Probe the given I2C chip address. Returns 0 if a chip responded, diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch new file mode 100644 index 0000000..b44b925 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch @@ -0,0 +1,320 @@ +diff -raNu git.orig/board/atmel/at91sam9x5ek/at91sam9x5ek.c git/board/atmel/at91sam9x5ek/at91sam9x5ek.c +--- git.orig/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-04-26 12:52:49.565662228 -0500 ++++ git/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-04-27 12:40:44.426149774 -0500 +@@ -44,7 +44,8 @@ + csa = readl(&matrix->ebicsa); + csa |= AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA; + /* NAND flash on D16 */ +- csa |= AT91_MATRIX_NFD0_ON_D16; ++ /* MTCDT: nand flash is set up by bootstrap, so leave it alone here */ ++ /* csa |= AT91_MATRIX_NFD0_ON_D16; */ + + /* Configure IO drive */ + csa &= ~AT91_MATRIX_EBI_EBI_IOSR_NORMAL; +@@ -256,6 +257,9 @@ + + int board_init(void) + { ++ /* Set Status LED High */ ++ at91_set_gpio_output(BOOT_STATUS_LED, 0); ++ + /* arch number of AT91SAM9X5EK-Board */ + gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9X5EK; + +@@ -283,6 +287,20 @@ + return 0; + } + ++/* on-board EEPROM */ ++struct mts_id_eeprom_layout { ++ char vendor_id[32]; ++ char product_id[32]; ++ char device_id[32]; ++ char hw_version[32]; ++ uint8_t mac_addr[6]; ++ char imei[32]; ++ uint8_t capa[32]; ++ uint8_t mac_bluetooth[6]; ++ uint8_t mac_wifi[6]; ++ uint8_t reserved[302]; ++}; ++ + int dram_init(void) + { + gd->ram_size = get_ram_size((void *) CONFIG_SYS_SDRAM_BASE, +@@ -305,6 +323,48 @@ + #endif + } + ++int board_get_enetaddr(uchar *enetaddr) ++{ ++ struct mts_id_eeprom_layout eeprom_buffer = {0}; ++ ++ if (eeprom_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0, &eeprom_buffer, sizeof(eeprom_buffer))) { ++ printf("EEPROM: read error\n"); ++ return 0; ++ } ++ ++ if (eeprom_buffer.vendor_id[0] == 0x00 || eeprom_buffer.vendor_id[0] == 0xFF) { ++ printf("EEPROM: uninitialized\n"); ++ return 0; ++ } ++ ++ printf("vendor-id: %s\n", eeprom_buffer.vendor_id); ++ printf("product-id: %s\n", eeprom_buffer.product_id); ++ printf("device-id: %s\n", eeprom_buffer.device_id); ++ printf("hw-version: %s\n", eeprom_buffer.hw_version); ++ printf("mac-addr: %02x:%02x:%02x:%02x:%02x:%02x\n", eeprom_buffer.mac_addr[0], ++ eeprom_buffer.mac_addr[1], ++ eeprom_buffer.mac_addr[2], ++ eeprom_buffer.mac_addr[3], ++ eeprom_buffer.mac_addr[4], ++ eeprom_buffer.mac_addr[5]); ++ ++ memcpy(enetaddr, eeprom_buffer.mac_addr, 6); ++ ++ return 1; ++} ++ ++int misc_init_r(void) ++{ ++ uchar enetaddr[6]; ++ ++ /* set MAC address from EEPROM if read successful */ ++ if (board_get_enetaddr(enetaddr)) { ++ eth_setenv_enetaddr("ethaddr", enetaddr); ++ } ++ ++ return 0; ++} ++ + #include + static void ddr2_conf(struct atmel_mpddrc_config *ddr2) + { +diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x5ek.h +--- git.orig/include/configs/at91sam9x5ek.h 2017-04-26 10:56:03.169006861 -0500 ++++ git/include/configs/at91sam9x5ek.h 2017-04-28 18:06:58.793553712 -0500 +@@ -11,7 +11,8 @@ + + #include + +-#define CONFIG_SYS_TEXT_BASE 0x26f00000 ++#define USE_MTCDT ++#define CONFIG_SYS_TEXT_BASE 0x2ef00000 + + /* ARM asynchronous clock */ + #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 +@@ -24,6 +25,7 @@ + #define CONFIG_INITRD_TAG + #define CONFIG_SKIP_LOWLEVEL_INIT + #define CONFIG_BOARD_EARLY_INIT_F ++#define CONFIG_MISC_INIT_R /* enable platform-dependent misc_init_r() */ + #define CONFIG_DISPLAY_CPUINFO + + #define CONFIG_CMD_BOOTZ +@@ -40,6 +42,8 @@ + #define CONFIG_USART_ID ATMEL_ID_SYS + + /* LCD */ ++/* MTCDT has no LCD */ ++#ifndef MTCDT + #define CONFIG_LCD + #define LCD_BPP LCD_COLOR16 + #define LCD_OUTPUT_BPP 24 +@@ -50,8 +54,14 @@ + #define CONFIG_ATMEL_HLCD + #define CONFIG_ATMEL_LCD_RGB565 + #define CONFIG_SYS_CONSOLE_IS_IN_ENV ++#endif ++ ++/*STATUS LED*/ ++#define BOOT_STATUS_LED AT91_PIN_PA24 + +-#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTDELAY 0 ++/* check for keypress even if bootdelay is 0 */ ++#define CONFIG_ZERO_BOOTDELAY_CHECK + + /* + * BOOTP options +@@ -67,6 +77,23 @@ + /* + * Command line configuration. + */ ++/* Compat needed or i2c read/write/init is not defined */ ++#define CONFIG_DM_I2C_COMPAT ++/* Required to prevent conflicting definitions of ++ * I2C_GET_BUS and I2C_SET_BUS ++ */ ++#define CONFIG_DM_I2C ++/* COMPAT above requires CONFIG_SYS_I2C or definitions ++ for inline functions like i2c_reg_read are ++ inconsistant. ++ */ ++ ++/* ++ * | include/config_fallbacks.h:96:4: error: #error "Cannot define CONFIG_SYS_I2C when CONFIG_DM_I2C is used" ++ * | # error "Cannot define CONFIG_SYS_I2C when CONFIG_DM_I2C is used" ++ * | ^~~~~ ++ */ ++ + #define CONFIG_CMD_PING + #define CONFIG_CMD_DHCP + #define CONFIG_CMD_NAND +@@ -74,6 +101,41 @@ + #define CONFIG_CMD_MMC + #define CONFIG_CMD_FAT + #define CONFIG_CMD_USB ++#define CONFIG_CMD_I2C ++#define CONFIG_SYS_I2C_SOFT ++#define CONFIG_SOFT_I2C ++#define CONFIG_SOFT_I2C_GPIO_SCL AT91_PIN_PA31 ++#define CONFIG_SOFT_I2C_GPIO_SDA AT91_PIN_PA30 ++#define CONFIG_SYS_I2C_SOFT_SPEED 50000 ++#define CONFIG_SYS_I2C_SPEED CONFIG_SYS_I2C_SOFT_SPEED ++/* Values from previous levels of Conduit U-Boot */ ++#define CONFIG_SYS_I2C_SLAVE 0xfe ++#define I2C_RXTX_LEN 128 ++ ++ ++/* Problems: ++ * ++ * ENAME=KBUILD_STR(help)" -D"KBUILD_MODNAME=KBUILD_STR(help)" -c -o cmd/help.o cmd/help.c ++| drivers/i2c/soft_i2c.c:300:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration ++| static void soft_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr) ++| ^~~~~~~~~~~ ++| drivers/i2c/soft_i2c.c:323:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration ++| static int soft_i2c_probe(struct i2c_adapter *adap, uint8_t addr) ++| ^~~~~~~~~~~ ++| drivers/i2c/soft_i2c.c:341:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration ++| static int soft_i2c_read(struct i2c_adapter *adap, uchar chip, uint addr, ++| ^~~~~~~~~~~ ++| drivers/i2c/soft_i2c.c:416:35: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration ++| static int soft_i2c_write(struct i2c_adapter *adap, uchar chip, uint addr, ++| ^~~~~~~~~~~ ++| arm-mlinux-linux-gnueabi-gcc --sysroot=/home/jklug/mlinux_morty/build/tmp/sysroots/mtcdt -Wp,-MD,drivers/input/.input.o.d -nostdinc -isystem /home/jklug/mlinux_morty/build/tmp/sysroots/x86_64-linux/usr/lib/arm-mlinux-linux-gnueabi/gcc/arm-mlinux-linux-gnueabi/6.2.0/include -Iinclude -I./arch/arm/include ++*/ ++ ++/* I2C eeprom support */ ++#define CONFIG_CMD_EEPROM ++#define CONFIG_SYS_I2C_EEPROM_ADDR 0x56 /* at24c04 */ ++#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */ ++#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 + + /* + * define CONFIG_USB_EHCI to enable USB Hi-Speed (aka 2.0) +@@ -84,7 +146,7 @@ + /* SDRAM */ + #define CONFIG_NR_DRAM_BANKS 1 + #define CONFIG_SYS_SDRAM_BASE 0x20000000 +-#define CONFIG_SYS_SDRAM_SIZE 0x08000000 /* 128 megs */ ++#define CONFIG_SYS_SDRAM_SIZE 0x10000000 /* 256 megs */ + + #define CONFIG_SYS_INIT_SP_ADDR \ + (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE) +@@ -106,13 +168,28 @@ + /* our CLE is AD22 */ + #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) + #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4 +-#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PD5 ++/* MTCDT nand ready is PC31 */ ++#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PC31 + + /* PMECC & PMERRLOC */ + #define CONFIG_ATMEL_NAND_HWECC 1 + #define CONFIG_ATMEL_NAND_HW_PMECC 1 +-#define CONFIG_PMECC_CAP 2 ++/* MTCDT: 4-bit PMECC */ ++#define CONFIG_PMECC_CAP 4 + #define CONFIG_PMECC_SECTOR_SIZE 512 ++/* ++ * CONFIG_PMECC_INDEX_TABLE_OFFSET has been replaced by: ++ * ATMEL_PMECC_INDEX_OFFSET_512 and ++ * ATMEL_PMECC_INDEX_OFFSET_1024 ++ * ++ * Which is used depends on: ++ * host->pmecc_sector_size == 512 ++ * ++ * 2012.10: ++ * #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000 ++ * 2016.03 (at91sam9x5.h): ++ * 182:#define ATMEL_PMECC_INDEX_OFFSET_512 0x8000 ++ */ + + #define CONFIG_CMD_NAND_TRIMFFS + +@@ -142,6 +219,8 @@ + #define CONFIG_RMII + #define CONFIG_NET_RETRY_COUNT 20 + #define CONFIG_MACB_SEARCH_PHY ++/* enable MII command */ ++#define CONFIG_CMD_MII 1 + + /* USB */ + #ifdef CONFIG_CMD_USB +@@ -163,18 +242,17 @@ + #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ + + #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE +-#define CONFIG_SYS_MEMTEST_END 0x26e00000 ++#define CONFIG_SYS_MEMTEST_END 0x2ee00000 + + #ifdef CONFIG_SYS_USE_NANDFLASH + /* bootstrap + u-boot + env + linux in nandflash */ + #define CONFIG_ENV_IS_IN_NAND + #define CONFIG_ENV_OFFSET 0xc0000 +-#define CONFIG_ENV_OFFSET_REDUND 0x100000 ++#define CONFIG_ENV_OFFSET_REDUND 0x160000 + #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */ +-#define CONFIG_BOOTCOMMAND "nand read " \ +- "0x22000000 0x200000 0x300000; " \ +- "bootm 0x22000000" +-#elif defined(CONFIG_SYS_USE_SPIFLASH) ++/* MTCDT: read from env variables for boot */ ++#define CONFIG_BOOTCOMMAND "nboot.jffs2 ${loadaddr} 0 ${kernel_addr}; bootm ${loadaddr}" ++#elif CONFIG_SYS_USE_SPIFLASH + /* bootstrap + u-boot + env + linux in spi flash */ + #define CONFIG_ENV_IS_IN_SPI_FLASH + #define CONFIG_ENV_OFFSET 0x5000 +@@ -204,6 +282,10 @@ + #define CONFIG_ENV_SIZE 0x4000 + #endif + ++#ifdef USE_MTCDT ++/* MTCDT uses jffs2 */ ++#define CONFIG_BOOTARGS "mem=256M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2" ++#else + #ifdef CONFIG_SYS_USE_MMC + #define CONFIG_BOOTARGS "mem=128M console=ttyS0,115200 " \ + "mtdparts=atmel_nand:" \ +@@ -218,6 +300,7 @@ + "512k(dtb),6M(kernel)ro,-(rootfs) " \ + "rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs rw" + #endif ++#endif + + #define CONFIG_BAUDRATE 115200 + +@@ -288,4 +371,22 @@ + + #endif + ++ ++/* MTCDT defaults */ ++#define CONFIG_ENV_OVERWRITE 1 /* Allow Overwrite of serial# & ethaddr */ ++#define CONFIG_ETHADDR 00:08:00:87:00:02 ++#define CONFIG_IPADDR 192.168.2.1 ++#define CONFIG_NETMASK 255.255.255.0 ++#define CONFIG_SERVERIP 192.168.2.2 ++#define CONFIG_HOSTNAME AT91SAM9G25 ++#define CONFIG_LOADADDR 0x22000000 ++ ++/* MTCDT - enable watchdog */ ++#define CONFIG_AT91SAM9_WATCHDOG 1 ++#define CONFIG_HW_WATCHDOG 1 ++ ++#define CONFIG_EXTRA_ENV_SETTINGS \ ++ "kernel_addr=0x200000\0" \ ++ "" ++ + #endif diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch new file mode 100644 index 0000000..8c39abf --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch @@ -0,0 +1,12 @@ +diff -raNu git.orig/configs/at91sam9x5ek_nandflash_defconfig git/configs/at91sam9x5ek_nandflash_defconfig +--- git.orig/configs/at91sam9x5ek_nandflash_defconfig 2017-05-02 17:52:50.369459785 -0500 ++++ git/configs/at91sam9x5ek_nandflash_defconfig 2017-05-02 17:54:16.855261970 -0500 +@@ -1,7 +1,7 @@ + CONFIG_ARM=y + CONFIG_ARCH_AT91=y + CONFIG_TARGET_AT91SAM9X5EK=y +-CONFIG_SPL=y ++CONFIG_SPL=n + CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH" + CONFIG_SYS_PROMPT="U-Boot> " + # CONFIG_CMD_IMI is not set diff --git a/recipes-bsp/u-boot/u-boot_2016.09.01.bb b/recipes-bsp/u-boot/u-boot_2016.09.01.bb new file mode 100644 index 0000000..2fb055a --- /dev/null +++ b/recipes-bsp/u-boot/u-boot_2016.09.01.bb @@ -0,0 +1,14 @@ +require u-boot.inc + +DEPENDS += "dtc-native" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-2016.09.01:" + +SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 \ + file://mtcdt.patch \ + file://spl.patch \ + file://i2c.patch" +# This revision corresponds to the tag "v2016.03" +# We use the revision in order to avoid having to fetch it from the +# repo during parse +SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa" + -- cgit v1.2.3 From 30578899a76da9839e57b76e3c243b6c5e653f3b Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 4 May 2017 18:15:19 -0500 Subject: Slowly working through the feature test macros/configs of u-boot 2016.09.01 --- .../u-boot/u-boot-2016.09.01/mtcdt/config.patch | 28 ++ .../u-boot/u-boot-2016.09.01/mtcdt/i2c.patch | 6 +- .../u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch | 294 ++++++--------------- .../u-boot/u-boot-2016.09.01/mtcdt/spl.patch | 12 - 4 files changed, 110 insertions(+), 230 deletions(-) create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch delete mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch new file mode 100644 index 0000000..75dd42b --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch @@ -0,0 +1,28 @@ +diff -raNu old/configs/at91sam9x5ek_nandflash_defconfig new/configs/at91sam9x5ek_nandflash_defconfig +--- old/configs/at91sam9x5ek_nandflash_defconfig 2017-05-04 14:33:41.143172324 -0500 ++++ new/configs/at91sam9x5ek_nandflash_defconfig 2017-05-04 17:54:27.132377607 -0500 +@@ -1,9 +1,9 @@ + CONFIG_ARM=y + CONFIG_ARCH_AT91=y + CONFIG_TARGET_AT91SAM9X5EK=y +-CONFIG_SPL=y ++CONFIG_SPL=n + CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH" +-CONFIG_BOOTDELAY=3 ++CONFIG_BOOTDELAY=0 + CONFIG_HUSH_PARSER=y + CONFIG_SYS_PROMPT="U-Boot> " + CONFIG_CMD_BOOTZ=y +@@ -23,3 +23,12 @@ + CONFIG_USB=y + CONFIG_USB_STORAGE=y + CONFIG_OF_LIBFDT=y ++ ++CONFIG_OF_CONTROL=y ++CONFIG_CMD_TFTPPUT=y ++CONFIG_CMD_FAT=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_NAND=y ++CONFIG_CMD_BOOTZ=y ++CONFIG_CMD_MII=y ++CONFIG_CMD_I2C=y diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch index af726a3..ba9ca44 100644 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch @@ -1,6 +1,6 @@ -diff -raNu git.orig/include/i2c.h git/include/i2c.h ---- git.orig/include/i2c.h 2017-04-28 17:26:27.854898005 -0500 -+++ git/include/i2c.h 2017-05-01 17:27:32.673437788 -0500 +diff -raNu old/include/i2c.h new/include/i2c.h +--- old/include/i2c.h 2017-04-28 17:26:27.854898005 -0500 ++++ new/include/i2c.h 2017-05-01 17:27:32.673437788 -0500 @@ -17,6 +17,27 @@ #ifndef _I2C_H_ #define _I2C_H_ diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch index b44b925..c33e422 100644 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch @@ -1,209 +1,73 @@ -diff -raNu git.orig/board/atmel/at91sam9x5ek/at91sam9x5ek.c git/board/atmel/at91sam9x5ek/at91sam9x5ek.c ---- git.orig/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-04-26 12:52:49.565662228 -0500 -+++ git/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-04-27 12:40:44.426149774 -0500 -@@ -44,7 +44,8 @@ - csa = readl(&matrix->ebicsa); - csa |= AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA; - /* NAND flash on D16 */ -- csa |= AT91_MATRIX_NFD0_ON_D16; -+ /* MTCDT: nand flash is set up by bootstrap, so leave it alone here */ -+ /* csa |= AT91_MATRIX_NFD0_ON_D16; */ - - /* Configure IO drive */ - csa &= ~AT91_MATRIX_EBI_EBI_IOSR_NORMAL; -@@ -256,6 +257,9 @@ - - int board_init(void) - { -+ /* Set Status LED High */ -+ at91_set_gpio_output(BOOT_STATUS_LED, 0); -+ - /* arch number of AT91SAM9X5EK-Board */ - gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9X5EK; - -@@ -283,6 +287,20 @@ - return 0; - } - -+/* on-board EEPROM */ -+struct mts_id_eeprom_layout { -+ char vendor_id[32]; -+ char product_id[32]; -+ char device_id[32]; -+ char hw_version[32]; -+ uint8_t mac_addr[6]; -+ char imei[32]; -+ uint8_t capa[32]; -+ uint8_t mac_bluetooth[6]; -+ uint8_t mac_wifi[6]; -+ uint8_t reserved[302]; -+}; -+ - int dram_init(void) - { - gd->ram_size = get_ram_size((void *) CONFIG_SYS_SDRAM_BASE, -@@ -305,6 +323,48 @@ - #endif - } - -+int board_get_enetaddr(uchar *enetaddr) -+{ -+ struct mts_id_eeprom_layout eeprom_buffer = {0}; -+ -+ if (eeprom_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0, &eeprom_buffer, sizeof(eeprom_buffer))) { -+ printf("EEPROM: read error\n"); -+ return 0; -+ } -+ -+ if (eeprom_buffer.vendor_id[0] == 0x00 || eeprom_buffer.vendor_id[0] == 0xFF) { -+ printf("EEPROM: uninitialized\n"); -+ return 0; -+ } -+ -+ printf("vendor-id: %s\n", eeprom_buffer.vendor_id); -+ printf("product-id: %s\n", eeprom_buffer.product_id); -+ printf("device-id: %s\n", eeprom_buffer.device_id); -+ printf("hw-version: %s\n", eeprom_buffer.hw_version); -+ printf("mac-addr: %02x:%02x:%02x:%02x:%02x:%02x\n", eeprom_buffer.mac_addr[0], -+ eeprom_buffer.mac_addr[1], -+ eeprom_buffer.mac_addr[2], -+ eeprom_buffer.mac_addr[3], -+ eeprom_buffer.mac_addr[4], -+ eeprom_buffer.mac_addr[5]); -+ -+ memcpy(enetaddr, eeprom_buffer.mac_addr, 6); -+ -+ return 1; -+} -+ -+int misc_init_r(void) -+{ -+ uchar enetaddr[6]; -+ -+ /* set MAC address from EEPROM if read successful */ -+ if (board_get_enetaddr(enetaddr)) { -+ eth_setenv_enetaddr("ethaddr", enetaddr); -+ } -+ -+ return 0; -+} -+ - #include - static void ddr2_conf(struct atmel_mpddrc_config *ddr2) - { -diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x5ek.h ---- git.orig/include/configs/at91sam9x5ek.h 2017-04-26 10:56:03.169006861 -0500 -+++ git/include/configs/at91sam9x5ek.h 2017-04-28 18:06:58.793553712 -0500 -@@ -11,7 +11,8 @@ - +diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h +--- old/include/configs/at91sam9x5ek.h 2017-05-04 13:59:37.381346896 -0500 ++++ new/include/configs/at91sam9x5ek.h 2017-05-04 18:11:04.366618638 -0500 +@@ -9,9 +9,12 @@ + #ifndef __CONFIG_H__ + #define __CONFIG_H__ + ++#include #include -#define CONFIG_SYS_TEXT_BASE 0x26f00000 +#define USE_MTCDT +#define CONFIG_SYS_TEXT_BASE 0x2ef00000 ++ /* ARM asynchronous clock */ #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 -@@ -24,6 +25,7 @@ - #define CONFIG_INITRD_TAG - #define CONFIG_SKIP_LOWLEVEL_INIT +@@ -26,6 +29,9 @@ #define CONFIG_BOARD_EARLY_INIT_F -+#define CONFIG_MISC_INIT_R /* enable platform-dependent misc_init_r() */ #define CONFIG_DISPLAY_CPUINFO - #define CONFIG_CMD_BOOTZ -@@ -40,6 +42,8 @@ ++ ++#define CONFIG_MISC_INIT_R /* enable platform-dependent misc_init_r() */ ++ + /* general purpose I/O */ + #define CONFIG_ATMEL_LEGACY /* required until (g)pio is fixed */ + #define CONFIG_AT91_GPIO +@@ -36,6 +42,8 @@ #define CONFIG_USART_ID ATMEL_ID_SYS /* LCD */ +/* MTCDT has no LCD */ -+#ifndef MTCDT ++#if !defined(MTCDT) #define CONFIG_LCD #define LCD_BPP LCD_COLOR16 #define LCD_OUTPUT_BPP 24 -@@ -50,8 +54,14 @@ +@@ -46,8 +54,15 @@ #define CONFIG_ATMEL_HLCD #define CONFIG_ATMEL_LCD_RGB565 #define CONFIG_SYS_CONSOLE_IS_IN_ENV -+#endif ++#endif /* !defined(MTCDT) */ + -+/*STATUS LED*/ -+#define BOOT_STATUS_LED AT91_PIN_PA24 - --#define CONFIG_BOOTDELAY 3 -+#define CONFIG_BOOTDELAY 0 +/* check for keypress even if bootdelay is 0 */ +#define CONFIG_ZERO_BOOTDELAY_CHECK + ++/*STATUS LED*/ ++#define BOOT_STATUS_LED AT91_PIN_PA24 ++ /* * BOOTP options -@@ -67,6 +77,23 @@ - /* - * Command line configuration. */ +@@ -59,10 +74,13 @@ + /* no NOR flash */ + #define CONFIG_SYS_NO_FLASH + +-/* +- * Command line configuration. +/* Compat needed or i2c read/write/init is not defined */ +#define CONFIG_DM_I2C_COMPAT ++ +/* Required to prevent conflicting definitions of + * I2C_GET_BUS and I2C_SET_BUS -+ */ + */ +-#define CONFIG_CMD_NAND +#define CONFIG_DM_I2C -+/* COMPAT above requires CONFIG_SYS_I2C or definitions -+ for inline functions like i2c_reg_read are -+ inconsistant. -+ */ -+ -+/* -+ * | include/config_fallbacks.h:96:4: error: #error "Cannot define CONFIG_SYS_I2C when CONFIG_DM_I2C is used" -+ * | # error "Cannot define CONFIG_SYS_I2C when CONFIG_DM_I2C is used" -+ * | ^~~~~ -+ */ -+ - #define CONFIG_CMD_PING - #define CONFIG_CMD_DHCP - #define CONFIG_CMD_NAND -@@ -74,6 +101,41 @@ - #define CONFIG_CMD_MMC - #define CONFIG_CMD_FAT - #define CONFIG_CMD_USB -+#define CONFIG_CMD_I2C -+#define CONFIG_SYS_I2C_SOFT -+#define CONFIG_SOFT_I2C -+#define CONFIG_SOFT_I2C_GPIO_SCL AT91_PIN_PA31 -+#define CONFIG_SOFT_I2C_GPIO_SDA AT91_PIN_PA30 -+#define CONFIG_SYS_I2C_SOFT_SPEED 50000 -+#define CONFIG_SYS_I2C_SPEED CONFIG_SYS_I2C_SOFT_SPEED -+/* Values from previous levels of Conduit U-Boot */ -+#define CONFIG_SYS_I2C_SLAVE 0xfe -+#define I2C_RXTX_LEN 128 -+ -+ -+/* Problems: -+ * -+ * ENAME=KBUILD_STR(help)" -D"KBUILD_MODNAME=KBUILD_STR(help)" -c -o cmd/help.o cmd/help.c -+| drivers/i2c/soft_i2c.c:300:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration -+| static void soft_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr) -+| ^~~~~~~~~~~ -+| drivers/i2c/soft_i2c.c:323:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration -+| static int soft_i2c_probe(struct i2c_adapter *adap, uint8_t addr) -+| ^~~~~~~~~~~ -+| drivers/i2c/soft_i2c.c:341:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration -+| static int soft_i2c_read(struct i2c_adapter *adap, uchar chip, uint addr, -+| ^~~~~~~~~~~ -+| drivers/i2c/soft_i2c.c:416:35: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration -+| static int soft_i2c_write(struct i2c_adapter *adap, uchar chip, uint addr, -+| ^~~~~~~~~~~ -+| arm-mlinux-linux-gnueabi-gcc --sysroot=/home/jklug/mlinux_morty/build/tmp/sysroots/mtcdt -Wp,-MD,drivers/input/.input.o.d -nostdinc -isystem /home/jklug/mlinux_morty/build/tmp/sysroots/x86_64-linux/usr/lib/arm-mlinux-linux-gnueabi/gcc/arm-mlinux-linux-gnueabi/6.2.0/include -Iinclude -I./arch/arm/include -+*/ -+ -+/* I2C eeprom support */ -+#define CONFIG_CMD_EEPROM -+#define CONFIG_SYS_I2C_EEPROM_ADDR 0x56 /* at24c04 */ -+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */ -+#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 /* * define CONFIG_USB_EHCI to enable USB Hi-Speed (aka 2.0) -@@ -84,7 +146,7 @@ +@@ -72,7 +90,7 @@ /* SDRAM */ #define CONFIG_NR_DRAM_BANKS 1 #define CONFIG_SYS_SDRAM_BASE 0x20000000 @@ -212,7 +76,7 @@ diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x #define CONFIG_SYS_INIT_SP_ADDR \ (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE) -@@ -106,13 +168,28 @@ +@@ -94,13 +112,30 @@ /* our CLE is AD22 */ #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4 @@ -224,35 +88,47 @@ diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x #define CONFIG_ATMEL_NAND_HWECC 1 #define CONFIG_ATMEL_NAND_HW_PMECC 1 -#define CONFIG_PMECC_CAP 2 ++ +/* MTCDT: 4-bit PMECC */ +#define CONFIG_PMECC_CAP 4 #define CONFIG_PMECC_SECTOR_SIZE 512 +/* -+ * CONFIG_PMECC_INDEX_TABLE_OFFSET has been replaced by: -+ * ATMEL_PMECC_INDEX_OFFSET_512 and -+ * ATMEL_PMECC_INDEX_OFFSET_1024 -+ * -+ * Which is used depends on: -+ * host->pmecc_sector_size == 512 -+ * -+ * 2012.10: -+ * #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000 -+ * 2016.03 (at91sam9x5.h): -+ * 182:#define ATMEL_PMECC_INDEX_OFFSET_512 0x8000 -+ */ +++ * CONFIG_PMECC_INDEX_TABLE_OFFSET has been replaced by: +++ * ATMEL_PMECC_INDEX_OFFSET_512 and +++ * ATMEL_PMECC_INDEX_OFFSET_1024 +++ * +++ * Which is used depends on: +++ * host->pmecc_sector_size == 512 +++ * +++ * 2012.10: +++ * #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000 +++ * 2016.03 (at91sam9x5.h): +++ * 182:#define ATMEL_PMECC_INDEX_OFFSET_512 0x8000 +++ */ ++ #define CONFIG_CMD_NAND_TRIMFFS -@@ -142,6 +219,8 @@ - #define CONFIG_RMII - #define CONFIG_NET_RETRY_COUNT 20 - #define CONFIG_MACB_SEARCH_PHY -+/* enable MII command */ -+#define CONFIG_CMD_MII 1 +@@ -147,20 +182,36 @@ + #endif + #endif - /* USB */ - #ifdef CONFIG_CMD_USB -@@ -163,18 +242,17 @@ ++#define CONFIG_SYS_I2C_SOFT ++#define CONFIG_SOFT_I2C ++#define CONFIG_SOFT_I2C_GPIO_SCL AT91_PIN_PA31 ++#define CONFIG_SOFT_I2C_GPIO_SDA AT91_PIN_PA30 ++#define CONFIG_SYS_I2C_SOFT_SPEED 50000 ++#define CONFIG_SYS_I2C_SPEED CONFIG_SYS_I2C_SOFT_SPEED ++/* Values from previous levels of Conduit U-Boot */ ++#define CONFIG_SYS_I2C_SLAVE 0xfe ++#define I2C_RXTX_LEN 128 ++ ++/* I2C eeprom support */ ++#define CONFIG_CMD_EEPROM ++#define CONFIG_SYS_I2C_EEPROM_ADDR 0x56 /* at24c04 */ ++#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */ ++#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 ++ #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE @@ -269,37 +145,26 @@ diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x -#define CONFIG_BOOTCOMMAND "nand read " \ - "0x22000000 0x200000 0x300000; " \ - "bootm 0x22000000" --#elif defined(CONFIG_SYS_USE_SPIFLASH) +/* MTCDT: read from env variables for boot */ +#define CONFIG_BOOTCOMMAND "nboot.jffs2 ${loadaddr} 0 ${kernel_addr}; bootm ${loadaddr}" -+#elif CONFIG_SYS_USE_SPIFLASH ++ + #elif defined(CONFIG_SYS_USE_SPIFLASH) /* bootstrap + u-boot + env + linux in spi flash */ #define CONFIG_ENV_IS_IN_SPI_FLASH - #define CONFIG_ENV_OFFSET 0x5000 -@@ -204,6 +282,10 @@ - #define CONFIG_ENV_SIZE 0x4000 - #endif - -+#ifdef USE_MTCDT +@@ -197,6 +248,9 @@ + "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ + "root=/dev/mmcblk0p2 " \ + "rw rootfstype=ext4 rootwait" ++#elif defined(USE_MTCDT) +/* MTCDT uses jffs2 */ +#define CONFIG_BOOTARGS "mem=256M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2" -+#else - #ifdef CONFIG_SYS_USE_MMC - #define CONFIG_BOOTARGS "mem=128M console=ttyS0,115200 " \ - "mtdparts=atmel_nand:" \ -@@ -218,6 +300,7 @@ - "512k(dtb),6M(kernel)ro,-(rootfs) " \ - "rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs rw" - #endif -+#endif - - #define CONFIG_BAUDRATE 115200 - -@@ -288,4 +371,22 @@ + #else + #define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ +@@ -274,4 +328,20 @@ #endif -+ +/* MTCDT defaults */ +#define CONFIG_ENV_OVERWRITE 1 /* Allow Overwrite of serial# & ethaddr */ +#define CONFIG_ETHADDR 00:08:00:87:00:02 @@ -312,7 +177,6 @@ diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x +/* MTCDT - enable watchdog */ +#define CONFIG_AT91SAM9_WATCHDOG 1 +#define CONFIG_HW_WATCHDOG 1 -+ +#define CONFIG_EXTRA_ENV_SETTINGS \ + "kernel_addr=0x200000\0" \ + "" diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch deleted file mode 100644 index 8c39abf..0000000 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -raNu git.orig/configs/at91sam9x5ek_nandflash_defconfig git/configs/at91sam9x5ek_nandflash_defconfig ---- git.orig/configs/at91sam9x5ek_nandflash_defconfig 2017-05-02 17:52:50.369459785 -0500 -+++ git/configs/at91sam9x5ek_nandflash_defconfig 2017-05-02 17:54:16.855261970 -0500 -@@ -1,7 +1,7 @@ - CONFIG_ARM=y - CONFIG_ARCH_AT91=y - CONFIG_TARGET_AT91SAM9X5EK=y --CONFIG_SPL=y -+CONFIG_SPL=n - CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH" - CONFIG_SYS_PROMPT="U-Boot> " - # CONFIG_CMD_IMI is not set -- cgit v1.2.3 From 8350669340879f758f6ab20a356a73d67b091289 Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 5 May 2017 17:45:17 -0500 Subject: Add the board functions for at91 MTCDT --- .../u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch | 131 +++++++++++++++++++-- 1 file changed, 124 insertions(+), 7 deletions(-) diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch index c33e422..800bdc7 100644 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch @@ -1,6 +1,6 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h --- old/include/configs/at91sam9x5ek.h 2017-05-04 13:59:37.381346896 -0500 -+++ new/include/configs/at91sam9x5ek.h 2017-05-04 18:11:04.366618638 -0500 ++++ new/include/configs/at91sam9x5ek.h 2017-05-05 08:32:35.950118228 -0500 @@ -9,9 +9,12 @@ #ifndef __CONFIG_H__ #define __CONFIG_H__ @@ -50,12 +50,15 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h /* * BOOTP options */ -@@ -59,10 +74,13 @@ +@@ -59,10 +74,16 @@ /* no NOR flash */ #define CONFIG_SYS_NO_FLASH -/* - * Command line configuration. ++/* Needed to build the core directory */ ++#define CONFIG_DM ++ +/* Compat needed or i2c read/write/init is not defined */ +#define CONFIG_DM_I2C_COMPAT + @@ -67,7 +70,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h /* * define CONFIG_USB_EHCI to enable USB Hi-Speed (aka 2.0) -@@ -72,7 +90,7 @@ +@@ -72,7 +93,7 @@ /* SDRAM */ #define CONFIG_NR_DRAM_BANKS 1 #define CONFIG_SYS_SDRAM_BASE 0x20000000 @@ -76,7 +79,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h #define CONFIG_SYS_INIT_SP_ADDR \ (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE) -@@ -94,13 +112,30 @@ +@@ -94,13 +115,30 @@ /* our CLE is AD22 */ #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4 @@ -109,7 +112,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h #define CONFIG_CMD_NAND_TRIMFFS -@@ -147,20 +182,36 @@ +@@ -147,20 +185,36 @@ #endif #endif @@ -151,7 +154,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h #elif defined(CONFIG_SYS_USE_SPIFLASH) /* bootstrap + u-boot + env + linux in spi flash */ #define CONFIG_ENV_IS_IN_SPI_FLASH -@@ -197,6 +248,9 @@ +@@ -197,6 +251,9 @@ "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ "root=/dev/mmcblk0p2 " \ "rw rootfstype=ext4 rootwait" @@ -161,7 +164,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h #else #define CONFIG_BOOTARGS \ "console=ttyS0,115200 earlyprintk " \ -@@ -274,4 +328,20 @@ +@@ -274,4 +331,20 @@ #endif @@ -182,3 +185,117 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h + "" + #endif +diff -raNu old/board/atmel/at91sam9x5ek/at91sam9x5ek.c new/board/atmel/at91sam9x5ek/at91sam9x5ek.c +--- old/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-05-05 11:09:53.668926301 -0500 ++++ new/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-05-05 17:35:53.342774065 -0500 +@@ -44,7 +44,8 @@ + csa = readl(&matrix->ebicsa); + csa |= AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA; + /* NAND flash on D16 */ +- csa |= AT91_MATRIX_NFD0_ON_D16; ++ /* MTCDT: nand flash is set up by bootstrap, so leave it alone here */ ++ /* csa |= AT91_MATRIX_NFD0_ON_D16; */ + + /* Configure IO drive */ + csa &= ~AT91_MATRIX_EBI_EBI_IOSR_NORMAL; +@@ -256,6 +257,9 @@ + + int board_init(void) + { ++ /* Set Status LED High */ ++ at91_set_gpio_output(BOOT_STATUS_LED, 0); ++ + /* arch number of AT91SAM9X5EK-Board */ + gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9X5EK; + +@@ -267,6 +271,7 @@ + #endif + + #ifdef CONFIG_ATMEL_SPI ++ at91_spi0_hw_init(1 << 0); + at91_spi0_hw_init(1 << 4); + #endif + +@@ -283,12 +288,6 @@ + return 0; + } + +-int dram_init(void) +-{ +- gd->ram_size = get_ram_size((void *) CONFIG_SYS_SDRAM_BASE, +- CONFIG_SYS_SDRAM_SIZE); +- return 0; +-} + + #if defined(CONFIG_SPL_BUILD) + #include +@@ -362,4 +361,69 @@ + /* DDRAM2 Controller initialize */ + ddr2_init(ATMEL_BASE_DDRSDRC, ATMEL_BASE_CS1, &ddr2); + } ++ + #endif ++ ++/* on-board EEPROM */ ++struct mts_id_eeprom_layout { ++ char vendor_id[32]; ++ char product_id[32]; ++ char device_id[32]; ++ char hw_version[32]; ++ uint8_t mac_addr[6]; ++ char imei[32]; ++ uint8_t capa[32]; ++ uint8_t mac_bluetooth[6]; ++ uint8_t mac_wifi[6]; ++ uint8_t reserved[302]; ++}; ++ ++int board_get_enetaddr(uchar *enetaddr) ++{ ++ struct mts_id_eeprom_layout eeprom_buffer = {0}; ++ ++ if (eeprom_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0, &eeprom_buffer, sizeof(eeprom_buffer))) { ++ printf("EEPROM: read error\n"); ++ return 0; ++ } ++ ++ if (eeprom_buffer.vendor_id[0] == 0x00 || eeprom_buffer.vendor_id[0] == 0xFF) { ++ printf("EEPROM: uninitialized\n"); ++ return 0; ++ } ++ ++ printf("vendor-id: %s\n", eeprom_buffer.vendor_id); ++ printf("product-id: %s\n", eeprom_buffer.product_id); ++ printf("device-id: %s\n", eeprom_buffer.device_id); ++ printf("hw-version: %s\n", eeprom_buffer.hw_version); ++ printf("mac-addr: %02x:%02x:%02x:%02x:%02x:%02x\n", eeprom_buffer.mac_addr[0], ++ eeprom_buffer.mac_addr[1], ++ eeprom_buffer.mac_addr[2], ++ eeprom_buffer.mac_addr[3], ++ eeprom_buffer.mac_addr[4], ++ eeprom_buffer.mac_addr[5]); ++ ++ memcpy(enetaddr, eeprom_buffer.mac_addr, 6); ++ ++ return 1; ++} ++ ++int misc_init_r(void) ++{ ++ uchar enetaddr[6]; ++ ++ /* set MAC address from EEPROM if read successful */ ++ if (board_get_enetaddr(enetaddr)) { ++ eth_setenv_enetaddr("ethaddr", enetaddr); ++ } ++ ++ return 0; ++} ++ ++int dram_init(void) ++{ ++ gd->ram_size = get_ram_size((void *) CONFIG_SYS_SDRAM_BASE, ++ CONFIG_SYS_SDRAM_SIZE); ++ return 0; ++} ++ -- cgit v1.2.3 From 09d5687f15a614cd928c5f484869b0c58a1e0193 Mon Sep 17 00:00:00 2001 From: John Klug Date: Mon, 8 May 2017 11:45:35 -0500 Subject: Remove device tree requirement --- recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch index 75dd42b..726b9bf 100644 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch @@ -18,7 +18,7 @@ diff -raNu old/configs/at91sam9x5ek_nandflash_defconfig new/configs/at91sam9x5ek CONFIG_USB_STORAGE=y CONFIG_OF_LIBFDT=y + -+CONFIG_OF_CONTROL=y ++CONFIG_OF_CONTROL=n +CONFIG_CMD_TFTPPUT=y +CONFIG_CMD_FAT=y +CONFIG_CMD_USB=y -- cgit v1.2.3 From 508fc63c5e9321e60eb892348f48ce6ed93d41ea Mon Sep 17 00:00:00 2001 From: John Klug Date: Tue, 9 May 2017 17:55:58 -0500 Subject: Switch from the driver model to the SYS model for I2C. --- .../u-boot/u-boot-2016.09.01/mtcdt/i2c.patch | 2 +- .../u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch | 70 ++++++++++------------ 2 files changed, 31 insertions(+), 41 deletions(-) diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch index ba9ca44..a5087ea 100644 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch @@ -108,7 +108,7 @@ diff -raNu old/include/i2c.h new/include/i2c.h void i2c_soft_delay(void); #endif -#else -+#else if !defined(CONFIG_DM_I2C_COMPAT) ++#elif !defined(CONFIG_DM_I2C_COMPAT) /* * Probe the given I2C chip address. Returns 0 if a chip responded, diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch index 800bdc7..d294bb2 100644 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch @@ -1,7 +1,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h --- old/include/configs/at91sam9x5ek.h 2017-05-04 13:59:37.381346896 -0500 -+++ new/include/configs/at91sam9x5ek.h 2017-05-05 08:32:35.950118228 -0500 -@@ -9,9 +9,12 @@ ++++ new/include/configs/at91sam9x5ek.h 2017-05-09 17:44:27.064308078 -0500 +@@ -9,9 +9,11 @@ #ifndef __CONFIG_H__ #define __CONFIG_H__ @@ -11,21 +11,19 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h -#define CONFIG_SYS_TEXT_BASE 0x26f00000 +#define USE_MTCDT +#define CONFIG_SYS_TEXT_BASE 0x2ef00000 -+ /* ARM asynchronous clock */ #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 -@@ -26,6 +29,9 @@ +@@ -26,6 +28,8 @@ #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_DISPLAY_CPUINFO -+ +#define CONFIG_MISC_INIT_R /* enable platform-dependent misc_init_r() */ + /* general purpose I/O */ #define CONFIG_ATMEL_LEGACY /* required until (g)pio is fixed */ #define CONFIG_AT91_GPIO -@@ -36,6 +42,8 @@ +@@ -36,6 +40,8 @@ #define CONFIG_USART_ID ATMEL_ID_SYS /* LCD */ @@ -34,7 +32,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h #define CONFIG_LCD #define LCD_BPP LCD_COLOR16 #define LCD_OUTPUT_BPP 24 -@@ -46,8 +54,15 @@ +@@ -46,7 +52,13 @@ #define CONFIG_ATMEL_HLCD #define CONFIG_ATMEL_LCD_RGB565 #define CONFIG_SYS_CONSOLE_IS_IN_ENV @@ -43,34 +41,26 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h +/* check for keypress even if bootdelay is 0 */ +#define CONFIG_ZERO_BOOTDELAY_CHECK - +/*STATUS LED*/ +#define BOOT_STATUS_LED AT91_PIN_PA24 -+ + /* * BOOTP options - */ -@@ -59,10 +74,16 @@ - /* no NOR flash */ +@@ -60,10 +72,10 @@ #define CONFIG_SYS_NO_FLASH --/* + /* - * Command line configuration. -+/* Needed to build the core directory */ -+#define CONFIG_DM -+ -+/* Compat needed or i2c read/write/init is not defined */ -+#define CONFIG_DM_I2C_COMPAT -+ -+/* Required to prevent conflicting definitions of -+ * I2C_GET_BUS and I2C_SET_BUS ++ * Defined by .config (configs/at91sam9x5ek) ++ * #define CONFIG_CMD_I2C */ -#define CONFIG_CMD_NAND -+#define CONFIG_DM_I2C - +- ++#define CONFIG_SYS_I2C /* * define CONFIG_USB_EHCI to enable USB Hi-Speed (aka 2.0) -@@ -72,7 +93,7 @@ + * NB: in this case, USB 1.1 devices won't be recognized. +@@ -72,7 +84,7 @@ /* SDRAM */ #define CONFIG_NR_DRAM_BANKS 1 #define CONFIG_SYS_SDRAM_BASE 0x20000000 @@ -79,7 +69,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h #define CONFIG_SYS_INIT_SP_ADDR \ (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE) -@@ -94,13 +115,30 @@ +@@ -94,13 +106,30 @@ /* our CLE is AD22 */ #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4 @@ -96,23 +86,23 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h +#define CONFIG_PMECC_CAP 4 #define CONFIG_PMECC_SECTOR_SIZE 512 +/* -++ * CONFIG_PMECC_INDEX_TABLE_OFFSET has been replaced by: -++ * ATMEL_PMECC_INDEX_OFFSET_512 and -++ * ATMEL_PMECC_INDEX_OFFSET_1024 -++ * -++ * Which is used depends on: -++ * host->pmecc_sector_size == 512 -++ * -++ * 2012.10: -++ * #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000 -++ * 2016.03 (at91sam9x5.h): -++ * 182:#define ATMEL_PMECC_INDEX_OFFSET_512 0x8000 -++ */ ++ * CONFIG_PMECC_INDEX_TABLE_OFFSET has been replaced by: ++ * ATMEL_PMECC_INDEX_OFFSET_512 and ++ * ATMEL_PMECC_INDEX_OFFSET_1024 ++ * ++ * Which as used depends on: ++ * host->pmecc_sector_size == 512 ++ * ++ * 2012.10: ++ * #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000 ++ * 2016.03 (at91sam9x5.h): ++ * 182:#define ATMEL_PMECC_INDEX_OFFSET_512 0x8000 ++ */ + #define CONFIG_CMD_NAND_TRIMFFS -@@ -147,20 +185,36 @@ +@@ -147,20 +176,36 @@ #endif #endif @@ -154,7 +144,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h #elif defined(CONFIG_SYS_USE_SPIFLASH) /* bootstrap + u-boot + env + linux in spi flash */ #define CONFIG_ENV_IS_IN_SPI_FLASH -@@ -197,6 +251,9 @@ +@@ -197,6 +242,9 @@ "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ "root=/dev/mmcblk0p2 " \ "rw rootfstype=ext4 rootwait" @@ -164,7 +154,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h #else #define CONFIG_BOOTARGS \ "console=ttyS0,115200 earlyprintk " \ -@@ -274,4 +331,20 @@ +@@ -274,4 +322,20 @@ #endif -- cgit v1.2.3 From d3cb81df6c8562266effaedeabb690adf8195142 Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 12 May 2017 14:02:51 -0500 Subject: u-boot patches including u-boot password --- .../u-boot/u-boot-2016.09.01/mtcdt/macb.patch | 54 ++++ .../u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch | 5 +- .../u-boot/u-boot-2016.09.01/mtcdt/mtpwd.patch | 302 +++++++++++++++++++++ .../u-boot-2016.09.01/mtcdt/printeepromcrc.patch | 56 ++++ recipes-bsp/u-boot/u-boot_2016.09.01.bb | 15 +- 5 files changed, 424 insertions(+), 8 deletions(-) create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/macb.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtpwd.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/printeepromcrc.patch diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/macb.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/macb.patch new file mode 100644 index 0000000..5869628 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/macb.patch @@ -0,0 +1,54 @@ +diff -raNu old/drivers/net/macb.c new/drivers/net/macb.c +--- old/drivers/net/macb.c 2017-05-11 16:08:48.747255895 -0500 ++++ new/drivers/net/macb.c 2017-05-12 09:55:17.331129433 -0500 +@@ -49,7 +49,7 @@ + #define MACB_RX_RING_SIZE (MACB_RX_BUFFER_SIZE / 128) + #define MACB_TX_RING_SIZE 16 + #define MACB_TX_TIMEOUT 1000 +-#define MACB_AUTONEG_TIMEOUT 5000000 ++#define MACB_AUTONEG_TIMEOUT 3000000 + + struct macb_dma_desc { + u32 addr; +@@ -419,7 +419,8 @@ + static void macb_phy_reset(struct macb_device *macb, const char *name) + { + int i; +- u16 status, adv; ++ u16 status = 0; ++ u16 adv; + + adv = ADVERTISE_CSMA | ADVERTISE_ALL; + macb_mdio_write(macb, MII_ADVERTISE, adv); +@@ -439,6 +440,7 @@ + else + printf("%s: Autonegotiation timed out (status=0x%04x)\n", + name, status); ++ + } + + #ifdef CONFIG_MACB_SEARCH_PHY +@@ -479,7 +481,6 @@ + u32 ncfgr; + u16 phy_id, status, adv, lpa; + int media, speed, duplex; +- int i; + + arch_get_mdio_control(name); + #ifdef CONFIG_MACB_SEARCH_PHY +@@ -515,14 +516,7 @@ + status = macb_mdio_read(macb, MII_BMSR); + if (!(status & BMSR_LSTATUS)) { + /* Try to re-negotiate if we don't have link already. */ +- macb_phy_reset(macb, name); +- +- for (i = 0; i < MACB_AUTONEG_TIMEOUT / 100; i++) { +- status = macb_mdio_read(macb, MII_BMSR); +- if (status & BMSR_LSTATUS) +- break; +- udelay(100); +- } ++ macb_phy_reset(macb,name); + } + + if (!(status & BMSR_LSTATUS)) { diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch index d294bb2..4f265df 100644 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch @@ -1,6 +1,6 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h --- old/include/configs/at91sam9x5ek.h 2017-05-04 13:59:37.381346896 -0500 -+++ new/include/configs/at91sam9x5ek.h 2017-05-09 17:44:27.064308078 -0500 ++++ new/include/configs/at91sam9x5ek.h 2017-05-11 08:31:30.258358272 -0500 @@ -9,9 +9,11 @@ #ifndef __CONFIG_H__ #define __CONFIG_H__ @@ -154,7 +154,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h #else #define CONFIG_BOOTARGS \ "console=ttyS0,115200 earlyprintk " \ -@@ -274,4 +322,20 @@ +@@ -274,4 +322,21 @@ #endif @@ -170,6 +170,7 @@ diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h +/* MTCDT - enable watchdog */ +#define CONFIG_AT91SAM9_WATCHDOG 1 +#define CONFIG_HW_WATCHDOG 1 ++#define CONFIG_AT91_HW_WDT_TIMEOUT 16 +#define CONFIG_EXTRA_ENV_SETTINGS \ + "kernel_addr=0x200000\0" \ + "" diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtpwd.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtpwd.patch new file mode 100644 index 0000000..a97b976 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtpwd.patch @@ -0,0 +1,302 @@ +diff -raNu old/common/cli.c new/common/cli.c +--- old/common/cli.c 2017-05-11 17:59:53.806580961 -0500 ++++ new/common/cli.c 2017-05-11 18:06:16.575014377 -0500 +@@ -227,6 +227,7 @@ + + void cli_init(void) + { ++ mts_run_passwd_loop(); + #ifdef CONFIG_HUSH_PARSER + u_boot_hush_start(); + #endif +diff -raNu old/common/Makefile new/common/Makefile +--- old/common/Makefile 2017-05-11 18:07:26.904563771 -0500 ++++ new/common/Makefile 2017-05-11 18:09:05.514736126 -0500 +@@ -164,5 +164,6 @@ + obj-y += command.o + obj-y += s_record.o + obj-y += xyzModem.o ++obj-$(CONFIG_MTS_PASSWD) += mts_passwd.o + + CFLAGS_env_embedded.o := -Wa,--no-warn -DENV_CRC=$(shell tools/envcrc 2>/dev/null) +diff -raNu old/common/mts_passwd.c new/common/mts_passwd.c +--- old/common/mts_passwd.c 1969-12-31 18:00:00.000000000 -0600 ++++ new/common/mts_passwd.c 2017-05-12 13:15:54.928180929 -0500 +@@ -0,0 +1,248 @@ ++#include ++#include ++#include ++#include ++#include ++ ++#define MTS_PASSWD_ATTEMPTS (3) ++#define MTS_PASSWD_MAX_LEN (30) ++#define MTS_PASSWD_HASH_VAR "mtsp" ++#define MTS_PASSWD_SALT_VAR "mtss" ++#define MTS_PASSWD_PROMPT "Enter password : " ++ ++static ++void mts_do_reset(unsigned long delay) ++{ ++ mdelay(delay); ++ do_reset(NULL, 0, 0, NULL); ++} ++ ++/* ++ * ++ * Figure out if device is locked or not ++ * ++ */ ++static ++int mts_get_protection_status(void) ++{ ++ int rc = 0; /* UNLOCKED */ ++ char *var = NULL; ++ int len; ++ ++ var = getenv(MTS_PASSWD_HASH_VAR); ++ ++ do { ++ /* Variable is not set */ ++ if (!var) break; ++ ++ len = strlen(var); ++ ++ /* Variable is empty */ ++ if (len == 0) break; ++ ++ /* ++ * Length should be correct. Otherwise, do not unlock the device, just show the message and reset. ++ */ ++ if (len != 2*SHA256_SUM_LEN) { ++ puts("WARNING: password is corrupted\n"); ++ mts_do_reset(1000); ++ } ++ ++ /* LOCKED */ ++ rc = 1; ++ ++ } while (0); ++ ++ return rc; ++} ++ ++ ++/* ++ * ++ * Helper function for the password reading ++ * ++ */ ++static ++char *mts_password_delete_char(char *buffer, char *p, int *colp, int *np, int plen) ++{ ++ static char erase_seq[] = "\b \b"; ++ ++ if (*np == 0) { ++ return (p); ++ } ++ ++ --p; ++ puts(erase_seq); ++ (*colp)--; ++ ++ (*np)--; ++ return (p); ++} ++ ++/* ++ * ++ * Read password helper ++ * ++ */ ++static ++int mts_password_into_buffer(const char *const prompt, char *buf, size_t buflen) ++{ ++ char *p = buf; ++ char *p_buf = p; ++ int n = 0; /* buffer index */ ++ int plen = 0; /* prompt length */ ++ int col; /* output column cnt */ ++ char c; ++ ++ /* print prompt */ ++ if (prompt) { ++ plen = strlen(prompt); ++ puts (prompt); ++ } ++ ++ col = plen; ++ ++ for (;;) { ++ ++ WATCHDOG_RESET(); ++ ++ c = getc(); ++ ++ /* ++ * Special character handling ++ */ ++ switch (c) { ++ case '\r': /* Enter */ ++ case '\n': ++ *p = '\0'; ++ puts("\r\n"); ++ return (p - p_buf); ++ ++ case '\0': /* nul */ ++ case '\t': ++ continue; ++ ++ case 0x03: /* ^C - break */ ++ p_buf[0] = '\0'; /* discard input */ ++ puts("\r\n"); ++ return (-1); ++ ++ case 0x08: /* ^H - backspace */ ++ case 0x7F: /* DEL - backspace */ ++ p = mts_password_delete_char(p_buf, p, &col, &n, plen); ++ continue; ++ ++ default: ++ /* ++ * Must be a normal character then ++ */ ++ if (n < buflen - 2) { ++ ++col; /* echo input */ ++ *p++ = c; ++ ++n; ++ } ++ putc('*'); ++ } ++ } ++} ++ ++/* ++ * ++ * Read the password from input ++ * ++ */ ++static ++int read_password(char *buf, size_t buflen) ++{ ++ return mts_password_into_buffer(MTS_PASSWD_PROMPT, buf, buflen); ++} ++ ++/* ++ * ++ * Verify if the entered password is correct. ++ * ++ */ ++static ++int verify_password(char *pwd, size_t pwdlen) ++{ ++ char *hash_env = getenv(MTS_PASSWD_HASH_VAR);; ++ char *salt_env = getenv(MTS_PASSWD_SALT_VAR); ++ ++ if (pwd && pwdlen > 0 && hash_env && (strlen(hash_env) == 2*SHA256_SUM_LEN)) { ++ uint8_t hash[SHA256_SUM_LEN]; ++ uint8_t prefix[]={'0','3','e','3'}; ++ sha256_context ctx; ++ char tmp[3]; ++ int i; ++ ++ sha256_starts(&ctx); ++ sha256_update(&ctx, prefix, 4); ++ sha256_update(&ctx, (uint8_t *) pwd, pwdlen); ++ if (salt_env) { ++ size_t saltlen = strlen(salt_env); ++ sha256_update(&ctx, (uint8_t *) salt_env, saltlen); ++ } ++ sha256_finish(&ctx, hash); ++ memset(&ctx, 0, sizeof(sha256_context)); ++ ++ for (i = 0; i < SHA256_SUM_LEN; i++) { ++ snprintf(tmp, sizeof tmp, "%02x", hash[i]); ++ if (tolower(tmp[0]) != tolower(hash_env[2*i]) || ++ tolower(tmp[1]) != tolower(hash_env[2*i + 1])) { ++ break; ++ } ++ } ++ ++ if (i == SHA256_SUM_LEN) { ++ return 1; ++ } ++ } ++ ++ return 0; ++} ++ ++/* ++ * ++ * Check is the device is locked and ask the password. ++ * ++ */ ++void mts_run_passwd_loop(void) ++{ ++ char buf[MTS_PASSWD_MAX_LEN] = "\0"; ++ unsigned long delay = 1000; /* 1 second initially */ ++ int len; ++ int trynr = 0; ++ ++ /* Do not delete */ ++ printf("", "mts password protected"); ++ ++ if (mts_get_protection_status() == 0) { ++ return; ++ } ++ ++ while (1) { ++ if (trynr == MTS_PASSWD_ATTEMPTS) { ++ mts_do_reset(1000); ++ } ++ ++ len = read_password(buf, MTS_PASSWD_MAX_LEN); ++ if (len > 0) { ++ if (verify_password(buf, len)) { ++ /* zero out */ ++ memset(buf, 0, sizeof(buf)); ++ return; ++ } ++ puts("Permission denied\n"); ++ } ++ ++ trynr++; ++ ++ /* progressive delay */ ++ mdelay(delay); ++ delay *= 2; ++ if (delay > 4000) delay = 4000; ++ } ++ /* zero out */ ++ memset(buf, 0, sizeof(buf)); ++ return; ++} +diff -raNu old/include/common.h new/include/common.h +--- old/include/common.h 2017-05-12 10:49:29.391203966 -0500 ++++ new/include/common.h 2017-05-12 10:49:13.170842438 -0500 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #if defined(CONFIG_PCI) && defined(CONFIG_4xx) + #include + #endif +diff -raNu old/include/mts_passwd.h new/include/mts_passwd.h +--- old/include/mts_passwd.h 1969-12-31 18:00:00.000000000 -0600 ++++ new/include/mts_passwd.h 2017-05-12 10:46:40.459437214 -0500 +@@ -0,0 +1,13 @@ ++#ifndef _MTS_PASSWD_H ++#define _MTS_PASSWD_H ++ ++#define CONFIG_MTS_PASSWD ++ ++#if defined(CONFIG_MTS_PASSWD) ++#define CONFIG_SHA256 ++void mts_run_passwd_loop(void); ++#else ++#define mts_run_passwd_loop() {} ++#endif ++ ++#endif +\ No newline at end of file diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/printeepromcrc.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/printeepromcrc.patch new file mode 100644 index 0000000..19fca02 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/printeepromcrc.patch @@ -0,0 +1,56 @@ +diff -raNu old/common/env_nand.c new/common/env_nand.c +--- old/common/env_nand.c 2017-05-11 16:27:26.160067136 -0500 ++++ new/common/env_nand.c 2017-05-11 16:44:12.134434145 -0500 +@@ -68,15 +68,22 @@ + #if defined(ENV_IS_EMBEDDED) || defined(CONFIG_NAND_ENV_DST) + int crc1_ok = 0, crc2_ok = 0; + env_t *tmp_env1; ++ uint32_t calc_crc; + + #ifdef CONFIG_ENV_OFFSET_REDUND + env_t *tmp_env2; + + tmp_env2 = (env_t *)((ulong)env_ptr + CONFIG_ENV_SIZE); +- crc2_ok = crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc; ++ calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); ++ crc2_ok = (calc_crc == tmp_env2->crc); ++ printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", ++ crc2_ok,tmp_env2->crc,calc_crc,tmp_env2->flags); + #endif + tmp_env1 = env_ptr; +- crc1_ok = crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc; ++ calc_crc = crc32(0, tmp_env1->data, ENV_SIZE); ++ crc1_ok = (calc_crc == tmp_env1->crc); ++ printf("env_relocate_spec: crc1_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", ++ crc1_ok,tmp_env1->crc,calc_crc,tmp_env1->flags); + + if (!crc1_ok && !crc2_ok) { + gd->env_addr = 0; +@@ -317,6 +324,7 @@ + int read1_fail = 0, read2_fail = 0; + int crc1_ok = 0, crc2_ok = 0; + env_t *ep, *tmp_env1, *tmp_env2; ++ uint32_t calc_crc; + + tmp_env1 = (env_t *)malloc(CONFIG_ENV_SIZE); + tmp_env2 = (env_t *)malloc(CONFIG_ENV_SIZE); +@@ -334,11 +342,16 @@ + else if (read1_fail || read2_fail) + puts("*** Warning - some problems detected " + "reading environment; recovered successfully\n"); +- ++ calc_crc = crc32(0, tmp_env1->data, ENV_SIZE); + crc1_ok = !read1_fail && +- (crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc); ++ (calc_crc == tmp_env1->crc); ++ printf("env_relocate_spec: crc1_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", ++ crc1_ok,tmp_env1->crc,calc_crc,tmp_env1->flags); ++ calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); + crc2_ok = !read2_fail && +- (crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc); ++ (calc_crc == tmp_env2->crc); ++ printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", ++ crc2_ok,tmp_env2->crc,calc_crc,tmp_env2->flags); + + if (!crc1_ok && !crc2_ok) { + set_default_env("!bad CRC"); diff --git a/recipes-bsp/u-boot/u-boot_2016.09.01.bb b/recipes-bsp/u-boot/u-boot_2016.09.01.bb index 2fb055a..8d209f2 100644 --- a/recipes-bsp/u-boot/u-boot_2016.09.01.bb +++ b/recipes-bsp/u-boot/u-boot_2016.09.01.bb @@ -5,10 +5,13 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-2016.09.01:" SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 \ file://mtcdt.patch \ - file://spl.patch \ - file://i2c.patch" -# This revision corresponds to the tag "v2016.03" -# We use the revision in order to avoid having to fetch it from the -# repo during parse -SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa" + file://config.patch \ + file://i2c.patch \ + file://macb.patch \ + file://printeepromcrc.patch \ + file://mtpwd.patch" +SRC_URI[md5sum] = "61c628f8034477c946e173ed174efeb4" +SRC_URI[sha256sum] = "95728e89dd476d17428f94080752ab48884be477b6a678941582aeef618b70bb" + +S = "${WORKDIR}/${PN}-${PV}" -- cgit v1.2.3 From bf821d0e8272f487a9f8d689570742e69d487f3f Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 12 May 2017 14:42:54 -0500 Subject: New u-boot --- conf/machine/mtcdt.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index a4e1ba7..58339dd 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -22,7 +22,7 @@ SERIAL_CONSOLES = "115200;ttyS0" USE_VT = "0" UBOOT_MACHINE = "at91sam9x5ek_nandflash_config" -PREFERRED_VERSION_u-boot = "2012.10" +PREFERRED_VERSION_u-boot = "2016.09.01" AT91BOOTSTRAP_BOARD = "at91sam9x5eknf_uboot" PREFERRED_VERSION_at91bootstrap = "3.5.3" -- cgit v1.2.3 From f8f2917c2aba2563ca4501ae495dba708e8d0844 Mon Sep 17 00:00:00 2001 From: John Klug Date: Tue, 23 May 2017 18:23:27 -0500 Subject: Set the orig file to match the old at91bootstrap build. --- .../at91bootstrap/at91bootstrap_3.5.3.bb.orig | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig diff --git a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig new file mode 100644 index 0000000..c6ae7a7 --- /dev/null +++ b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb.orig @@ -0,0 +1,31 @@ +require at91bootstrap_3.5.inc + +PR = "r2" + +LICENSE = "custom-freely-distributable" +LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6fca71334c9e8b7d033296123c91437f" + +SRCREV = "v${PV}" +SRC_URI = "git://github.com/linux4sam/at91bootstrap \ + file://at91bootstrap-3.5.2-add-install.patch \ + file://at91bootstrap-3.5.2-onetime-slow-clock-switch.patch \ + file://at91sam9x5_4bit_pmecc_header.bin \ + file://at91bootstrap-3.5.3-remove-std-includes.patch \ + " + +S = "${WORKDIR}/git" + +SRC_URI_append_mtcdt = " file://at91bootstrap-3.5.3-mtcdt.patch " +SRC_URI_append_mtcap = " file://at91bootstrap-3.5.3-mtcdt.patch " + +# 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() { + do_pad_4bit_pmecc +} + -- cgit v1.2.3 From 5d39698353bd7ea0a4c256893c55c8a0279289b6 Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 6 Apr 2017 11:16:06 -0500 Subject: Add patch for CRC Debug to u-boot --- .../u-boot/u-boot-2012.10/u-boot-env-crc-dbg.patch | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-env-crc-dbg.patch b/recipes-bsp/u-boot/u-boot-2012.10/u-boot-env-crc-dbg.patch index 418a734..fccfbe3 100644 --- a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-env-crc-dbg.patch +++ b/recipes-bsp/u-boot/u-boot-2012.10/u-boot-env-crc-dbg.patch @@ -2,7 +2,11 @@ Print out CRC values for environment diff --git a/common/env_nand.c b/common/env_nand.c +<<<<<<< HEAD index 79e8033..5536a39 100644 +======= +index 79e8033..9a9bac7 100644 +>>>>>>> Add patch for CRC Debug to u-boot --- a/common/env_nand.c +++ b/common/env_nand.c @@ -83,15 +83,22 @@ int env_init(void) @@ -19,14 +23,22 @@ index 79e8033..5536a39 100644 + calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); + crc2_ok = calc_crc == tmp_env2->crc; + printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", +<<<<<<< HEAD + crc2_ok,tmp_env2->crc,calc_crc,tmp_env2->flags); +======= ++ crc2_ok,calc_crc,tmp_env2->crc,tmp_env2->flags); +>>>>>>> Add patch for CRC Debug to u-boot #endif tmp_env1 = env_ptr; - crc1_ok = crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc; + calc_crc = crc32(0, tmp_env1->data, ENV_SIZE); + crc1_ok = saved_crc == tmp_env1->crc; + printf("env_relocate_spec: crc1_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", +<<<<<<< HEAD + crc1_ok,tmp_env1->crc,calc_crc,tmp_env1->flags); +======= ++ crc1_ok,calc_crc,tmp_env1->crc,tmp_env1->flags); +>>>>>>> Add patch for CRC Debug to u-boot if (!crc1_ok && !crc2_ok) { gd->env_addr = 0; @@ -48,11 +60,19 @@ index 79e8033..5536a39 100644 + calc_crc = crc32(0, tmp_env1->data, ENV_SIZE); + crc1_ok = calc_crc == tmp_env1->crc; + printf("env_relocate_spec: crc1_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", +<<<<<<< HEAD + crc1_ok,tmp_env1->crc,calc_crc,tmp_env1->flags); + calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); + crc2_ok = calc_crc == tmp_env2->crc; + printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", + crc2_ok,tmp_env2->crc,calc_crc,tmp_env2->flags); +======= ++ crc1_ok,calc_crc,tmp_env1->crc,tmp_env1->flags); ++ calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); ++ crc2_ok = calc_crc == tmp_env2->crc; ++ printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", ++ crc2_ok,calc_crc,tmp_env2->crc,tmp_env2->flags); +>>>>>>> Add patch for CRC Debug to u-boot if (!crc1_ok && !crc2_ok) { set_default_env("!bad CRC"); -- cgit v1.2.3 From 826ba8a610c18bb8cd6c9e1bcc7f35c7bd428808 Mon Sep 17 00:00:00 2001 From: John Klug Date: Tue, 11 Apr 2017 09:56:56 -0500 Subject: Add header files to u-boot developer package. --- recipes-bsp/u-boot/u-boot.inc | 4 +- recipes-bsp/u-boot/u-boot.inc.orig | 89 -------------------------------------- 2 files changed, 3 insertions(+), 90 deletions(-) delete mode 100644 recipes-bsp/u-boot/u-boot.inc.orig diff --git a/recipes-bsp/u-boot/u-boot.inc b/recipes-bsp/u-boot/u-boot.inc index 2795dc3..6db11f8 100644 --- a/recipes-bsp/u-boot/u-boot.inc +++ b/recipes-bsp/u-boot/u-boot.inc @@ -67,6 +67,8 @@ UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}" FILES_${PN}-dev += "${includedir}/u-boot/* ${includedir}/u-boot/configs/* ${includedir}/u-boot/asm/*" +FILES_${PN}-dev += "${includedir}/u-boot/* ${includedir}/u-boot/configs/* ${includedir}/u-boot/asm/*" + do_compile () { if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk @@ -189,7 +191,7 @@ do_install () { fi mkdir -p ${D}/usr/include/u-boot || true (cd ${S}/include;find . | cpio -pdum ${D}/usr/include/u-boot) - (cd ${S} ; rm ${D}/usr/include/u-boot/asm ; cd arch/arm/include ; find asm | cpio -pdum ${D}/usr/include/u-boot) + (cd ${S} ; rm -f ${D}/usr/include/u-boot/asm ; cd arch/arm/include ; find asm | cpio -pdum ${D}/usr/include/u-boot) } FILES_${PN} = "/boot ${sysconfdir}" diff --git a/recipes-bsp/u-boot/u-boot.inc.orig b/recipes-bsp/u-boot/u-boot.inc.orig deleted file mode 100644 index 38a8a79..0000000 --- a/recipes-bsp/u-boot/u-boot.inc.orig +++ /dev/null @@ -1,89 +0,0 @@ -DESCRIPTION = "U-Boot - the Universal Boot Loader" -HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome" -SECTION = "bootloaders" -PROVIDES = "virtual/bootloader" - -inherit uboot-config deploy - -PACKAGE_ARCH = "${MACHINE_ARCH}" -EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"' - -# Allow setting an additional version string that will be picked up by the -# u-boot build system and appended to the u-boot version. If the .scmversion -# file already exists it will not be overwritten. -UBOOT_LOCALVERSION ?= "" - -# Some versions of u-boot use .bin and others use .img. By default use .bin -# but enable individual recipes to change this value. -UBOOT_SUFFIX ?= "bin" -UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}" -UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" -UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}" -UBOOT_MAKE_TARGET ?= "all" - -# Some versions of u-boot build an SPL (Second Program Loader) image that -# should be packaged along with the u-boot binary as well as placed in the -# deploy directory. For those versions they can set the following variables -# to allow packaging the SPL. -SPL_BINARY ?= "" -SPL_IMAGE ?= "${SPL_BINARY}-${MACHINE}-${PV}-${PR}" -SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}" - -do_compile () { - if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then - sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk - fi - - unset LDFLAGS - unset CFLAGS - unset CPPFLAGS - - if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ] - then - echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion - echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion - fi - - oe_runmake ${UBOOT_MACHINE} - oe_runmake ${UBOOT_MAKE_TARGET} -} - -do_install () { - install -d ${D}/boot - install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} - ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} - - if [ -e ${WORKDIR}/fw_env.config ] ; then - install -d ${D}${sysconfdir} - install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config - fi - - if [ "x${SPL_BINARY}" != "x" ] - then - install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE} - ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY} - fi -} - -FILES_${PN} = "/boot ${sysconfdir}" -FILESPATH =. "${FILE_DIRNAME}/u-boot-git/${MACHINE}:" - -do_deploy () { - install -d ${DEPLOYDIR} - install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} - - cd ${DEPLOYDIR} - rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK} - ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK} - ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY} - - if [ "x${SPL_BINARY}" != "x" ] - then - install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE} - rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK} - ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY} - ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK} - fi -} - -addtask deploy before do_build after do_compile -- cgit v1.2.3 From a3e16dedfd5d7ea16b464e5564145caaefe06d67 Mon Sep 17 00:00:00 2001 From: John Klug Date: Tue, 11 Apr 2017 10:00:21 -0500 Subject: Print out CRC in correct order. --- .../u-boot/u-boot-2012.10/u-boot-env-crc-dbg.patch | 78 ---------------------- 1 file changed, 78 deletions(-) delete mode 100644 recipes-bsp/u-boot/u-boot-2012.10/u-boot-env-crc-dbg.patch diff --git a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-env-crc-dbg.patch b/recipes-bsp/u-boot/u-boot-2012.10/u-boot-env-crc-dbg.patch deleted file mode 100644 index fccfbe3..0000000 --- a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-env-crc-dbg.patch +++ /dev/null @@ -1,78 +0,0 @@ - - Print out CRC values for environment - -diff --git a/common/env_nand.c b/common/env_nand.c -<<<<<<< HEAD -index 79e8033..5536a39 100644 -======= -index 79e8033..9a9bac7 100644 ->>>>>>> Add patch for CRC Debug to u-boot ---- a/common/env_nand.c -+++ b/common/env_nand.c -@@ -83,15 +83,22 @@ int env_init(void) - #if defined(ENV_IS_EMBEDDED) || defined(CONFIG_NAND_ENV_DST) - int crc1_ok = 0, crc2_ok = 0; - env_t *tmp_env1; -+ uint32_t calc_crc; - - #ifdef CONFIG_ENV_OFFSET_REDUND - env_t *tmp_env2; - - tmp_env2 = (env_t *)((ulong)env_ptr + CONFIG_ENV_SIZE); -- crc2_ok = crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc; -+ calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); -+ crc2_ok = calc_crc == tmp_env2->crc; -+ printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", -<<<<<<< HEAD -+ crc2_ok,tmp_env2->crc,calc_crc,tmp_env2->flags); -======= -+ crc2_ok,calc_crc,tmp_env2->crc,tmp_env2->flags); ->>>>>>> Add patch for CRC Debug to u-boot - #endif - tmp_env1 = env_ptr; -- crc1_ok = crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc; -+ calc_crc = crc32(0, tmp_env1->data, ENV_SIZE); -+ crc1_ok = saved_crc == tmp_env1->crc; -+ printf("env_relocate_spec: crc1_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", -<<<<<<< HEAD -+ crc1_ok,tmp_env1->crc,calc_crc,tmp_env1->flags); -======= -+ crc1_ok,calc_crc,tmp_env1->crc,tmp_env1->flags); ->>>>>>> Add patch for CRC Debug to u-boot - - if (!crc1_ok && !crc2_ok) { - gd->env_addr = 0; -@@ -333,6 +340,7 @@ void env_relocate_spec(void) - #if !defined(ENV_IS_EMBEDDED) - int crc1_ok = 0, crc2_ok = 0; - env_t *ep, *tmp_env1, *tmp_env2; -+ uint32_t calc_crc; - - tmp_env1 = (env_t *)malloc(CONFIG_ENV_SIZE); - tmp_env2 = (env_t *)malloc(CONFIG_ENV_SIZE); -@@ -347,9 +355,14 @@ void env_relocate_spec(void) - - if (readenv(CONFIG_ENV_OFFSET_REDUND, (u_char *) tmp_env2)) - puts("No Valid Redundant Environment Area found\n"); -- -- crc1_ok = crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc; -- crc2_ok = crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc; -+ calc_crc = crc32(0, tmp_env1->data, ENV_SIZE); -+ crc1_ok = calc_crc == tmp_env1->crc; -+ printf("env_relocate_spec: crc1_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", -<<<<<<< HEAD -+ crc1_ok,tmp_env1->crc,calc_crc,tmp_env1->flags); -+ calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); -+ crc2_ok = calc_crc == tmp_env2->crc; -+ printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", -+ crc2_ok,tmp_env2->crc,calc_crc,tmp_env2->flags); -======= -+ crc1_ok,calc_crc,tmp_env1->crc,tmp_env1->flags); -+ calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); -+ crc2_ok = calc_crc == tmp_env2->crc; -+ printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", -+ crc2_ok,calc_crc,tmp_env2->crc,tmp_env2->flags); ->>>>>>> Add patch for CRC Debug to u-boot - - if (!crc1_ok && !crc2_ok) { - set_default_env("!bad CRC"); -- cgit v1.2.3 From ee0f3d538014ead267e0811557738e6b205c737e Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 12 May 2017 18:26:28 -0500 Subject: Merging morty with master (Daisy). --- conf/machine/mtcdt.conf | 6 +- ...strap-3.5.2-onetime-slow-clock-switch.patch.swp | Bin 0 -> 12288 bytes recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb | 30 ------- recipes-bsp/u-boot/u-boot.inc | 3 - recipes-bsp/u-boot/u-boot.inc.orig | 89 +++++++++++++++++++++ recipes-bsp/u-boot/u-boot_2012.10.bb | 42 ---------- recipes-bsp/u-boot/u-boot_2016.03.bb | 3 + recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig | 4 + 8 files changed, 101 insertions(+), 76 deletions(-) create mode 100644 recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp delete mode 100644 recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb create mode 100644 recipes-bsp/u-boot/u-boot.inc.orig delete mode 100644 recipes-bsp/u-boot/u-boot_2012.10.bb diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index 58339dd..0fef766 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -14,7 +14,10 @@ PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" DEFAULTTUNE = "arm926ejs" TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s" TUNE_FEATURES = "arm armv5 thumb dsp arm926ejs" +<<<<<<< HEAD ARMPKGSFX_THUMB="t" +======= +>>>>>>> Initial commit of Yocto 2.1 changes # used by sysvinit_2 SERIAL_CONSOLES = "115200;ttyS0" @@ -31,7 +34,8 @@ KERNEL_IMAGETYPE = "uImage" # remove kernel-image from rootfs by overriding kernel-base DEPS RDEPENDS_kernel-base = "" -EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot" +#EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot" +EXTRA_IMAGEDEPENDS += "u-boot" IMAGE_FSTYPES =+ "jffs2 tar.gz" EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 -n" diff --git a/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp b/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp new file mode 100644 index 0000000..f31477d Binary files /dev/null and b/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/.at91bootstrap-3.5.2-onetime-slow-clock-switch.patch.swp differ diff --git a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb deleted file mode 100644 index 2e5f086..0000000 --- a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb +++ /dev/null @@ -1,30 +0,0 @@ -require at91bootstrap_3.5.inc - -PR = "r3" - -LICENSE = "custom-freely-distributable" -LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6fca71334c9e8b7d033296123c91437f" - -SRCREV = "v${PV}" -SRC_URI = "git://github.com/linux4sam/at91bootstrap \ - file://at91bootstrap-3.5.2-add-install.patch \ - file://at91bootstrap-3.5.2-onetime-slow-clock-switch.patch \ - file://at91sam9x5_4bit_pmecc_header.bin \ - file://at91bootstrap-3.5.3-disable-rtc-interrupts.patch" - -S = "${WORKDIR}/git" - -SRC_URI_append_mtcdt = " file://at91bootstrap-3.5.3-mtcdt.patch " -SRC_URI_append_mtcap = " file://at91bootstrap-3.5.3-mtcdt.patch " - -# 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() { - do_pad_4bit_pmecc -} - diff --git a/recipes-bsp/u-boot/u-boot.inc b/recipes-bsp/u-boot/u-boot.inc index 6db11f8..d004d85 100644 --- a/recipes-bsp/u-boot/u-boot.inc +++ b/recipes-bsp/u-boot/u-boot.inc @@ -64,9 +64,6 @@ UBOOT_ENV ?= "" UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}" UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}" UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}" - -FILES_${PN}-dev += "${includedir}/u-boot/* ${includedir}/u-boot/configs/* ${includedir}/u-boot/asm/*" - FILES_${PN}-dev += "${includedir}/u-boot/* ${includedir}/u-boot/configs/* ${includedir}/u-boot/asm/*" do_compile () { diff --git a/recipes-bsp/u-boot/u-boot.inc.orig b/recipes-bsp/u-boot/u-boot.inc.orig new file mode 100644 index 0000000..38a8a79 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot.inc.orig @@ -0,0 +1,89 @@ +DESCRIPTION = "U-Boot - the Universal Boot Loader" +HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome" +SECTION = "bootloaders" +PROVIDES = "virtual/bootloader" + +inherit uboot-config deploy + +PACKAGE_ARCH = "${MACHINE_ARCH}" +EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"' + +# Allow setting an additional version string that will be picked up by the +# u-boot build system and appended to the u-boot version. If the .scmversion +# file already exists it will not be overwritten. +UBOOT_LOCALVERSION ?= "" + +# Some versions of u-boot use .bin and others use .img. By default use .bin +# but enable individual recipes to change this value. +UBOOT_SUFFIX ?= "bin" +UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}" +UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" +UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}" +UBOOT_MAKE_TARGET ?= "all" + +# Some versions of u-boot build an SPL (Second Program Loader) image that +# should be packaged along with the u-boot binary as well as placed in the +# deploy directory. For those versions they can set the following variables +# to allow packaging the SPL. +SPL_BINARY ?= "" +SPL_IMAGE ?= "${SPL_BINARY}-${MACHINE}-${PV}-${PR}" +SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}" + +do_compile () { + if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then + sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk + fi + + unset LDFLAGS + unset CFLAGS + unset CPPFLAGS + + if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ] + then + echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion + echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion + fi + + oe_runmake ${UBOOT_MACHINE} + oe_runmake ${UBOOT_MAKE_TARGET} +} + +do_install () { + install -d ${D}/boot + install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} + + if [ -e ${WORKDIR}/fw_env.config ] ; then + install -d ${D}${sysconfdir} + install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config + fi + + if [ "x${SPL_BINARY}" != "x" ] + then + install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE} + ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY} + fi +} + +FILES_${PN} = "/boot ${sysconfdir}" +FILESPATH =. "${FILE_DIRNAME}/u-boot-git/${MACHINE}:" + +do_deploy () { + install -d ${DEPLOYDIR} + install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + + cd ${DEPLOYDIR} + rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY} + + if [ "x${SPL_BINARY}" != "x" ] + then + install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE} + rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK} + ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY} + ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK} + fi +} + +addtask deploy before do_build after do_compile diff --git a/recipes-bsp/u-boot/u-boot_2012.10.bb b/recipes-bsp/u-boot/u-boot_2012.10.bb deleted file mode 100644 index 51cd565..0000000 --- a/recipes-bsp/u-boot/u-boot_2012.10.bb +++ /dev/null @@ -1,42 +0,0 @@ -PR = "r7" -require u-boot.inc - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb" - -DEFAULT_PREFERENCE = "-1" - -# U-Boot 2012.10 for AT91 -# tag: linux4sam_4.0 -SRCREV="8978bdafbad84c0c9878c9ff331930ca6edf9a76" - -SRC_URI = "git://github.com/linux4sam/u-boot-at91.git;branch=u-boot-2012.10-at91 \ - file://u-boot-2012.10-sam9x5-eth-mii-fix.patch \ - file://u-boot-env-crc-dbg.patch \ - " - -# add patch to speed up boot if ethernet autonegotiation fails -SRC_URI += "file://u-boot-2010.06-macb-autoneg-timeout.patch" -# add password protection patch -SRC_URI += "file://u-boot-2012.10-pwd.patch" - -SRC_URI_append_mtcdt = " file://u-boot-2012.10-mtcdt.patch" -SRC_URI_append_mtcap = " file://u-boot-2012.10-mtcdt.patch" - -TARGET_LDFLAGS = "" - -S = "${WORKDIR}/git" - -inherit base - -do_configure_prepend() { - mv -f tools/setlocalversion tools/setlocalversion.old - echo -e "#!/bin/sh\necho '-${MACHINE}-${PR}'" > tools/setlocalversion - chmod a+rx tools/setlocalversion -} - -do_compile () { - oe_runmake ${UBOOT_MACHINE} - oe_runmake all -} - diff --git a/recipes-bsp/u-boot/u-boot_2016.03.bb b/recipes-bsp/u-boot/u-boot_2016.03.bb index 1f58b50..77fce05 100644 --- a/recipes-bsp/u-boot/u-boot_2016.03.bb +++ b/recipes-bsp/u-boot/u-boot_2016.03.bb @@ -8,8 +8,11 @@ DEPENDS += "dtc-native" SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa" PV = "v2016.03+git${SRCPV}" +<<<<<<< HEAD FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-2016.03:" SRC_URI += "file://mtcdt.patch" SRC_URI += "file://spl.patch" SRC_URI += "file://i2c.patch" +======= +>>>>>>> Initial commit of Yocto 2.1 changes diff --git a/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig b/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig index 9f5265e..82dc224 100644 --- a/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig +++ b/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig @@ -963,7 +963,11 @@ CONFIG_MTD_CFI_I2=y # Self-contained MTD device drivers # # CONFIG_MTD_DATAFLASH is not set +<<<<<<< HEAD CONFIG_MTD_M25P80=m +======= +# CONFIG_MTD_M25P80 is not set +>>>>>>> Initial commit of Yocto 2.1 changes # CONFIG_MTD_SST25L is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set -- cgit v1.2.3 From ffe02c4675e244a795484e7cc14bc72bacb4501b Mon Sep 17 00:00:00 2001 From: John Klug Date: Mon, 15 May 2017 09:35:36 -0500 Subject: Merge in some Yocto 2.1 code. --- conf/machine/mtcdt.conf | 3 --- recipes-bsp/u-boot/u-boot_2016.03.bb | 3 --- recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig | 5 +---- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index 0fef766..953f698 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -14,10 +14,7 @@ PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" DEFAULTTUNE = "arm926ejs" TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s" TUNE_FEATURES = "arm armv5 thumb dsp arm926ejs" -<<<<<<< HEAD ARMPKGSFX_THUMB="t" -======= ->>>>>>> Initial commit of Yocto 2.1 changes # used by sysvinit_2 SERIAL_CONSOLES = "115200;ttyS0" diff --git a/recipes-bsp/u-boot/u-boot_2016.03.bb b/recipes-bsp/u-boot/u-boot_2016.03.bb index 77fce05..1f58b50 100644 --- a/recipes-bsp/u-boot/u-boot_2016.03.bb +++ b/recipes-bsp/u-boot/u-boot_2016.03.bb @@ -8,11 +8,8 @@ DEPENDS += "dtc-native" SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa" PV = "v2016.03+git${SRCPV}" -<<<<<<< HEAD FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-2016.03:" SRC_URI += "file://mtcdt.patch" SRC_URI += "file://spl.patch" SRC_URI += "file://i2c.patch" -======= ->>>>>>> Initial commit of Yocto 2.1 changes diff --git a/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig b/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig index 82dc224..58025f7 100644 --- a/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig +++ b/recipes-kernel/linux/linux-3.12.70/mtcdt/defconfig @@ -963,11 +963,8 @@ CONFIG_MTD_CFI_I2=y # Self-contained MTD device drivers # # CONFIG_MTD_DATAFLASH is not set -<<<<<<< HEAD CONFIG_MTD_M25P80=m -======= -# CONFIG_MTD_M25P80 is not set ->>>>>>> Initial commit of Yocto 2.1 changes + # CONFIG_MTD_SST25L is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set -- cgit v1.2.3 From 1e99ea43c8f0bf651b1ca58b7eb2d6b1290b7550 Mon Sep 17 00:00:00 2001 From: John Klug Date: Tue, 16 May 2017 17:51:17 -0500 Subject: Build bootstrap --- conf/machine/mtcdt.conf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index 953f698..58339dd 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -31,8 +31,7 @@ KERNEL_IMAGETYPE = "uImage" # remove kernel-image from rootfs by overriding kernel-base DEPS RDEPENDS_kernel-base = "" -#EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot" -EXTRA_IMAGEDEPENDS += "u-boot" +EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot" IMAGE_FSTYPES =+ "jffs2 tar.gz" EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 -n" -- cgit v1.2.3 From 4adcba5cbd694f4a44d926c731ac19d03f7d10d7 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 17 May 2017 08:31:01 -0500 Subject: Put patches in the same location as prior u-boot recipes. --- recipes-bsp/u-boot/u-boot-2016.09.01/config.patch | 28 ++ recipes-bsp/u-boot/u-boot-2016.09.01/i2c.patch | 114 ++++++++ recipes-bsp/u-boot/u-boot-2016.09.01/macb.patch | 54 ++++ recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt.patch | 292 ++++++++++++++++++++ .../u-boot/u-boot-2016.09.01/mtcdt/config.patch | 28 -- .../u-boot/u-boot-2016.09.01/mtcdt/i2c.patch | 114 -------- .../u-boot/u-boot-2016.09.01/mtcdt/macb.patch | 54 ---- .../u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch | 292 -------------------- .../u-boot/u-boot-2016.09.01/mtcdt/mtpwd.patch | 302 --------------------- .../u-boot-2016.09.01/mtcdt/printeepromcrc.patch | 56 ---- recipes-bsp/u-boot/u-boot-2016.09.01/mtpwd.patch | 302 +++++++++++++++++++++ .../u-boot/u-boot-2016.09.01/printeepromcrc.patch | 56 ++++ 12 files changed, 846 insertions(+), 846 deletions(-) create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/config.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/i2c.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/macb.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt.patch delete mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch delete mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch delete mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/macb.patch delete mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch delete mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtpwd.patch delete mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/printeepromcrc.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/mtpwd.patch create mode 100644 recipes-bsp/u-boot/u-boot-2016.09.01/printeepromcrc.patch diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/config.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/config.patch new file mode 100644 index 0000000..726b9bf --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/config.patch @@ -0,0 +1,28 @@ +diff -raNu old/configs/at91sam9x5ek_nandflash_defconfig new/configs/at91sam9x5ek_nandflash_defconfig +--- old/configs/at91sam9x5ek_nandflash_defconfig 2017-05-04 14:33:41.143172324 -0500 ++++ new/configs/at91sam9x5ek_nandflash_defconfig 2017-05-04 17:54:27.132377607 -0500 +@@ -1,9 +1,9 @@ + CONFIG_ARM=y + CONFIG_ARCH_AT91=y + CONFIG_TARGET_AT91SAM9X5EK=y +-CONFIG_SPL=y ++CONFIG_SPL=n + CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH" +-CONFIG_BOOTDELAY=3 ++CONFIG_BOOTDELAY=0 + CONFIG_HUSH_PARSER=y + CONFIG_SYS_PROMPT="U-Boot> " + CONFIG_CMD_BOOTZ=y +@@ -23,3 +23,12 @@ + CONFIG_USB=y + CONFIG_USB_STORAGE=y + CONFIG_OF_LIBFDT=y ++ ++CONFIG_OF_CONTROL=n ++CONFIG_CMD_TFTPPUT=y ++CONFIG_CMD_FAT=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_NAND=y ++CONFIG_CMD_BOOTZ=y ++CONFIG_CMD_MII=y ++CONFIG_CMD_I2C=y diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/i2c.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/i2c.patch new file mode 100644 index 0000000..a5087ea --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/i2c.patch @@ -0,0 +1,114 @@ +diff -raNu old/include/i2c.h new/include/i2c.h +--- old/include/i2c.h 2017-04-28 17:26:27.854898005 -0500 ++++ new/include/i2c.h 2017-05-01 17:27:32.673437788 -0500 +@@ -17,6 +17,27 @@ + #ifndef _I2C_H_ + #define _I2C_H_ + ++#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ ++ _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \ ++ { \ ++ .init = _init, \ ++ .probe = _probe, \ ++ .read = _read, \ ++ .write = _write, \ ++ .set_bus_speed = _set_speed, \ ++ .speed = _speed, \ ++ .slaveaddr = _slaveaddr, \ ++ .init_done = 0, \ ++ .hwadapnr = _hwadapnr, \ ++ .name = #_name \ ++}; ++ ++#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \ ++ _set_speed, _speed, _slaveaddr, _hwadapnr) \ ++ ll_entry_declare(struct i2c_adapter, _name, i2c) = \ ++ U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ ++ _set_speed, _speed, _slaveaddr, _hwadapnr, _name); ++ + /* + * For now there are essentially two parts to this file - driver model + * here at the top, and the older code below (with CONFIG_SYS_I2C being +@@ -538,6 +559,26 @@ + */ + void i2c_dump_msgs(struct i2c_msg *msg, int nmsgs); + ++ ++struct i2c_adapter { ++ void (*init)(struct i2c_adapter *adap, int speed, ++ int slaveaddr); ++ int (*probe)(struct i2c_adapter *adap, uint8_t chip); ++ int (*read)(struct i2c_adapter *adap, uint8_t chip, ++ uint addr, int alen, uint8_t *buffer, ++ int len); ++ int (*write)(struct i2c_adapter *adap, uint8_t chip, ++ uint addr, int alen, uint8_t *buffer, ++ int len); ++ uint (*set_bus_speed)(struct i2c_adapter *adap, ++ uint speed); ++ int speed; ++ int waitdelay; ++ int slaveaddr; ++ int init_done; ++ int hwadapnr; ++ char *name; ++}; + #ifndef CONFIG_DM_I2C + + /* +@@ -578,46 +619,6 @@ + #define CONFIG_SYS_SPD_BUS_NUM 0 + #endif + +-struct i2c_adapter { +- void (*init)(struct i2c_adapter *adap, int speed, +- int slaveaddr); +- int (*probe)(struct i2c_adapter *adap, uint8_t chip); +- int (*read)(struct i2c_adapter *adap, uint8_t chip, +- uint addr, int alen, uint8_t *buffer, +- int len); +- int (*write)(struct i2c_adapter *adap, uint8_t chip, +- uint addr, int alen, uint8_t *buffer, +- int len); +- uint (*set_bus_speed)(struct i2c_adapter *adap, +- uint speed); +- int speed; +- int waitdelay; +- int slaveaddr; +- int init_done; +- int hwadapnr; +- char *name; +-}; +- +-#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ +- _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \ +- { \ +- .init = _init, \ +- .probe = _probe, \ +- .read = _read, \ +- .write = _write, \ +- .set_bus_speed = _set_speed, \ +- .speed = _speed, \ +- .slaveaddr = _slaveaddr, \ +- .init_done = 0, \ +- .hwadapnr = _hwadapnr, \ +- .name = #_name \ +-}; +- +-#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \ +- _set_speed, _speed, _slaveaddr, _hwadapnr) \ +- ll_entry_declare(struct i2c_adapter, _name, i2c) = \ +- U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ +- _set_speed, _speed, _slaveaddr, _hwadapnr, _name); + + struct i2c_adapter *i2c_get_adapter(int index); + +@@ -803,7 +804,7 @@ + void i2c_soft_scl(int bit); + void i2c_soft_delay(void); + #endif +-#else ++#elif !defined(CONFIG_DM_I2C_COMPAT) + + /* + * Probe the given I2C chip address. Returns 0 if a chip responded, diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/macb.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/macb.patch new file mode 100644 index 0000000..5869628 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/macb.patch @@ -0,0 +1,54 @@ +diff -raNu old/drivers/net/macb.c new/drivers/net/macb.c +--- old/drivers/net/macb.c 2017-05-11 16:08:48.747255895 -0500 ++++ new/drivers/net/macb.c 2017-05-12 09:55:17.331129433 -0500 +@@ -49,7 +49,7 @@ + #define MACB_RX_RING_SIZE (MACB_RX_BUFFER_SIZE / 128) + #define MACB_TX_RING_SIZE 16 + #define MACB_TX_TIMEOUT 1000 +-#define MACB_AUTONEG_TIMEOUT 5000000 ++#define MACB_AUTONEG_TIMEOUT 3000000 + + struct macb_dma_desc { + u32 addr; +@@ -419,7 +419,8 @@ + static void macb_phy_reset(struct macb_device *macb, const char *name) + { + int i; +- u16 status, adv; ++ u16 status = 0; ++ u16 adv; + + adv = ADVERTISE_CSMA | ADVERTISE_ALL; + macb_mdio_write(macb, MII_ADVERTISE, adv); +@@ -439,6 +440,7 @@ + else + printf("%s: Autonegotiation timed out (status=0x%04x)\n", + name, status); ++ + } + + #ifdef CONFIG_MACB_SEARCH_PHY +@@ -479,7 +481,6 @@ + u32 ncfgr; + u16 phy_id, status, adv, lpa; + int media, speed, duplex; +- int i; + + arch_get_mdio_control(name); + #ifdef CONFIG_MACB_SEARCH_PHY +@@ -515,14 +516,7 @@ + status = macb_mdio_read(macb, MII_BMSR); + if (!(status & BMSR_LSTATUS)) { + /* Try to re-negotiate if we don't have link already. */ +- macb_phy_reset(macb, name); +- +- for (i = 0; i < MACB_AUTONEG_TIMEOUT / 100; i++) { +- status = macb_mdio_read(macb, MII_BMSR); +- if (status & BMSR_LSTATUS) +- break; +- udelay(100); +- } ++ macb_phy_reset(macb,name); + } + + if (!(status & BMSR_LSTATUS)) { diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt.patch new file mode 100644 index 0000000..4f265df --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt.patch @@ -0,0 +1,292 @@ +diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h +--- old/include/configs/at91sam9x5ek.h 2017-05-04 13:59:37.381346896 -0500 ++++ new/include/configs/at91sam9x5ek.h 2017-05-11 08:31:30.258358272 -0500 +@@ -9,9 +9,11 @@ + #ifndef __CONFIG_H__ + #define __CONFIG_H__ + ++#include + #include + +-#define CONFIG_SYS_TEXT_BASE 0x26f00000 ++#define USE_MTCDT ++#define CONFIG_SYS_TEXT_BASE 0x2ef00000 + + /* ARM asynchronous clock */ + #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 +@@ -26,6 +28,8 @@ + #define CONFIG_BOARD_EARLY_INIT_F + #define CONFIG_DISPLAY_CPUINFO + ++#define CONFIG_MISC_INIT_R /* enable platform-dependent misc_init_r() */ ++ + /* general purpose I/O */ + #define CONFIG_ATMEL_LEGACY /* required until (g)pio is fixed */ + #define CONFIG_AT91_GPIO +@@ -36,6 +40,8 @@ + #define CONFIG_USART_ID ATMEL_ID_SYS + + /* LCD */ ++/* MTCDT has no LCD */ ++#if !defined(MTCDT) + #define CONFIG_LCD + #define LCD_BPP LCD_COLOR16 + #define LCD_OUTPUT_BPP 24 +@@ -46,7 +52,13 @@ + #define CONFIG_ATMEL_HLCD + #define CONFIG_ATMEL_LCD_RGB565 + #define CONFIG_SYS_CONSOLE_IS_IN_ENV ++#endif /* !defined(MTCDT) */ ++ ++/* check for keypress even if bootdelay is 0 */ ++#define CONFIG_ZERO_BOOTDELAY_CHECK + ++/*STATUS LED*/ ++#define BOOT_STATUS_LED AT91_PIN_PA24 + + /* + * BOOTP options +@@ -60,10 +72,10 @@ + #define CONFIG_SYS_NO_FLASH + + /* +- * Command line configuration. ++ * Defined by .config (configs/at91sam9x5ek) ++ * #define CONFIG_CMD_I2C + */ +-#define CONFIG_CMD_NAND +- ++#define CONFIG_SYS_I2C + /* + * define CONFIG_USB_EHCI to enable USB Hi-Speed (aka 2.0) + * NB: in this case, USB 1.1 devices won't be recognized. +@@ -72,7 +84,7 @@ + /* SDRAM */ + #define CONFIG_NR_DRAM_BANKS 1 + #define CONFIG_SYS_SDRAM_BASE 0x20000000 +-#define CONFIG_SYS_SDRAM_SIZE 0x08000000 /* 128 megs */ ++#define CONFIG_SYS_SDRAM_SIZE 0x10000000 /* 256 megs */ + + #define CONFIG_SYS_INIT_SP_ADDR \ + (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE) +@@ -94,13 +106,30 @@ + /* our CLE is AD22 */ + #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) + #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4 +-#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PD5 ++/* MTCDT nand ready is PC31 */ ++#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PC31 + + /* PMECC & PMERRLOC */ + #define CONFIG_ATMEL_NAND_HWECC 1 + #define CONFIG_ATMEL_NAND_HW_PMECC 1 +-#define CONFIG_PMECC_CAP 2 ++ ++/* MTCDT: 4-bit PMECC */ ++#define CONFIG_PMECC_CAP 4 + #define CONFIG_PMECC_SECTOR_SIZE 512 ++/* ++ * CONFIG_PMECC_INDEX_TABLE_OFFSET has been replaced by: ++ * ATMEL_PMECC_INDEX_OFFSET_512 and ++ * ATMEL_PMECC_INDEX_OFFSET_1024 ++ * ++ * Which as used depends on: ++ * host->pmecc_sector_size == 512 ++ * ++ * 2012.10: ++ * #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000 ++ * 2016.03 (at91sam9x5.h): ++ * 182:#define ATMEL_PMECC_INDEX_OFFSET_512 0x8000 ++ */ ++ + + #define CONFIG_CMD_NAND_TRIMFFS + +@@ -147,20 +176,36 @@ + #endif + #endif + ++#define CONFIG_SYS_I2C_SOFT ++#define CONFIG_SOFT_I2C ++#define CONFIG_SOFT_I2C_GPIO_SCL AT91_PIN_PA31 ++#define CONFIG_SOFT_I2C_GPIO_SDA AT91_PIN_PA30 ++#define CONFIG_SYS_I2C_SOFT_SPEED 50000 ++#define CONFIG_SYS_I2C_SPEED CONFIG_SYS_I2C_SOFT_SPEED ++/* Values from previous levels of Conduit U-Boot */ ++#define CONFIG_SYS_I2C_SLAVE 0xfe ++#define I2C_RXTX_LEN 128 ++ ++/* I2C eeprom support */ ++#define CONFIG_CMD_EEPROM ++#define CONFIG_SYS_I2C_EEPROM_ADDR 0x56 /* at24c04 */ ++#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */ ++#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 ++ + #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ + + #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE +-#define CONFIG_SYS_MEMTEST_END 0x26e00000 ++#define CONFIG_SYS_MEMTEST_END 0x2ee00000 + + #ifdef CONFIG_SYS_USE_NANDFLASH + /* bootstrap + u-boot + env + linux in nandflash */ + #define CONFIG_ENV_IS_IN_NAND + #define CONFIG_ENV_OFFSET 0xc0000 +-#define CONFIG_ENV_OFFSET_REDUND 0x100000 ++#define CONFIG_ENV_OFFSET_REDUND 0x160000 + #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */ +-#define CONFIG_BOOTCOMMAND "nand read " \ +- "0x22000000 0x200000 0x300000; " \ +- "bootm 0x22000000" ++/* MTCDT: read from env variables for boot */ ++#define CONFIG_BOOTCOMMAND "nboot.jffs2 ${loadaddr} 0 ${kernel_addr}; bootm ${loadaddr}" ++ + #elif defined(CONFIG_SYS_USE_SPIFLASH) + /* bootstrap + u-boot + env + linux in spi flash */ + #define CONFIG_ENV_IS_IN_SPI_FLASH +@@ -197,6 +242,9 @@ + "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ + "root=/dev/mmcblk0p2 " \ + "rw rootfstype=ext4 rootwait" ++#elif defined(USE_MTCDT) ++/* MTCDT uses jffs2 */ ++#define CONFIG_BOOTARGS "mem=256M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2" + #else + #define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ +@@ -274,4 +322,21 @@ + + #endif + ++/* MTCDT defaults */ ++#define CONFIG_ENV_OVERWRITE 1 /* Allow Overwrite of serial# & ethaddr */ ++#define CONFIG_ETHADDR 00:08:00:87:00:02 ++#define CONFIG_IPADDR 192.168.2.1 ++#define CONFIG_NETMASK 255.255.255.0 ++#define CONFIG_SERVERIP 192.168.2.2 ++#define CONFIG_HOSTNAME AT91SAM9G25 ++#define CONFIG_LOADADDR 0x22000000 ++ ++/* MTCDT - enable watchdog */ ++#define CONFIG_AT91SAM9_WATCHDOG 1 ++#define CONFIG_HW_WATCHDOG 1 ++#define CONFIG_AT91_HW_WDT_TIMEOUT 16 ++#define CONFIG_EXTRA_ENV_SETTINGS \ ++ "kernel_addr=0x200000\0" \ ++ "" ++ + #endif +diff -raNu old/board/atmel/at91sam9x5ek/at91sam9x5ek.c new/board/atmel/at91sam9x5ek/at91sam9x5ek.c +--- old/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-05-05 11:09:53.668926301 -0500 ++++ new/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-05-05 17:35:53.342774065 -0500 +@@ -44,7 +44,8 @@ + csa = readl(&matrix->ebicsa); + csa |= AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA; + /* NAND flash on D16 */ +- csa |= AT91_MATRIX_NFD0_ON_D16; ++ /* MTCDT: nand flash is set up by bootstrap, so leave it alone here */ ++ /* csa |= AT91_MATRIX_NFD0_ON_D16; */ + + /* Configure IO drive */ + csa &= ~AT91_MATRIX_EBI_EBI_IOSR_NORMAL; +@@ -256,6 +257,9 @@ + + int board_init(void) + { ++ /* Set Status LED High */ ++ at91_set_gpio_output(BOOT_STATUS_LED, 0); ++ + /* arch number of AT91SAM9X5EK-Board */ + gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9X5EK; + +@@ -267,6 +271,7 @@ + #endif + + #ifdef CONFIG_ATMEL_SPI ++ at91_spi0_hw_init(1 << 0); + at91_spi0_hw_init(1 << 4); + #endif + +@@ -283,12 +288,6 @@ + return 0; + } + +-int dram_init(void) +-{ +- gd->ram_size = get_ram_size((void *) CONFIG_SYS_SDRAM_BASE, +- CONFIG_SYS_SDRAM_SIZE); +- return 0; +-} + + #if defined(CONFIG_SPL_BUILD) + #include +@@ -362,4 +361,69 @@ + /* DDRAM2 Controller initialize */ + ddr2_init(ATMEL_BASE_DDRSDRC, ATMEL_BASE_CS1, &ddr2); + } ++ + #endif ++ ++/* on-board EEPROM */ ++struct mts_id_eeprom_layout { ++ char vendor_id[32]; ++ char product_id[32]; ++ char device_id[32]; ++ char hw_version[32]; ++ uint8_t mac_addr[6]; ++ char imei[32]; ++ uint8_t capa[32]; ++ uint8_t mac_bluetooth[6]; ++ uint8_t mac_wifi[6]; ++ uint8_t reserved[302]; ++}; ++ ++int board_get_enetaddr(uchar *enetaddr) ++{ ++ struct mts_id_eeprom_layout eeprom_buffer = {0}; ++ ++ if (eeprom_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0, &eeprom_buffer, sizeof(eeprom_buffer))) { ++ printf("EEPROM: read error\n"); ++ return 0; ++ } ++ ++ if (eeprom_buffer.vendor_id[0] == 0x00 || eeprom_buffer.vendor_id[0] == 0xFF) { ++ printf("EEPROM: uninitialized\n"); ++ return 0; ++ } ++ ++ printf("vendor-id: %s\n", eeprom_buffer.vendor_id); ++ printf("product-id: %s\n", eeprom_buffer.product_id); ++ printf("device-id: %s\n", eeprom_buffer.device_id); ++ printf("hw-version: %s\n", eeprom_buffer.hw_version); ++ printf("mac-addr: %02x:%02x:%02x:%02x:%02x:%02x\n", eeprom_buffer.mac_addr[0], ++ eeprom_buffer.mac_addr[1], ++ eeprom_buffer.mac_addr[2], ++ eeprom_buffer.mac_addr[3], ++ eeprom_buffer.mac_addr[4], ++ eeprom_buffer.mac_addr[5]); ++ ++ memcpy(enetaddr, eeprom_buffer.mac_addr, 6); ++ ++ return 1; ++} ++ ++int misc_init_r(void) ++{ ++ uchar enetaddr[6]; ++ ++ /* set MAC address from EEPROM if read successful */ ++ if (board_get_enetaddr(enetaddr)) { ++ eth_setenv_enetaddr("ethaddr", enetaddr); ++ } ++ ++ return 0; ++} ++ ++int dram_init(void) ++{ ++ gd->ram_size = get_ram_size((void *) CONFIG_SYS_SDRAM_BASE, ++ CONFIG_SYS_SDRAM_SIZE); ++ return 0; ++} ++ diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch deleted file mode 100644 index 726b9bf..0000000 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -raNu old/configs/at91sam9x5ek_nandflash_defconfig new/configs/at91sam9x5ek_nandflash_defconfig ---- old/configs/at91sam9x5ek_nandflash_defconfig 2017-05-04 14:33:41.143172324 -0500 -+++ new/configs/at91sam9x5ek_nandflash_defconfig 2017-05-04 17:54:27.132377607 -0500 -@@ -1,9 +1,9 @@ - CONFIG_ARM=y - CONFIG_ARCH_AT91=y - CONFIG_TARGET_AT91SAM9X5EK=y --CONFIG_SPL=y -+CONFIG_SPL=n - CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH" --CONFIG_BOOTDELAY=3 -+CONFIG_BOOTDELAY=0 - CONFIG_HUSH_PARSER=y - CONFIG_SYS_PROMPT="U-Boot> " - CONFIG_CMD_BOOTZ=y -@@ -23,3 +23,12 @@ - CONFIG_USB=y - CONFIG_USB_STORAGE=y - CONFIG_OF_LIBFDT=y -+ -+CONFIG_OF_CONTROL=n -+CONFIG_CMD_TFTPPUT=y -+CONFIG_CMD_FAT=y -+CONFIG_CMD_USB=y -+CONFIG_CMD_NAND=y -+CONFIG_CMD_BOOTZ=y -+CONFIG_CMD_MII=y -+CONFIG_CMD_I2C=y diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch deleted file mode 100644 index a5087ea..0000000 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch +++ /dev/null @@ -1,114 +0,0 @@ -diff -raNu old/include/i2c.h new/include/i2c.h ---- old/include/i2c.h 2017-04-28 17:26:27.854898005 -0500 -+++ new/include/i2c.h 2017-05-01 17:27:32.673437788 -0500 -@@ -17,6 +17,27 @@ - #ifndef _I2C_H_ - #define _I2C_H_ - -+#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ -+ _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \ -+ { \ -+ .init = _init, \ -+ .probe = _probe, \ -+ .read = _read, \ -+ .write = _write, \ -+ .set_bus_speed = _set_speed, \ -+ .speed = _speed, \ -+ .slaveaddr = _slaveaddr, \ -+ .init_done = 0, \ -+ .hwadapnr = _hwadapnr, \ -+ .name = #_name \ -+}; -+ -+#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \ -+ _set_speed, _speed, _slaveaddr, _hwadapnr) \ -+ ll_entry_declare(struct i2c_adapter, _name, i2c) = \ -+ U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ -+ _set_speed, _speed, _slaveaddr, _hwadapnr, _name); -+ - /* - * For now there are essentially two parts to this file - driver model - * here at the top, and the older code below (with CONFIG_SYS_I2C being -@@ -538,6 +559,26 @@ - */ - void i2c_dump_msgs(struct i2c_msg *msg, int nmsgs); - -+ -+struct i2c_adapter { -+ void (*init)(struct i2c_adapter *adap, int speed, -+ int slaveaddr); -+ int (*probe)(struct i2c_adapter *adap, uint8_t chip); -+ int (*read)(struct i2c_adapter *adap, uint8_t chip, -+ uint addr, int alen, uint8_t *buffer, -+ int len); -+ int (*write)(struct i2c_adapter *adap, uint8_t chip, -+ uint addr, int alen, uint8_t *buffer, -+ int len); -+ uint (*set_bus_speed)(struct i2c_adapter *adap, -+ uint speed); -+ int speed; -+ int waitdelay; -+ int slaveaddr; -+ int init_done; -+ int hwadapnr; -+ char *name; -+}; - #ifndef CONFIG_DM_I2C - - /* -@@ -578,46 +619,6 @@ - #define CONFIG_SYS_SPD_BUS_NUM 0 - #endif - --struct i2c_adapter { -- void (*init)(struct i2c_adapter *adap, int speed, -- int slaveaddr); -- int (*probe)(struct i2c_adapter *adap, uint8_t chip); -- int (*read)(struct i2c_adapter *adap, uint8_t chip, -- uint addr, int alen, uint8_t *buffer, -- int len); -- int (*write)(struct i2c_adapter *adap, uint8_t chip, -- uint addr, int alen, uint8_t *buffer, -- int len); -- uint (*set_bus_speed)(struct i2c_adapter *adap, -- uint speed); -- int speed; -- int waitdelay; -- int slaveaddr; -- int init_done; -- int hwadapnr; -- char *name; --}; -- --#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ -- _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \ -- { \ -- .init = _init, \ -- .probe = _probe, \ -- .read = _read, \ -- .write = _write, \ -- .set_bus_speed = _set_speed, \ -- .speed = _speed, \ -- .slaveaddr = _slaveaddr, \ -- .init_done = 0, \ -- .hwadapnr = _hwadapnr, \ -- .name = #_name \ --}; -- --#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \ -- _set_speed, _speed, _slaveaddr, _hwadapnr) \ -- ll_entry_declare(struct i2c_adapter, _name, i2c) = \ -- U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ -- _set_speed, _speed, _slaveaddr, _hwadapnr, _name); - - struct i2c_adapter *i2c_get_adapter(int index); - -@@ -803,7 +804,7 @@ - void i2c_soft_scl(int bit); - void i2c_soft_delay(void); - #endif --#else -+#elif !defined(CONFIG_DM_I2C_COMPAT) - - /* - * Probe the given I2C chip address. Returns 0 if a chip responded, diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/macb.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/macb.patch deleted file mode 100644 index 5869628..0000000 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/macb.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -raNu old/drivers/net/macb.c new/drivers/net/macb.c ---- old/drivers/net/macb.c 2017-05-11 16:08:48.747255895 -0500 -+++ new/drivers/net/macb.c 2017-05-12 09:55:17.331129433 -0500 -@@ -49,7 +49,7 @@ - #define MACB_RX_RING_SIZE (MACB_RX_BUFFER_SIZE / 128) - #define MACB_TX_RING_SIZE 16 - #define MACB_TX_TIMEOUT 1000 --#define MACB_AUTONEG_TIMEOUT 5000000 -+#define MACB_AUTONEG_TIMEOUT 3000000 - - struct macb_dma_desc { - u32 addr; -@@ -419,7 +419,8 @@ - static void macb_phy_reset(struct macb_device *macb, const char *name) - { - int i; -- u16 status, adv; -+ u16 status = 0; -+ u16 adv; - - adv = ADVERTISE_CSMA | ADVERTISE_ALL; - macb_mdio_write(macb, MII_ADVERTISE, adv); -@@ -439,6 +440,7 @@ - else - printf("%s: Autonegotiation timed out (status=0x%04x)\n", - name, status); -+ - } - - #ifdef CONFIG_MACB_SEARCH_PHY -@@ -479,7 +481,6 @@ - u32 ncfgr; - u16 phy_id, status, adv, lpa; - int media, speed, duplex; -- int i; - - arch_get_mdio_control(name); - #ifdef CONFIG_MACB_SEARCH_PHY -@@ -515,14 +516,7 @@ - status = macb_mdio_read(macb, MII_BMSR); - if (!(status & BMSR_LSTATUS)) { - /* Try to re-negotiate if we don't have link already. */ -- macb_phy_reset(macb, name); -- -- for (i = 0; i < MACB_AUTONEG_TIMEOUT / 100; i++) { -- status = macb_mdio_read(macb, MII_BMSR); -- if (status & BMSR_LSTATUS) -- break; -- udelay(100); -- } -+ macb_phy_reset(macb,name); - } - - if (!(status & BMSR_LSTATUS)) { diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch deleted file mode 100644 index 4f265df..0000000 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch +++ /dev/null @@ -1,292 +0,0 @@ -diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h ---- old/include/configs/at91sam9x5ek.h 2017-05-04 13:59:37.381346896 -0500 -+++ new/include/configs/at91sam9x5ek.h 2017-05-11 08:31:30.258358272 -0500 -@@ -9,9 +9,11 @@ - #ifndef __CONFIG_H__ - #define __CONFIG_H__ - -+#include - #include - --#define CONFIG_SYS_TEXT_BASE 0x26f00000 -+#define USE_MTCDT -+#define CONFIG_SYS_TEXT_BASE 0x2ef00000 - - /* ARM asynchronous clock */ - #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 -@@ -26,6 +28,8 @@ - #define CONFIG_BOARD_EARLY_INIT_F - #define CONFIG_DISPLAY_CPUINFO - -+#define CONFIG_MISC_INIT_R /* enable platform-dependent misc_init_r() */ -+ - /* general purpose I/O */ - #define CONFIG_ATMEL_LEGACY /* required until (g)pio is fixed */ - #define CONFIG_AT91_GPIO -@@ -36,6 +40,8 @@ - #define CONFIG_USART_ID ATMEL_ID_SYS - - /* LCD */ -+/* MTCDT has no LCD */ -+#if !defined(MTCDT) - #define CONFIG_LCD - #define LCD_BPP LCD_COLOR16 - #define LCD_OUTPUT_BPP 24 -@@ -46,7 +52,13 @@ - #define CONFIG_ATMEL_HLCD - #define CONFIG_ATMEL_LCD_RGB565 - #define CONFIG_SYS_CONSOLE_IS_IN_ENV -+#endif /* !defined(MTCDT) */ -+ -+/* check for keypress even if bootdelay is 0 */ -+#define CONFIG_ZERO_BOOTDELAY_CHECK - -+/*STATUS LED*/ -+#define BOOT_STATUS_LED AT91_PIN_PA24 - - /* - * BOOTP options -@@ -60,10 +72,10 @@ - #define CONFIG_SYS_NO_FLASH - - /* -- * Command line configuration. -+ * Defined by .config (configs/at91sam9x5ek) -+ * #define CONFIG_CMD_I2C - */ --#define CONFIG_CMD_NAND -- -+#define CONFIG_SYS_I2C - /* - * define CONFIG_USB_EHCI to enable USB Hi-Speed (aka 2.0) - * NB: in this case, USB 1.1 devices won't be recognized. -@@ -72,7 +84,7 @@ - /* SDRAM */ - #define CONFIG_NR_DRAM_BANKS 1 - #define CONFIG_SYS_SDRAM_BASE 0x20000000 --#define CONFIG_SYS_SDRAM_SIZE 0x08000000 /* 128 megs */ -+#define CONFIG_SYS_SDRAM_SIZE 0x10000000 /* 256 megs */ - - #define CONFIG_SYS_INIT_SP_ADDR \ - (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE) -@@ -94,13 +106,30 @@ - /* our CLE is AD22 */ - #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) - #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4 --#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PD5 -+/* MTCDT nand ready is PC31 */ -+#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PC31 - - /* PMECC & PMERRLOC */ - #define CONFIG_ATMEL_NAND_HWECC 1 - #define CONFIG_ATMEL_NAND_HW_PMECC 1 --#define CONFIG_PMECC_CAP 2 -+ -+/* MTCDT: 4-bit PMECC */ -+#define CONFIG_PMECC_CAP 4 - #define CONFIG_PMECC_SECTOR_SIZE 512 -+/* -+ * CONFIG_PMECC_INDEX_TABLE_OFFSET has been replaced by: -+ * ATMEL_PMECC_INDEX_OFFSET_512 and -+ * ATMEL_PMECC_INDEX_OFFSET_1024 -+ * -+ * Which as used depends on: -+ * host->pmecc_sector_size == 512 -+ * -+ * 2012.10: -+ * #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000 -+ * 2016.03 (at91sam9x5.h): -+ * 182:#define ATMEL_PMECC_INDEX_OFFSET_512 0x8000 -+ */ -+ - - #define CONFIG_CMD_NAND_TRIMFFS - -@@ -147,20 +176,36 @@ - #endif - #endif - -+#define CONFIG_SYS_I2C_SOFT -+#define CONFIG_SOFT_I2C -+#define CONFIG_SOFT_I2C_GPIO_SCL AT91_PIN_PA31 -+#define CONFIG_SOFT_I2C_GPIO_SDA AT91_PIN_PA30 -+#define CONFIG_SYS_I2C_SOFT_SPEED 50000 -+#define CONFIG_SYS_I2C_SPEED CONFIG_SYS_I2C_SOFT_SPEED -+/* Values from previous levels of Conduit U-Boot */ -+#define CONFIG_SYS_I2C_SLAVE 0xfe -+#define I2C_RXTX_LEN 128 -+ -+/* I2C eeprom support */ -+#define CONFIG_CMD_EEPROM -+#define CONFIG_SYS_I2C_EEPROM_ADDR 0x56 /* at24c04 */ -+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */ -+#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 -+ - #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ - - #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE --#define CONFIG_SYS_MEMTEST_END 0x26e00000 -+#define CONFIG_SYS_MEMTEST_END 0x2ee00000 - - #ifdef CONFIG_SYS_USE_NANDFLASH - /* bootstrap + u-boot + env + linux in nandflash */ - #define CONFIG_ENV_IS_IN_NAND - #define CONFIG_ENV_OFFSET 0xc0000 --#define CONFIG_ENV_OFFSET_REDUND 0x100000 -+#define CONFIG_ENV_OFFSET_REDUND 0x160000 - #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */ --#define CONFIG_BOOTCOMMAND "nand read " \ -- "0x22000000 0x200000 0x300000; " \ -- "bootm 0x22000000" -+/* MTCDT: read from env variables for boot */ -+#define CONFIG_BOOTCOMMAND "nboot.jffs2 ${loadaddr} 0 ${kernel_addr}; bootm ${loadaddr}" -+ - #elif defined(CONFIG_SYS_USE_SPIFLASH) - /* bootstrap + u-boot + env + linux in spi flash */ - #define CONFIG_ENV_IS_IN_SPI_FLASH -@@ -197,6 +242,9 @@ - "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ - "root=/dev/mmcblk0p2 " \ - "rw rootfstype=ext4 rootwait" -+#elif defined(USE_MTCDT) -+/* MTCDT uses jffs2 */ -+#define CONFIG_BOOTARGS "mem=256M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2" - #else - #define CONFIG_BOOTARGS \ - "console=ttyS0,115200 earlyprintk " \ -@@ -274,4 +322,21 @@ - - #endif - -+/* MTCDT defaults */ -+#define CONFIG_ENV_OVERWRITE 1 /* Allow Overwrite of serial# & ethaddr */ -+#define CONFIG_ETHADDR 00:08:00:87:00:02 -+#define CONFIG_IPADDR 192.168.2.1 -+#define CONFIG_NETMASK 255.255.255.0 -+#define CONFIG_SERVERIP 192.168.2.2 -+#define CONFIG_HOSTNAME AT91SAM9G25 -+#define CONFIG_LOADADDR 0x22000000 -+ -+/* MTCDT - enable watchdog */ -+#define CONFIG_AT91SAM9_WATCHDOG 1 -+#define CONFIG_HW_WATCHDOG 1 -+#define CONFIG_AT91_HW_WDT_TIMEOUT 16 -+#define CONFIG_EXTRA_ENV_SETTINGS \ -+ "kernel_addr=0x200000\0" \ -+ "" -+ - #endif -diff -raNu old/board/atmel/at91sam9x5ek/at91sam9x5ek.c new/board/atmel/at91sam9x5ek/at91sam9x5ek.c ---- old/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-05-05 11:09:53.668926301 -0500 -+++ new/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-05-05 17:35:53.342774065 -0500 -@@ -44,7 +44,8 @@ - csa = readl(&matrix->ebicsa); - csa |= AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA; - /* NAND flash on D16 */ -- csa |= AT91_MATRIX_NFD0_ON_D16; -+ /* MTCDT: nand flash is set up by bootstrap, so leave it alone here */ -+ /* csa |= AT91_MATRIX_NFD0_ON_D16; */ - - /* Configure IO drive */ - csa &= ~AT91_MATRIX_EBI_EBI_IOSR_NORMAL; -@@ -256,6 +257,9 @@ - - int board_init(void) - { -+ /* Set Status LED High */ -+ at91_set_gpio_output(BOOT_STATUS_LED, 0); -+ - /* arch number of AT91SAM9X5EK-Board */ - gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9X5EK; - -@@ -267,6 +271,7 @@ - #endif - - #ifdef CONFIG_ATMEL_SPI -+ at91_spi0_hw_init(1 << 0); - at91_spi0_hw_init(1 << 4); - #endif - -@@ -283,12 +288,6 @@ - return 0; - } - --int dram_init(void) --{ -- gd->ram_size = get_ram_size((void *) CONFIG_SYS_SDRAM_BASE, -- CONFIG_SYS_SDRAM_SIZE); -- return 0; --} - - #if defined(CONFIG_SPL_BUILD) - #include -@@ -362,4 +361,69 @@ - /* DDRAM2 Controller initialize */ - ddr2_init(ATMEL_BASE_DDRSDRC, ATMEL_BASE_CS1, &ddr2); - } -+ - #endif -+ -+/* on-board EEPROM */ -+struct mts_id_eeprom_layout { -+ char vendor_id[32]; -+ char product_id[32]; -+ char device_id[32]; -+ char hw_version[32]; -+ uint8_t mac_addr[6]; -+ char imei[32]; -+ uint8_t capa[32]; -+ uint8_t mac_bluetooth[6]; -+ uint8_t mac_wifi[6]; -+ uint8_t reserved[302]; -+}; -+ -+int board_get_enetaddr(uchar *enetaddr) -+{ -+ struct mts_id_eeprom_layout eeprom_buffer = {0}; -+ -+ if (eeprom_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0, &eeprom_buffer, sizeof(eeprom_buffer))) { -+ printf("EEPROM: read error\n"); -+ return 0; -+ } -+ -+ if (eeprom_buffer.vendor_id[0] == 0x00 || eeprom_buffer.vendor_id[0] == 0xFF) { -+ printf("EEPROM: uninitialized\n"); -+ return 0; -+ } -+ -+ printf("vendor-id: %s\n", eeprom_buffer.vendor_id); -+ printf("product-id: %s\n", eeprom_buffer.product_id); -+ printf("device-id: %s\n", eeprom_buffer.device_id); -+ printf("hw-version: %s\n", eeprom_buffer.hw_version); -+ printf("mac-addr: %02x:%02x:%02x:%02x:%02x:%02x\n", eeprom_buffer.mac_addr[0], -+ eeprom_buffer.mac_addr[1], -+ eeprom_buffer.mac_addr[2], -+ eeprom_buffer.mac_addr[3], -+ eeprom_buffer.mac_addr[4], -+ eeprom_buffer.mac_addr[5]); -+ -+ memcpy(enetaddr, eeprom_buffer.mac_addr, 6); -+ -+ return 1; -+} -+ -+int misc_init_r(void) -+{ -+ uchar enetaddr[6]; -+ -+ /* set MAC address from EEPROM if read successful */ -+ if (board_get_enetaddr(enetaddr)) { -+ eth_setenv_enetaddr("ethaddr", enetaddr); -+ } -+ -+ return 0; -+} -+ -+int dram_init(void) -+{ -+ gd->ram_size = get_ram_size((void *) CONFIG_SYS_SDRAM_BASE, -+ CONFIG_SYS_SDRAM_SIZE); -+ return 0; -+} -+ diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtpwd.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtpwd.patch deleted file mode 100644 index a97b976..0000000 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtpwd.patch +++ /dev/null @@ -1,302 +0,0 @@ -diff -raNu old/common/cli.c new/common/cli.c ---- old/common/cli.c 2017-05-11 17:59:53.806580961 -0500 -+++ new/common/cli.c 2017-05-11 18:06:16.575014377 -0500 -@@ -227,6 +227,7 @@ - - void cli_init(void) - { -+ mts_run_passwd_loop(); - #ifdef CONFIG_HUSH_PARSER - u_boot_hush_start(); - #endif -diff -raNu old/common/Makefile new/common/Makefile ---- old/common/Makefile 2017-05-11 18:07:26.904563771 -0500 -+++ new/common/Makefile 2017-05-11 18:09:05.514736126 -0500 -@@ -164,5 +164,6 @@ - obj-y += command.o - obj-y += s_record.o - obj-y += xyzModem.o -+obj-$(CONFIG_MTS_PASSWD) += mts_passwd.o - - CFLAGS_env_embedded.o := -Wa,--no-warn -DENV_CRC=$(shell tools/envcrc 2>/dev/null) -diff -raNu old/common/mts_passwd.c new/common/mts_passwd.c ---- old/common/mts_passwd.c 1969-12-31 18:00:00.000000000 -0600 -+++ new/common/mts_passwd.c 2017-05-12 13:15:54.928180929 -0500 -@@ -0,0 +1,248 @@ -+#include -+#include -+#include -+#include -+#include -+ -+#define MTS_PASSWD_ATTEMPTS (3) -+#define MTS_PASSWD_MAX_LEN (30) -+#define MTS_PASSWD_HASH_VAR "mtsp" -+#define MTS_PASSWD_SALT_VAR "mtss" -+#define MTS_PASSWD_PROMPT "Enter password : " -+ -+static -+void mts_do_reset(unsigned long delay) -+{ -+ mdelay(delay); -+ do_reset(NULL, 0, 0, NULL); -+} -+ -+/* -+ * -+ * Figure out if device is locked or not -+ * -+ */ -+static -+int mts_get_protection_status(void) -+{ -+ int rc = 0; /* UNLOCKED */ -+ char *var = NULL; -+ int len; -+ -+ var = getenv(MTS_PASSWD_HASH_VAR); -+ -+ do { -+ /* Variable is not set */ -+ if (!var) break; -+ -+ len = strlen(var); -+ -+ /* Variable is empty */ -+ if (len == 0) break; -+ -+ /* -+ * Length should be correct. Otherwise, do not unlock the device, just show the message and reset. -+ */ -+ if (len != 2*SHA256_SUM_LEN) { -+ puts("WARNING: password is corrupted\n"); -+ mts_do_reset(1000); -+ } -+ -+ /* LOCKED */ -+ rc = 1; -+ -+ } while (0); -+ -+ return rc; -+} -+ -+ -+/* -+ * -+ * Helper function for the password reading -+ * -+ */ -+static -+char *mts_password_delete_char(char *buffer, char *p, int *colp, int *np, int plen) -+{ -+ static char erase_seq[] = "\b \b"; -+ -+ if (*np == 0) { -+ return (p); -+ } -+ -+ --p; -+ puts(erase_seq); -+ (*colp)--; -+ -+ (*np)--; -+ return (p); -+} -+ -+/* -+ * -+ * Read password helper -+ * -+ */ -+static -+int mts_password_into_buffer(const char *const prompt, char *buf, size_t buflen) -+{ -+ char *p = buf; -+ char *p_buf = p; -+ int n = 0; /* buffer index */ -+ int plen = 0; /* prompt length */ -+ int col; /* output column cnt */ -+ char c; -+ -+ /* print prompt */ -+ if (prompt) { -+ plen = strlen(prompt); -+ puts (prompt); -+ } -+ -+ col = plen; -+ -+ for (;;) { -+ -+ WATCHDOG_RESET(); -+ -+ c = getc(); -+ -+ /* -+ * Special character handling -+ */ -+ switch (c) { -+ case '\r': /* Enter */ -+ case '\n': -+ *p = '\0'; -+ puts("\r\n"); -+ return (p - p_buf); -+ -+ case '\0': /* nul */ -+ case '\t': -+ continue; -+ -+ case 0x03: /* ^C - break */ -+ p_buf[0] = '\0'; /* discard input */ -+ puts("\r\n"); -+ return (-1); -+ -+ case 0x08: /* ^H - backspace */ -+ case 0x7F: /* DEL - backspace */ -+ p = mts_password_delete_char(p_buf, p, &col, &n, plen); -+ continue; -+ -+ default: -+ /* -+ * Must be a normal character then -+ */ -+ if (n < buflen - 2) { -+ ++col; /* echo input */ -+ *p++ = c; -+ ++n; -+ } -+ putc('*'); -+ } -+ } -+} -+ -+/* -+ * -+ * Read the password from input -+ * -+ */ -+static -+int read_password(char *buf, size_t buflen) -+{ -+ return mts_password_into_buffer(MTS_PASSWD_PROMPT, buf, buflen); -+} -+ -+/* -+ * -+ * Verify if the entered password is correct. -+ * -+ */ -+static -+int verify_password(char *pwd, size_t pwdlen) -+{ -+ char *hash_env = getenv(MTS_PASSWD_HASH_VAR);; -+ char *salt_env = getenv(MTS_PASSWD_SALT_VAR); -+ -+ if (pwd && pwdlen > 0 && hash_env && (strlen(hash_env) == 2*SHA256_SUM_LEN)) { -+ uint8_t hash[SHA256_SUM_LEN]; -+ uint8_t prefix[]={'0','3','e','3'}; -+ sha256_context ctx; -+ char tmp[3]; -+ int i; -+ -+ sha256_starts(&ctx); -+ sha256_update(&ctx, prefix, 4); -+ sha256_update(&ctx, (uint8_t *) pwd, pwdlen); -+ if (salt_env) { -+ size_t saltlen = strlen(salt_env); -+ sha256_update(&ctx, (uint8_t *) salt_env, saltlen); -+ } -+ sha256_finish(&ctx, hash); -+ memset(&ctx, 0, sizeof(sha256_context)); -+ -+ for (i = 0; i < SHA256_SUM_LEN; i++) { -+ snprintf(tmp, sizeof tmp, "%02x", hash[i]); -+ if (tolower(tmp[0]) != tolower(hash_env[2*i]) || -+ tolower(tmp[1]) != tolower(hash_env[2*i + 1])) { -+ break; -+ } -+ } -+ -+ if (i == SHA256_SUM_LEN) { -+ return 1; -+ } -+ } -+ -+ return 0; -+} -+ -+/* -+ * -+ * Check is the device is locked and ask the password. -+ * -+ */ -+void mts_run_passwd_loop(void) -+{ -+ char buf[MTS_PASSWD_MAX_LEN] = "\0"; -+ unsigned long delay = 1000; /* 1 second initially */ -+ int len; -+ int trynr = 0; -+ -+ /* Do not delete */ -+ printf("", "mts password protected"); -+ -+ if (mts_get_protection_status() == 0) { -+ return; -+ } -+ -+ while (1) { -+ if (trynr == MTS_PASSWD_ATTEMPTS) { -+ mts_do_reset(1000); -+ } -+ -+ len = read_password(buf, MTS_PASSWD_MAX_LEN); -+ if (len > 0) { -+ if (verify_password(buf, len)) { -+ /* zero out */ -+ memset(buf, 0, sizeof(buf)); -+ return; -+ } -+ puts("Permission denied\n"); -+ } -+ -+ trynr++; -+ -+ /* progressive delay */ -+ mdelay(delay); -+ delay *= 2; -+ if (delay > 4000) delay = 4000; -+ } -+ /* zero out */ -+ memset(buf, 0, sizeof(buf)); -+ return; -+} -diff -raNu old/include/common.h new/include/common.h ---- old/include/common.h 2017-05-12 10:49:29.391203966 -0500 -+++ new/include/common.h 2017-05-12 10:49:13.170842438 -0500 -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #if defined(CONFIG_PCI) && defined(CONFIG_4xx) - #include - #endif -diff -raNu old/include/mts_passwd.h new/include/mts_passwd.h ---- old/include/mts_passwd.h 1969-12-31 18:00:00.000000000 -0600 -+++ new/include/mts_passwd.h 2017-05-12 10:46:40.459437214 -0500 -@@ -0,0 +1,13 @@ -+#ifndef _MTS_PASSWD_H -+#define _MTS_PASSWD_H -+ -+#define CONFIG_MTS_PASSWD -+ -+#if defined(CONFIG_MTS_PASSWD) -+#define CONFIG_SHA256 -+void mts_run_passwd_loop(void); -+#else -+#define mts_run_passwd_loop() {} -+#endif -+ -+#endif -\ No newline at end of file diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/printeepromcrc.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/printeepromcrc.patch deleted file mode 100644 index 19fca02..0000000 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/printeepromcrc.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -raNu old/common/env_nand.c new/common/env_nand.c ---- old/common/env_nand.c 2017-05-11 16:27:26.160067136 -0500 -+++ new/common/env_nand.c 2017-05-11 16:44:12.134434145 -0500 -@@ -68,15 +68,22 @@ - #if defined(ENV_IS_EMBEDDED) || defined(CONFIG_NAND_ENV_DST) - int crc1_ok = 0, crc2_ok = 0; - env_t *tmp_env1; -+ uint32_t calc_crc; - - #ifdef CONFIG_ENV_OFFSET_REDUND - env_t *tmp_env2; - - tmp_env2 = (env_t *)((ulong)env_ptr + CONFIG_ENV_SIZE); -- crc2_ok = crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc; -+ calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); -+ crc2_ok = (calc_crc == tmp_env2->crc); -+ printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", -+ crc2_ok,tmp_env2->crc,calc_crc,tmp_env2->flags); - #endif - tmp_env1 = env_ptr; -- crc1_ok = crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc; -+ calc_crc = crc32(0, tmp_env1->data, ENV_SIZE); -+ crc1_ok = (calc_crc == tmp_env1->crc); -+ printf("env_relocate_spec: crc1_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", -+ crc1_ok,tmp_env1->crc,calc_crc,tmp_env1->flags); - - if (!crc1_ok && !crc2_ok) { - gd->env_addr = 0; -@@ -317,6 +324,7 @@ - int read1_fail = 0, read2_fail = 0; - int crc1_ok = 0, crc2_ok = 0; - env_t *ep, *tmp_env1, *tmp_env2; -+ uint32_t calc_crc; - - tmp_env1 = (env_t *)malloc(CONFIG_ENV_SIZE); - tmp_env2 = (env_t *)malloc(CONFIG_ENV_SIZE); -@@ -334,11 +342,16 @@ - else if (read1_fail || read2_fail) - puts("*** Warning - some problems detected " - "reading environment; recovered successfully\n"); -- -+ calc_crc = crc32(0, tmp_env1->data, ENV_SIZE); - crc1_ok = !read1_fail && -- (crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc); -+ (calc_crc == tmp_env1->crc); -+ printf("env_relocate_spec: crc1_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", -+ crc1_ok,tmp_env1->crc,calc_crc,tmp_env1->flags); -+ calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); - crc2_ok = !read2_fail && -- (crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc); -+ (calc_crc == tmp_env2->crc); -+ printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", -+ crc2_ok,tmp_env2->crc,calc_crc,tmp_env2->flags); - - if (!crc1_ok && !crc2_ok) { - set_default_env("!bad CRC"); diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtpwd.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtpwd.patch new file mode 100644 index 0000000..a97b976 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtpwd.patch @@ -0,0 +1,302 @@ +diff -raNu old/common/cli.c new/common/cli.c +--- old/common/cli.c 2017-05-11 17:59:53.806580961 -0500 ++++ new/common/cli.c 2017-05-11 18:06:16.575014377 -0500 +@@ -227,6 +227,7 @@ + + void cli_init(void) + { ++ mts_run_passwd_loop(); + #ifdef CONFIG_HUSH_PARSER + u_boot_hush_start(); + #endif +diff -raNu old/common/Makefile new/common/Makefile +--- old/common/Makefile 2017-05-11 18:07:26.904563771 -0500 ++++ new/common/Makefile 2017-05-11 18:09:05.514736126 -0500 +@@ -164,5 +164,6 @@ + obj-y += command.o + obj-y += s_record.o + obj-y += xyzModem.o ++obj-$(CONFIG_MTS_PASSWD) += mts_passwd.o + + CFLAGS_env_embedded.o := -Wa,--no-warn -DENV_CRC=$(shell tools/envcrc 2>/dev/null) +diff -raNu old/common/mts_passwd.c new/common/mts_passwd.c +--- old/common/mts_passwd.c 1969-12-31 18:00:00.000000000 -0600 ++++ new/common/mts_passwd.c 2017-05-12 13:15:54.928180929 -0500 +@@ -0,0 +1,248 @@ ++#include ++#include ++#include ++#include ++#include ++ ++#define MTS_PASSWD_ATTEMPTS (3) ++#define MTS_PASSWD_MAX_LEN (30) ++#define MTS_PASSWD_HASH_VAR "mtsp" ++#define MTS_PASSWD_SALT_VAR "mtss" ++#define MTS_PASSWD_PROMPT "Enter password : " ++ ++static ++void mts_do_reset(unsigned long delay) ++{ ++ mdelay(delay); ++ do_reset(NULL, 0, 0, NULL); ++} ++ ++/* ++ * ++ * Figure out if device is locked or not ++ * ++ */ ++static ++int mts_get_protection_status(void) ++{ ++ int rc = 0; /* UNLOCKED */ ++ char *var = NULL; ++ int len; ++ ++ var = getenv(MTS_PASSWD_HASH_VAR); ++ ++ do { ++ /* Variable is not set */ ++ if (!var) break; ++ ++ len = strlen(var); ++ ++ /* Variable is empty */ ++ if (len == 0) break; ++ ++ /* ++ * Length should be correct. Otherwise, do not unlock the device, just show the message and reset. ++ */ ++ if (len != 2*SHA256_SUM_LEN) { ++ puts("WARNING: password is corrupted\n"); ++ mts_do_reset(1000); ++ } ++ ++ /* LOCKED */ ++ rc = 1; ++ ++ } while (0); ++ ++ return rc; ++} ++ ++ ++/* ++ * ++ * Helper function for the password reading ++ * ++ */ ++static ++char *mts_password_delete_char(char *buffer, char *p, int *colp, int *np, int plen) ++{ ++ static char erase_seq[] = "\b \b"; ++ ++ if (*np == 0) { ++ return (p); ++ } ++ ++ --p; ++ puts(erase_seq); ++ (*colp)--; ++ ++ (*np)--; ++ return (p); ++} ++ ++/* ++ * ++ * Read password helper ++ * ++ */ ++static ++int mts_password_into_buffer(const char *const prompt, char *buf, size_t buflen) ++{ ++ char *p = buf; ++ char *p_buf = p; ++ int n = 0; /* buffer index */ ++ int plen = 0; /* prompt length */ ++ int col; /* output column cnt */ ++ char c; ++ ++ /* print prompt */ ++ if (prompt) { ++ plen = strlen(prompt); ++ puts (prompt); ++ } ++ ++ col = plen; ++ ++ for (;;) { ++ ++ WATCHDOG_RESET(); ++ ++ c = getc(); ++ ++ /* ++ * Special character handling ++ */ ++ switch (c) { ++ case '\r': /* Enter */ ++ case '\n': ++ *p = '\0'; ++ puts("\r\n"); ++ return (p - p_buf); ++ ++ case '\0': /* nul */ ++ case '\t': ++ continue; ++ ++ case 0x03: /* ^C - break */ ++ p_buf[0] = '\0'; /* discard input */ ++ puts("\r\n"); ++ return (-1); ++ ++ case 0x08: /* ^H - backspace */ ++ case 0x7F: /* DEL - backspace */ ++ p = mts_password_delete_char(p_buf, p, &col, &n, plen); ++ continue; ++ ++ default: ++ /* ++ * Must be a normal character then ++ */ ++ if (n < buflen - 2) { ++ ++col; /* echo input */ ++ *p++ = c; ++ ++n; ++ } ++ putc('*'); ++ } ++ } ++} ++ ++/* ++ * ++ * Read the password from input ++ * ++ */ ++static ++int read_password(char *buf, size_t buflen) ++{ ++ return mts_password_into_buffer(MTS_PASSWD_PROMPT, buf, buflen); ++} ++ ++/* ++ * ++ * Verify if the entered password is correct. ++ * ++ */ ++static ++int verify_password(char *pwd, size_t pwdlen) ++{ ++ char *hash_env = getenv(MTS_PASSWD_HASH_VAR);; ++ char *salt_env = getenv(MTS_PASSWD_SALT_VAR); ++ ++ if (pwd && pwdlen > 0 && hash_env && (strlen(hash_env) == 2*SHA256_SUM_LEN)) { ++ uint8_t hash[SHA256_SUM_LEN]; ++ uint8_t prefix[]={'0','3','e','3'}; ++ sha256_context ctx; ++ char tmp[3]; ++ int i; ++ ++ sha256_starts(&ctx); ++ sha256_update(&ctx, prefix, 4); ++ sha256_update(&ctx, (uint8_t *) pwd, pwdlen); ++ if (salt_env) { ++ size_t saltlen = strlen(salt_env); ++ sha256_update(&ctx, (uint8_t *) salt_env, saltlen); ++ } ++ sha256_finish(&ctx, hash); ++ memset(&ctx, 0, sizeof(sha256_context)); ++ ++ for (i = 0; i < SHA256_SUM_LEN; i++) { ++ snprintf(tmp, sizeof tmp, "%02x", hash[i]); ++ if (tolower(tmp[0]) != tolower(hash_env[2*i]) || ++ tolower(tmp[1]) != tolower(hash_env[2*i + 1])) { ++ break; ++ } ++ } ++ ++ if (i == SHA256_SUM_LEN) { ++ return 1; ++ } ++ } ++ ++ return 0; ++} ++ ++/* ++ * ++ * Check is the device is locked and ask the password. ++ * ++ */ ++void mts_run_passwd_loop(void) ++{ ++ char buf[MTS_PASSWD_MAX_LEN] = "\0"; ++ unsigned long delay = 1000; /* 1 second initially */ ++ int len; ++ int trynr = 0; ++ ++ /* Do not delete */ ++ printf("", "mts password protected"); ++ ++ if (mts_get_protection_status() == 0) { ++ return; ++ } ++ ++ while (1) { ++ if (trynr == MTS_PASSWD_ATTEMPTS) { ++ mts_do_reset(1000); ++ } ++ ++ len = read_password(buf, MTS_PASSWD_MAX_LEN); ++ if (len > 0) { ++ if (verify_password(buf, len)) { ++ /* zero out */ ++ memset(buf, 0, sizeof(buf)); ++ return; ++ } ++ puts("Permission denied\n"); ++ } ++ ++ trynr++; ++ ++ /* progressive delay */ ++ mdelay(delay); ++ delay *= 2; ++ if (delay > 4000) delay = 4000; ++ } ++ /* zero out */ ++ memset(buf, 0, sizeof(buf)); ++ return; ++} +diff -raNu old/include/common.h new/include/common.h +--- old/include/common.h 2017-05-12 10:49:29.391203966 -0500 ++++ new/include/common.h 2017-05-12 10:49:13.170842438 -0500 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #if defined(CONFIG_PCI) && defined(CONFIG_4xx) + #include + #endif +diff -raNu old/include/mts_passwd.h new/include/mts_passwd.h +--- old/include/mts_passwd.h 1969-12-31 18:00:00.000000000 -0600 ++++ new/include/mts_passwd.h 2017-05-12 10:46:40.459437214 -0500 +@@ -0,0 +1,13 @@ ++#ifndef _MTS_PASSWD_H ++#define _MTS_PASSWD_H ++ ++#define CONFIG_MTS_PASSWD ++ ++#if defined(CONFIG_MTS_PASSWD) ++#define CONFIG_SHA256 ++void mts_run_passwd_loop(void); ++#else ++#define mts_run_passwd_loop() {} ++#endif ++ ++#endif +\ No newline at end of file diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/printeepromcrc.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/printeepromcrc.patch new file mode 100644 index 0000000..19fca02 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/printeepromcrc.patch @@ -0,0 +1,56 @@ +diff -raNu old/common/env_nand.c new/common/env_nand.c +--- old/common/env_nand.c 2017-05-11 16:27:26.160067136 -0500 ++++ new/common/env_nand.c 2017-05-11 16:44:12.134434145 -0500 +@@ -68,15 +68,22 @@ + #if defined(ENV_IS_EMBEDDED) || defined(CONFIG_NAND_ENV_DST) + int crc1_ok = 0, crc2_ok = 0; + env_t *tmp_env1; ++ uint32_t calc_crc; + + #ifdef CONFIG_ENV_OFFSET_REDUND + env_t *tmp_env2; + + tmp_env2 = (env_t *)((ulong)env_ptr + CONFIG_ENV_SIZE); +- crc2_ok = crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc; ++ calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); ++ crc2_ok = (calc_crc == tmp_env2->crc); ++ printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", ++ crc2_ok,tmp_env2->crc,calc_crc,tmp_env2->flags); + #endif + tmp_env1 = env_ptr; +- crc1_ok = crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc; ++ calc_crc = crc32(0, tmp_env1->data, ENV_SIZE); ++ crc1_ok = (calc_crc == tmp_env1->crc); ++ printf("env_relocate_spec: crc1_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", ++ crc1_ok,tmp_env1->crc,calc_crc,tmp_env1->flags); + + if (!crc1_ok && !crc2_ok) { + gd->env_addr = 0; +@@ -317,6 +324,7 @@ + int read1_fail = 0, read2_fail = 0; + int crc1_ok = 0, crc2_ok = 0; + env_t *ep, *tmp_env1, *tmp_env2; ++ uint32_t calc_crc; + + tmp_env1 = (env_t *)malloc(CONFIG_ENV_SIZE); + tmp_env2 = (env_t *)malloc(CONFIG_ENV_SIZE); +@@ -334,11 +342,16 @@ + else if (read1_fail || read2_fail) + puts("*** Warning - some problems detected " + "reading environment; recovered successfully\n"); +- ++ calc_crc = crc32(0, tmp_env1->data, ENV_SIZE); + crc1_ok = !read1_fail && +- (crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc); ++ (calc_crc == tmp_env1->crc); ++ printf("env_relocate_spec: crc1_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", ++ crc1_ok,tmp_env1->crc,calc_crc,tmp_env1->flags); ++ calc_crc = crc32(0, tmp_env2->data, ENV_SIZE); + crc2_ok = !read2_fail && +- (crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc); ++ (calc_crc == tmp_env2->crc); ++ printf("env_relocate_spec: crc2_ok=%d saved crc=0x%x calculated crc=0x%x flags=%d\n", ++ crc2_ok,tmp_env2->crc,calc_crc,tmp_env2->flags); + + if (!crc1_ok && !crc2_ok) { + set_default_env("!bad CRC"); -- cgit v1.2.3 From 03e0f66d7d850ae3d4c8a53593297d250fa9d053 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 17 May 2017 09:54:26 -0500 Subject: Hide the old u-boot that we are not using --- recipes-bsp/u-boot/u-boot_2016.03.bb | 15 --------------- recipes-bsp/u-boot/u-boot_2016.03.bb.sav | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 15 deletions(-) delete mode 100644 recipes-bsp/u-boot/u-boot_2016.03.bb create mode 100644 recipes-bsp/u-boot/u-boot_2016.03.bb.sav diff --git a/recipes-bsp/u-boot/u-boot_2016.03.bb b/recipes-bsp/u-boot/u-boot_2016.03.bb deleted file mode 100644 index 1f58b50..0000000 --- a/recipes-bsp/u-boot/u-boot_2016.03.bb +++ /dev/null @@ -1,15 +0,0 @@ -require u-boot.inc - -DEPENDS += "dtc-native" - -# This revision corresponds to the tag "v2016.03" -# We use the revision in order to avoid having to fetch it from the -# repo during parse -SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa" - -PV = "v2016.03+git${SRCPV}" - -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-2016.03:" -SRC_URI += "file://mtcdt.patch" -SRC_URI += "file://spl.patch" -SRC_URI += "file://i2c.patch" diff --git a/recipes-bsp/u-boot/u-boot_2016.03.bb.sav b/recipes-bsp/u-boot/u-boot_2016.03.bb.sav new file mode 100644 index 0000000..1f58b50 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot_2016.03.bb.sav @@ -0,0 +1,15 @@ +require u-boot.inc + +DEPENDS += "dtc-native" + +# This revision corresponds to the tag "v2016.03" +# We use the revision in order to avoid having to fetch it from the +# repo during parse +SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa" + +PV = "v2016.03+git${SRCPV}" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-2016.03:" +SRC_URI += "file://mtcdt.patch" +SRC_URI += "file://spl.patch" +SRC_URI += "file://i2c.patch" -- cgit v1.2.3 From 4ca678e5e3720f87157961de2a75386261e4d066 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 17 May 2017 17:36:36 -0500 Subject: Fix Thumb and Tune parameters for MTCAP --- conf/machine/mtcap.conf | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/conf/machine/mtcap.conf b/conf/machine/mtcap.conf index 68bb1b2..ffcce27 100644 --- a/conf/machine/mtcap.conf +++ b/conf/machine/mtcap.conf @@ -12,6 +12,9 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini" PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" DEFAULTTUNE = "arm926ejs" +TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s" +TUNE_FEATURES = "arm armv5 thumb dsp arm926ejs" +ARMPKGSFX_THUMB="t" # used by sysvinit_2 SERIAL_CONSOLES = "115200;ttyS0" @@ -19,7 +22,7 @@ SERIAL_CONSOLES = "115200;ttyS0" USE_VT = "0" UBOOT_MACHINE = "at91sam9x5ek_nandflash_config" -PREFERRED_VERSION_u-boot = "2012.10" +PREFERRED_VERSION_u-boot = "2016.09.01" AT91BOOTSTRAP_BOARD = "at91sam9x5eknf_uboot" PREFERRED_VERSION_at91bootstrap = "3.5.3" -- cgit v1.2.3 From 61ae4f5a718371b34d886017b3ae11435f272199 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 17 May 2017 17:36:57 -0500 Subject: GCC version 4.9.3 is not available in Morty --- conf/machine/mtcdt.conf | 2 -- 1 file changed, 2 deletions(-) diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index 58339dd..c966d9f 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -40,5 +40,3 @@ UBOOT_ENTRYPOINT = "0x20008000" UBOOT_LOADADDRESS = "0x20008000" PREFERRED_VERSION_rs9113 = '1.5.0' - -GCCVERSION = "4.9.3" -- cgit v1.2.3 From 7610babb4ec030a3a2b4cdc2efad51fbde465163 Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 19 May 2017 10:53:38 -0500 Subject: Put the password solicitation after the character solicitation message --- recipes-bsp/u-boot/u-boot-2016.09.01/mtpwd.patch | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtpwd.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtpwd.patch index a97b976..fb07372 100644 --- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtpwd.patch +++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtpwd.patch @@ -1,14 +1,12 @@ -diff -raNu old/common/cli.c new/common/cli.c ---- old/common/cli.c 2017-05-11 17:59:53.806580961 -0500 -+++ new/common/cli.c 2017-05-11 18:06:16.575014377 -0500 -@@ -227,6 +227,7 @@ - - void cli_init(void) - { -+ mts_run_passwd_loop(); - #ifdef CONFIG_HUSH_PARSER - u_boot_hush_start(); - #endif +diff -raNu old/common/autoboot.c new/common/autoboot.c +--- old/common/autoboot.c 2017-05-19 10:43:49.378496833 -0500 ++++ new/common/autoboot.c 2017-05-19 10:52:10.561509423 -0500 +@@ -362,4 +362,5 @@ + run_command_list(s, -1, 0); + } + #endif /* CONFIG_MENUKEY */ ++ mts_run_passwd_loop(); + } diff -raNu old/common/Makefile new/common/Makefile --- old/common/Makefile 2017-05-11 18:07:26.904563771 -0500 +++ new/common/Makefile 2017-05-11 18:09:05.514736126 -0500 -- cgit v1.2.3 From 839478c67fc98346d1ca19fe9c2dcaea595ef6d7 Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 19 May 2017 17:47:25 -0500 Subject: Newer Yocto arm-mlinux-linux-gnueabi* compiler suite no longer have a staging directory --- recipes-kernel/rs9113/rs9113-from-src_1.5.0.bb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes-kernel/rs9113/rs9113-from-src_1.5.0.bb b/recipes-kernel/rs9113/rs9113-from-src_1.5.0.bb index 234d6c9..7d93952 100644 --- a/recipes-kernel/rs9113/rs9113-from-src_1.5.0.bb +++ b/recipes-kernel/rs9113/rs9113-from-src_1.5.0.bb @@ -38,8 +38,13 @@ do_configure() { } do_compile () { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - oe_runmake + unset CFLAGS LDFLAGS CXXFLAGS CPPFLAGS + # For Newer Yocto/Bitbake, CC does not + # include the staging directory + # by default + CC="${CC} --sysroot=${STAGING_DIR_HOST}" + LD="${LD} --sysroot=${STAGING_DIR_HOST}" + oe_runmake CC="${CC}" LD="${LD}" } do_patch () { -- cgit v1.2.3 From 979b0fc7587dd0bc28cf92dbe784b26f61e5ea20 Mon Sep 17 00:00:00 2001 From: Jeff Hatch Date: Tue, 23 May 2017 14:01:38 -0500 Subject: Set GCCVERSION = 5.4.0, PRINC = 0, and PACHAGECONFIG_append_pn-boost = python --- conf/machine/mtcdt.conf.orig | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 conf/machine/mtcdt.conf.orig diff --git a/conf/machine/mtcdt.conf.orig b/conf/machine/mtcdt.conf.orig new file mode 100644 index 0000000..83a47a4 --- /dev/null +++ b/conf/machine/mtcdt.conf.orig @@ -0,0 +1,46 @@ +#@TYPE: Machine +#@Name: Multi-Tech MTCDT +#@DESCRIPTION: Machine configuration for the MultiConnect Conduit MTCDT hardware + +require conf/machine/include/tune-arm926ejs.inc + +MACHINE_FEATURES = "ext2 ext3 usbhost usbgadget ppp" +PREFERRED_PROVIDER_virtual/kernel = "linux" +PREFERRED_VERSION_linux = "3.12.%" + +MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini" +PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" + +DEFAULTTUNE = "arm926ejs" +TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s" +TUNE_FEATURES = "arm armv5 thumb dsp arm926ejs" +ARMPKGSFX_THUMB="t" + +# used by sysvinit_2 +SERIAL_CONSOLES = "115200;ttyS0" +#don't try to access tty1 +USE_VT = "0" + +UBOOT_MACHINE = "at91sam9x5ek_nandflash_config" +PREFERRED_VERSION_u-boot = "2016.09.01" + +AT91BOOTSTRAP_BOARD = "at91sam9x5eknf_uboot" +PREFERRED_VERSION_at91bootstrap = "3.5.3" + +KERNEL_IMAGETYPE = "uImage" +# remove kernel-image from rootfs by overriding kernel-base DEPS +RDEPENDS_kernel-base = "" + +EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot" + +IMAGE_FSTYPES =+ "jffs2 tar.gz" +EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 -n" + +UBOOT_ENTRYPOINT = "0x20008000" +UBOOT_LOADADDRESS = "0x20008000" + +PREFERRED_VERSION_rs9113 = '1.5.0' + +PRINC ?= "0" + +PACKAGECONFIG_append_pn-boost = " python" -- cgit v1.2.3 From d898187c1be7caddd1933b470bafd95baaa2281c Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 24 May 2017 09:28:23 -0500 Subject: New python needs 0o preceding octal digits --- recipes-kernel/rs9113/rs9113.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-kernel/rs9113/rs9113.inc b/recipes-kernel/rs9113/rs9113.inc index b511029..5336663 100644 --- a/recipes-kernel/rs9113/rs9113.inc +++ b/recipes-kernel/rs9113/rs9113.inc @@ -11,7 +11,7 @@ python do_fetch_prepend () { bb.note("DR is " + DR) try: - os.mkdir(DR,0755) + os.mkdir(DR,0o755) except OSError: pass try: -- cgit v1.2.3 From dbeb60749fc22c2a7d18bd5bb5255389e3eeaabc Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 24 May 2017 09:42:38 -0500 Subject: at91bootstrap with MTR RTC patch --- recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb diff --git a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb new file mode 100644 index 0000000..2e5f086 --- /dev/null +++ b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb @@ -0,0 +1,30 @@ +require at91bootstrap_3.5.inc + +PR = "r3" + +LICENSE = "custom-freely-distributable" +LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6fca71334c9e8b7d033296123c91437f" + +SRCREV = "v${PV}" +SRC_URI = "git://github.com/linux4sam/at91bootstrap \ + file://at91bootstrap-3.5.2-add-install.patch \ + file://at91bootstrap-3.5.2-onetime-slow-clock-switch.patch \ + file://at91sam9x5_4bit_pmecc_header.bin \ + file://at91bootstrap-3.5.3-disable-rtc-interrupts.patch" + +S = "${WORKDIR}/git" + +SRC_URI_append_mtcdt = " file://at91bootstrap-3.5.3-mtcdt.patch " +SRC_URI_append_mtcap = " file://at91bootstrap-3.5.3-mtcdt.patch " + +# 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() { + do_pad_4bit_pmecc +} + -- cgit v1.2.3 From daea27bda3d1981f2b7f93c9bfab0081cab2987b Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 24 May 2017 11:38:00 -0500 Subject: Python Need "True" in getVar --- recipes-kernel/rs9113/rs9113.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-kernel/rs9113/rs9113.inc b/recipes-kernel/rs9113/rs9113.inc index 5336663..1a238e1 100644 --- a/recipes-kernel/rs9113/rs9113.inc +++ b/recipes-kernel/rs9113/rs9113.inc @@ -44,7 +44,7 @@ python do_fetch_prepend () { bb.note ("ipk path is " + DR + "/" + ipkn) try: - gt += d.getVar("MTS_INTERNAL_GIT") + gt += d.getVar("MTS_INTERNAL_GIT",True) except TypeError: if os.path.isfile(DR + "/" + ipkn): return -- cgit v1.2.3 From 45b34468a88226ea13f40bd2ee642a95cf985fee Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 24 May 2017 14:28:05 -0500 Subject: Fix CC for at91bootstrap to find /usr/include --- recipes-bsp/at91bootstrap/at91bootstrap_3.5.inc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.inc b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.inc index ac147c0..4b3e957 100644 --- a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.inc +++ b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.inc @@ -11,13 +11,19 @@ do_compile () { unset CFLAGS unset CPPFLAGS + # For Newer Yocto/Bitbake, CC does not + # include the staging directory + # by default + CC="${CC} --sysroot=${STAGING_DIR_HOST}" + LD="${LD} --sysroot=${STAGING_DIR_HOST}" + rm -Rf ${S}/binaries for board in ${AT91BOOTSTRAP_BOARD} ; do - oe_runmake mrproper + oe_runmake mrproper CC="${CC}" LD="${LD}" filename=`find board -name ${board}_defconfig` if ! [ "x$filename" == "x" ] ; then cp $filename .config - oe_runmake + oe_runmake CC="${CC}" LD="${LD}" oe_runmake install else echo "${board} could not be built" -- cgit v1.2.3 From 76875a68427caf9f6e8354db964fe6c05244c6de Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 24 May 2017 16:08:21 -0500 Subject: Need mach-at91 header files from u-boot for u-boot-linux-utils --- recipes-bsp/u-boot/u-boot.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes-bsp/u-boot/u-boot.inc b/recipes-bsp/u-boot/u-boot.inc index d004d85..d1402d5 100644 --- a/recipes-bsp/u-boot/u-boot.inc +++ b/recipes-bsp/u-boot/u-boot.inc @@ -188,6 +188,7 @@ do_install () { fi mkdir -p ${D}/usr/include/u-boot || true (cd ${S}/include;find . | cpio -pdum ${D}/usr/include/u-boot) + (cd ${S}/arch/arm;rm -f ${D}/usr/include/mach-at91;find mach-at91 | cpio -pdum ${D}/usr/include/) (cd ${S} ; rm -f ${D}/usr/include/u-boot/asm ; cd arch/arm/include ; find asm | cpio -pdum ${D}/usr/include/u-boot) } -- cgit v1.2.3 From f07caaf81aa9ca611103a27ff72ff0169844c8c2 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 24 May 2017 16:44:28 -0500 Subject: Bump mts-io recipe to 1.5.12 --- recipes-bsp/multitech/mts-io_1.5.12.bb | 4 ++++ recipes-bsp/multitech/mts-io_1.5.9.bb | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 recipes-bsp/multitech/mts-io_1.5.12.bb delete mode 100644 recipes-bsp/multitech/mts-io_1.5.9.bb diff --git a/recipes-bsp/multitech/mts-io_1.5.12.bb b/recipes-bsp/multitech/mts-io_1.5.12.bb new file mode 100644 index 0000000..85b3de1 --- /dev/null +++ b/recipes-bsp/multitech/mts-io_1.5.12.bb @@ -0,0 +1,4 @@ +require mts-io.inc + +PR = "${INC_PR}.0" + diff --git a/recipes-bsp/multitech/mts-io_1.5.9.bb b/recipes-bsp/multitech/mts-io_1.5.9.bb deleted file mode 100644 index 85b3de1..0000000 --- a/recipes-bsp/multitech/mts-io_1.5.9.bb +++ /dev/null @@ -1,4 +0,0 @@ -require mts-io.inc - -PR = "${INC_PR}.0" - -- cgit v1.2.3 From 3b436dc81cbbabe4bf07e81c32993ddd0ef5b6cb Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 24 May 2017 18:29:26 -0500 Subject: minicom scripts for u-boot must use tftpb instead of tftp to find tftpboot rather than tftpput --- contrib/uboot-setenv-mtcdt.minicom | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/contrib/uboot-setenv-mtcdt.minicom b/contrib/uboot-setenv-mtcdt.minicom index 56fe8ad..c7685b7 100644 --- a/contrib/uboot-setenv-mtcdt.minicom +++ b/contrib/uboot-setenv-mtcdt.minicom @@ -44,14 +44,14 @@ send setenv erase_kernel \'nand erase.part kernel\' send setenv erase_config \'nand erase.part config\' send setenv erase_oem \'nand erase.part oem\' send setenv erase_rootfs \'nand erase.part rootfs\' -send setenv tftp_bootstrap \'tftp ${tftpaddr} ${bootstrap_file} && run erase_bootstrap && nand write.jffs2 ${fileaddr} bootstrap ${filesize}\' -send setenv tftp_uboot \'tftp ${tftpaddr} ${uboot_file} && run erase_uboot && nand write.jffs2 ${fileaddr} u-boot ${filesize}\' -send setenv tftp_uboot_env1 \'tftp ${tftpaddr} ${uboot_env1_file} && run erase_uboot_env1 && nand write.jffs2 ${fileaddr} u-boot-env1 ${filesize}\' -send setenv tftp_uboot_env2 \'tftp ${tftpaddr} ${uboot_env2_file} && run erase_uboot_env2 && nand write.jffs2 ${fileaddr} u-boot-env2 ${filesize}\' -send setenv tftp_kernel \'tftp ${tftpaddr} ${kernel_file} && run erase_kernel && nand write.jffs2 ${fileaddr} kernel ${filesize}\' -send setenv tftp_config \'tftp ${tftpaddr} ${config_file} && run erase_config && nand write.jffs2 ${fileaddr} config ${filesize}\' -send setenv tftp_oem \'tftp ${tftpaddr} ${oem_file} && run erase_oem && nand write.jffs2 ${fileaddr} oem ${filesize}\' -send setenv tftp_rootfs \'tftp ${tftpaddr} ${rootfs_file} && run erase_rootfs && nand write.jffs2 ${fileaddr} rootfs ${filesize}\' +send setenv tftp_bootstrap \'tftpb ${tftpaddr} ${bootstrap_file} && run erase_bootstrap && nand write.jffs2 ${fileaddr} bootstrap ${filesize}\' +send setenv tftp_uboot \'tftpb ${tftpaddr} ${uboot_file} && run erase_uboot && nand write.jffs2 ${fileaddr} u-boot ${filesize}\' +send setenv tftp_uboot_env1 \'tftpb ${tftpaddr} ${uboot_env1_file} && run erase_uboot_env1 && nand write.jffs2 ${fileaddr} u-boot-env1 ${filesize}\' +send setenv tftp_uboot_env2 \'tftpb ${tftpaddr} ${uboot_env2_file} && run erase_uboot_env2 && nand write.jffs2 ${fileaddr} u-boot-env2 ${filesize}\' +send setenv tftp_kernel \'tftpb ${tftpaddr} ${kernel_file} && run erase_kernel && nand write.jffs2 ${fileaddr} kernel ${filesize}\' +send setenv tftp_config \'tftpb ${tftpaddr} ${config_file} && run erase_config && nand write.jffs2 ${fileaddr} config ${filesize}\' +send setenv tftp_oem \'tftpb ${tftpaddr} ${oem_file} && run erase_oem && nand write.jffs2 ${fileaddr} oem ${filesize}\' +send setenv tftp_rootfs \'tftpb ${tftpaddr} ${rootfs_file} && run erase_rootfs && nand write.jffs2 ${fileaddr} rootfs ${filesize}\' send setenv krb \'run tftp_kernel && run tftp_rootfs && boot\' send setenv rb \'run tftp_rootfs && boot\' print saving... -- cgit v1.2.3 From f255ea23d274d21ef5fcabd5b04c4c3699741f90 Mon Sep 17 00:00:00 2001 From: Jeff Hatch Date: Thu, 25 May 2017 10:39:19 -0500 Subject: Add PRINC and boost-python stuff to mtcdt.conf for now. Hopefully can find a way to put these in local.conf or something --- conf/machine/mtcdt.conf | 4 ++++ conf/machine/mtcdt.conf.orig | 46 -------------------------------------------- 2 files changed, 4 insertions(+), 46 deletions(-) delete mode 100644 conf/machine/mtcdt.conf.orig diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index c966d9f..83a47a4 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -40,3 +40,7 @@ UBOOT_ENTRYPOINT = "0x20008000" UBOOT_LOADADDRESS = "0x20008000" PREFERRED_VERSION_rs9113 = '1.5.0' + +PRINC ?= "0" + +PACKAGECONFIG_append_pn-boost = " python" diff --git a/conf/machine/mtcdt.conf.orig b/conf/machine/mtcdt.conf.orig deleted file mode 100644 index 83a47a4..0000000 --- a/conf/machine/mtcdt.conf.orig +++ /dev/null @@ -1,46 +0,0 @@ -#@TYPE: Machine -#@Name: Multi-Tech MTCDT -#@DESCRIPTION: Machine configuration for the MultiConnect Conduit MTCDT hardware - -require conf/machine/include/tune-arm926ejs.inc - -MACHINE_FEATURES = "ext2 ext3 usbhost usbgadget ppp" -PREFERRED_PROVIDER_virtual/kernel = "linux" -PREFERRED_VERSION_linux = "3.12.%" - -MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini" -PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" - -DEFAULTTUNE = "arm926ejs" -TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s" -TUNE_FEATURES = "arm armv5 thumb dsp arm926ejs" -ARMPKGSFX_THUMB="t" - -# used by sysvinit_2 -SERIAL_CONSOLES = "115200;ttyS0" -#don't try to access tty1 -USE_VT = "0" - -UBOOT_MACHINE = "at91sam9x5ek_nandflash_config" -PREFERRED_VERSION_u-boot = "2016.09.01" - -AT91BOOTSTRAP_BOARD = "at91sam9x5eknf_uboot" -PREFERRED_VERSION_at91bootstrap = "3.5.3" - -KERNEL_IMAGETYPE = "uImage" -# remove kernel-image from rootfs by overriding kernel-base DEPS -RDEPENDS_kernel-base = "" - -EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot" - -IMAGE_FSTYPES =+ "jffs2 tar.gz" -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 -n" - -UBOOT_ENTRYPOINT = "0x20008000" -UBOOT_LOADADDRESS = "0x20008000" - -PREFERRED_VERSION_rs9113 = '1.5.0' - -PRINC ?= "0" - -PACKAGECONFIG_append_pn-boost = " python" -- cgit v1.2.3 From 4253d78e546a9a92f4ae72f58172aa997f79e63c Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 25 May 2017 12:14:37 -0500 Subject: Allow a variety of administrator passwords to be updated --- recipes-bsp/multitech/mts-id-eeprom_0.3.0.bb | 3 --- recipes-bsp/multitech/mts-id-eeprom_0.3.1.bb | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 recipes-bsp/multitech/mts-id-eeprom_0.3.0.bb create mode 100644 recipes-bsp/multitech/mts-id-eeprom_0.3.1.bb diff --git a/recipes-bsp/multitech/mts-id-eeprom_0.3.0.bb b/recipes-bsp/multitech/mts-id-eeprom_0.3.0.bb deleted file mode 100644 index ccf3521..0000000 --- a/recipes-bsp/multitech/mts-id-eeprom_0.3.0.bb +++ /dev/null @@ -1,3 +0,0 @@ -require mts-id-eeprom.inc - -PR = "${INC_PR}.0" diff --git a/recipes-bsp/multitech/mts-id-eeprom_0.3.1.bb b/recipes-bsp/multitech/mts-id-eeprom_0.3.1.bb new file mode 100644 index 0000000..ccf3521 --- /dev/null +++ b/recipes-bsp/multitech/mts-id-eeprom_0.3.1.bb @@ -0,0 +1,3 @@ +require mts-id-eeprom.inc + +PR = "${INC_PR}.0" -- cgit v1.2.3 From e48f0dc21b403b4f34e94c94cb401cbf9a5fd64e Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 25 May 2017 12:53:28 -0500 Subject: Make u-boot easier to configure for MTR --- recipes-bsp/multitech/mts-id-eeprom.inc | 1 + recipes-bsp/u-boot/u-boot_2016.09.01.bb | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes-bsp/multitech/mts-id-eeprom.inc b/recipes-bsp/multitech/mts-id-eeprom.inc index 824710f..5bf8076 100644 --- a/recipes-bsp/multitech/mts-id-eeprom.inc +++ b/recipes-bsp/multitech/mts-id-eeprom.inc @@ -6,6 +6,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" INC_PR = "r0" DEPENDS = "mts-io openssl" +RDEPENDS_${PN} =+ "bash" SRCREV = "3f8c91c9cd7f9f36da061057a8445bc5809c22cc" diff --git a/recipes-bsp/u-boot/u-boot_2016.09.01.bb b/recipes-bsp/u-boot/u-boot_2016.09.01.bb index 8d209f2..3d0f4a1 100644 --- a/recipes-bsp/u-boot/u-boot_2016.09.01.bb +++ b/recipes-bsp/u-boot/u-boot_2016.09.01.bb @@ -4,13 +4,18 @@ DEPENDS += "dtc-native" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-2016.09.01:" SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 \ - file://mtcdt.patch \ file://config.patch \ file://i2c.patch \ file://macb.patch \ file://printeepromcrc.patch \ file://mtpwd.patch" +SRC_URI_append_mtcdt = " \ + file://mtcdt.patch" + +SRC_URI_append_mtcap = " \ + file://mtcdt.patch" + SRC_URI[md5sum] = "61c628f8034477c946e173ed174efeb4" SRC_URI[sha256sum] = "95728e89dd476d17428f94080752ab48884be477b6a678941582aeef618b70bb" -- cgit v1.2.3 From 6fa49b000a41eb919bfceb33051bccbb1cd9ab9b Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 26 May 2017 16:43:20 -0500 Subject: Add mtadm and admin to the mts-hashpwd command --- recipes-bsp/multitech/mts-id-eeprom.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-bsp/multitech/mts-id-eeprom.inc b/recipes-bsp/multitech/mts-id-eeprom.inc index 5bf8076..89fb97a 100644 --- a/recipes-bsp/multitech/mts-id-eeprom.inc +++ b/recipes-bsp/multitech/mts-id-eeprom.inc @@ -8,7 +8,7 @@ INC_PR = "r0" DEPENDS = "mts-io openssl" RDEPENDS_${PN} =+ "bash" -SRCREV = "3f8c91c9cd7f9f36da061057a8445bc5809c22cc" +SRCREV = "c2da95882ea7a4218a4432ee5da8165aa61addfc" SRC_URI = "git://git.multitech.net/mts-id-eeprom.git;protocol=git" S = "${WORKDIR}/git" -- cgit v1.2.3