diff options
47 files changed, 5286 insertions, 306 deletions
diff --git a/conf/machine/mtcap.conf b/conf/machine/mtcap.conf new file mode 100644 index 0000000..18343bd --- /dev/null +++ b/conf/machine/mtcap.conf @@ -0,0 +1,40 @@ +#@TYPE: Machine +#@Name: MTCAP +#@DESCRIPTION: Machine configuration for the MTCAP 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.27" + +MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini" +PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" + +DEFAULTTUNE = "arm926ejs" + +# 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 = "2012.10" + +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_lora-gateway = '4.0.1' +PREFERRED_VERSION_lora-packet-forwarder = '3.0.0' diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf index 6db2f3e..9ee6554 100644 --- a/conf/machine/mtcdt.conf +++ b/conf/machine/mtcdt.conf @@ -7,8 +7,6 @@ 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_mts-io ?= "1.1.4" -PREFERRED_VERSION_mts-id-eeprom ?= "0.2.6" MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini" PREFERRED_VERSION_kernel-module-vizzini ?= "1.1" @@ -37,3 +35,5 @@ EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 -n UBOOT_ENTRYPOINT = "0x20008000" UBOOT_LOADADDRESS = "0x20008000" + +PREFERRED_VERSION_rs9113 = '1.5.0' diff --git a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb index b4c7a9d..1858d49 100644 --- a/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb +++ b/recipes-bsp/at91bootstrap/at91bootstrap_3.5.3.bb @@ -9,11 +9,12 @@ 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://at91sam9x5_4bit_pmecc_header.bin " 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 diff --git a/recipes-bsp/multitech/mts-id-eeprom.inc b/recipes-bsp/multitech/mts-id-eeprom.inc index d1e08b6..aa8bdbe 100644 --- a/recipes-bsp/multitech/mts-id-eeprom.inc +++ b/recipes-bsp/multitech/mts-id-eeprom.inc @@ -5,12 +5,11 @@ PRIORITY = "optional" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" INC_PR = "r0" -DEPENDS = "mts-io" +DEPENDS = "mts-io openssl" SRCREV = "8801af07013ddfdf517d42bb50a21ebfad621460" -SRC_URI = "git://git.multitech.net/mts-id-eeprom.git;protocol=git \ - file://eeprom.patch" +SRC_URI = "git://git.multitech.net/mts-id-eeprom.git;protocol=git" S = "${WORKDIR}/git" inherit autotools diff --git a/recipes-bsp/multitech/mts-id-eeprom/eeprom.patch b/recipes-bsp/multitech/mts-id-eeprom/eeprom.patch deleted file mode 100644 index 4c19e22..0000000 --- a/recipes-bsp/multitech/mts-id-eeprom/eeprom.patch +++ /dev/null @@ -1,262 +0,0 @@ -diff -uNr old/src/eeprom_main.c new/src/eeprom_main.c ---- old/src/eeprom_main.c 2017-04-04 12:38:41.561484898 -0500 -+++ new/src/eeprom_main.c 2017-04-04 12:30:33.877499336 -0500 -@@ -1,7 +1,7 @@ - /* - * Create an image file for the MTCDP ID EEPROM - * -- * Copyright (C) 2016 by Multi-Tech Systems -+ * Copyright (C) 2013 by Multi-Tech Systems - * - * Author: James Maki <jmaki@multitech.com> - * -@@ -160,7 +160,6 @@ - fprintf(file, "capa-adc: %s\n", DEVICE_CAPA(id_eeprom->capa, CAPA_ADC) ? "true" : "false"); - fprintf(file, "capa-wifi: %s\n", DEVICE_CAPA(id_eeprom->capa, CAPA_WIFI) ? "true" : "false"); - fprintf(file, "capa-bluetooth: %s\n", DEVICE_CAPA(id_eeprom->capa, CAPA_BLUETOOTH) ? "true" : "false"); -- fprintf(file, "capa-lora: %s\n", DEVICE_CAPA(id_eeprom->capa, CAPA_LORA) ? "true" : "false"); - - fprintf(file, "capa: \""); - -@@ -188,20 +187,6 @@ - ptr += sprintf(ptr, "%02X", id_eeprom->uuid[i]); - } - fprintf(file, "uuid: \"%s\"\n", (char*)buf); -- -- fprintf(file, "lora-eui: \"%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\"\n", -- id_eeprom->lora_eui[0], -- id_eeprom->lora_eui[1], -- id_eeprom->lora_eui[2], -- id_eeprom->lora_eui[3], -- id_eeprom->lora_eui[4], -- id_eeprom->lora_eui[5], -- id_eeprom->lora_eui[6], -- id_eeprom->lora_eui[7]); -- -- fprintf(file, "lora-product-id: \"%.32s\"\n", id_eeprom->lora_product_id); -- fprintf(file, "lora-hw-version: \"%.32s\"\n", id_eeprom->lora_hw_version); -- - fprintf(file, "...\n"); - - fclose(file); -@@ -307,7 +292,6 @@ - log_info("capa-adc: %s", DEVICE_CAPA(id_eeprom->capa, CAPA_ADC) ? "yes" : "no"); - log_info("capa-wifi: %s", DEVICE_CAPA(id_eeprom->capa, CAPA_WIFI) ? "yes" : "no"); - log_info("capa-bluetooth: %s", DEVICE_CAPA(id_eeprom->capa, CAPA_BLUETOOTH) ? "yes" : "no"); -- log_info("capa-lora: %s", DEVICE_CAPA(id_eeprom->capa, CAPA_LORA) ? "yes" : "no"); - - log_info("mac-bluetooth: %02X:%02X:%02X:%02X:%02X:%02X", - id_eeprom->mac_bluetooth[0], -@@ -329,19 +313,6 @@ - ptr += sprintf(ptr, "%02X", id_eeprom->uuid[i]); - } - log_info("uuid: %s", (char*)buf); -- -- log_info("lora-eui: \"%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\"", -- id_eeprom->lora_eui[0], -- id_eeprom->lora_eui[1], -- id_eeprom->lora_eui[2], -- id_eeprom->lora_eui[3], -- id_eeprom->lora_eui[4], -- id_eeprom->lora_eui[5], -- id_eeprom->lora_eui[6], -- id_eeprom->lora_eui[7]); -- -- log_info("lora-product-id: %.32s", id_eeprom->lora_product_id); -- log_info("lora-hw-version: %.32s", id_eeprom->lora_hw_version); - } - - static void mts_ap_eeprom_inspect(struct mts_ap_eeprom_layout *ap_eeprom) -@@ -391,9 +362,7 @@ - fprintf(out, " --mac-addr <mac-addr> |\n"); - fprintf(out, " --mac-bluetooth <mac-addr> |\n"); - fprintf(out, " --mac-wifi <mac-addr> |\n"); -- fprintf(out, " --lora-eui <EUI-64> |\n"); -- fprintf(out, " --lora-hw-version <hw-version> |\n"); -- fprintf(out, " --lora-product-id <product-id> |\n"); -+ fprintf(out, " --eui <EUI-64> |\n"); - fprintf(out, " --imei <imei> |\n"); - fprintf(out, " --capa-gps |\n"); - fprintf(out, " --capa-din |\n"); -@@ -401,9 +370,7 @@ - fprintf(out, " --capa-adc |\n"); - fprintf(out, " --capa-wifi |\n"); - fprintf(out, " --capa-bluetooth |\n"); -- fprintf(out, " --capa-lora |\n"); - fprintf(out, " --capa-clear (clears all flags) |\n"); -- fprintf(out, " --hex-to-bin | \n"); - fprintf(out, " --out-format { bin | yaml (default) } |\n"); - fprintf(out, " --update |\n"); - fprintf(out, " --accessory-card\n"); -@@ -422,9 +389,7 @@ - CMD_OPT_MAC_ADDR, - CMD_OPT_MAC_BLUETOOTH, - CMD_OPT_MAC_WIFI, -- CMD_OPT_LORA_EUI, -- CMD_OPT_LORA_HW_VERSION, -- CMD_OPT_LORA_PRODUCT_ID, -+ CMD_OPT_EUI, - CMD_OPT_IMEI, - CMD_OPT_CAPA_GPS, - CMD_OPT_CAPA_DIN, -@@ -432,15 +397,12 @@ - CMD_OPT_CAPA_ADC, - CMD_OPT_CAPA_WIFI, - CMD_OPT_CAPA_BLUETOOTH, -- CMD_OPT_CAPA_LORA, - CMD_OPT_CAPA_CLEAR, - CMD_OPT_OUT_FORMAT, - CMD_OPT_UPDATE, - CMD_OPT_ACCESSORY_CARD, -- - CMD_OPT_VERSION, - CMD_OPT_HELP, -- CMD_OPT_HEX_TO_BIN, - }; - - static char *short_options = "f:"; -@@ -452,12 +414,10 @@ - {"device-id", 1, NULL, CMD_OPT_DEVICE_ID}, - {"uuid", 1, NULL, CMD_OPT_UUID}, - {"hw-version", 1, NULL, CMD_OPT_HW_VERSION}, -- {"lora-product-id", 1, NULL, CMD_OPT_LORA_PRODUCT_ID}, -- {"lora-hw-version", 1, NULL, CMD_OPT_LORA_HW_VERSION}, - {"mac-addr", 1, NULL, CMD_OPT_MAC_ADDR}, - {"mac-bluetooth", 1, NULL, CMD_OPT_MAC_BLUETOOTH}, - {"mac-wifi", 1, NULL, CMD_OPT_MAC_WIFI}, -- {"lora-eui", 1, NULL, CMD_OPT_LORA_EUI}, -+ {"eui", 1, NULL, CMD_OPT_EUI}, - {"imei", 1, NULL, CMD_OPT_IMEI}, - {"capa-gps", 0, NULL, CMD_OPT_CAPA_GPS}, - {"capa-din", 0, NULL, CMD_OPT_CAPA_DIN}, -@@ -465,9 +425,7 @@ - {"capa-adc", 0, NULL, CMD_OPT_CAPA_ADC}, - {"capa-wifi", 0, NULL, CMD_OPT_CAPA_WIFI}, - {"capa-bluetooth", 0, NULL, CMD_OPT_CAPA_BLUETOOTH}, -- {"capa-lora", 0, NULL, CMD_OPT_CAPA_LORA}, - {"capa-clear", 0, NULL, CMD_OPT_CAPA_CLEAR}, -- {"hex-to-bin", 0, NULL, CMD_OPT_HEX_TO_BIN}, - {"out-format", 1, NULL, CMD_OPT_OUT_FORMAT}, - {"update", 0, NULL, CMD_OPT_UPDATE}, - {"accessory-card", 0, NULL, CMD_OPT_ACCESSORY_CARD}, -@@ -494,9 +452,7 @@ - char *uuid = NULL; - char *hw_version = NULL; - char *mac_addr = NULL; -- char *lora_eui = NULL; -- char *lora_product_id = NULL; -- char *lora_hw_version = NULL; -+ char *eui = NULL; - - struct mts_id_eeprom_layout id_eeprom; - struct mts_ap_eeprom_layout ap_eeprom; -@@ -616,10 +572,6 @@ - product_id = optarg; - break; - -- case CMD_OPT_LORA_PRODUCT_ID: -- lora_product_id = optarg; -- break; -- - case CMD_OPT_DEVICE_ID: - device_id = optarg; - break; -@@ -641,10 +593,6 @@ - hw_version = optarg; - break; - -- case CMD_OPT_LORA_HW_VERSION: -- lora_hw_version = optarg; -- break; -- - case CMD_OPT_MAC_ADDR: - mac_addr = optarg; - break; -@@ -667,8 +615,8 @@ - } - break; - -- case CMD_OPT_LORA_EUI: -- lora_eui = optarg; -+ case CMD_OPT_EUI: -+ eui = optarg; - break; - - case CMD_OPT_IMEI: -@@ -699,10 +647,6 @@ - DEVICE_CAPA_SET(id_eeprom.capa, CAPA_BLUETOOTH); - break; - -- case CMD_OPT_CAPA_LORA: -- DEVICE_CAPA_SET(id_eeprom.capa, CAPA_LORA); -- break; -- - case CMD_OPT_CAPA_CLEAR: - memset(id_eeprom.capa, 0, sizeof(id_eeprom.capa)); - break; -@@ -716,22 +660,7 @@ - out_format = optarg; - - break; -- case CMD_OPT_HEX_TO_BIN: -- { -- char buf[1025]; -- char outbuf[1024]; -- size_t sz, len; -- while((sz=read(0,buf,sizeof buf)) > 0) { -- buf[sz] = 0; -- sz = asciiHexToBin(buf,outbuf); -- len = write(1,outbuf,sz); -- if(len != sz) { -- log_error("failure to write to stdout: %s",strerror(errno)); -- exit(1); -- } -- } -- exit(0); -- } -+ - default: - usage(stderr); - exit(1); -@@ -779,35 +708,16 @@ - exit(1); - } - } -- // on-board lora product id -- if (lora_product_id) { -- if (! accessory_card) { -- strncpy(id_eeprom.lora_product_id, lora_product_id, sizeof(id_eeprom.lora_product_id) - 1); -- } else { -- log_error("--lora-product-id option is not supported on accessory card eeprom"); -- usage(stderr); -- exit(1); -- } -- } -- // on-board lora hw version -- if (lora_hw_version) { -- if (! accessory_card) { -- strncpy(id_eeprom.lora_hw_version, lora_hw_version, sizeof(id_eeprom.lora_hw_version) - 1); -- } else { -- log_error("--lora-hw-version option is not supported on accessory card eeprom"); -+ if (eui) { -+ if (!accessory_card) { -+ log_error("EUI only supported on accessory card eeprom"); - usage(stderr); - exit(1); - } -- } -- if (lora_eui) { -- if (!accessory_card) { -- tmp = hwaddr_aton(lora_eui, id_eeprom.lora_eui, sizeof(id_eeprom.lora_eui)); -- } -- else { -- tmp = hwaddr_aton(lora_eui, ap_eeprom.eui, sizeof(ap_eeprom.eui)); -- } -+ -+ tmp = hwaddr_aton(eui, ap_eeprom.eui, sizeof(ap_eeprom.eui)); - if (!tmp) { -- log_error("invalid EUI %s", lora_eui); -+ log_error("invalid EUI %s", eui); - usage(stderr); - exit(1); - } diff --git a/recipes-bsp/multitech/mts-id-eeprom_0.2.10.bb b/recipes-bsp/multitech/mts-id-eeprom_0.2.10.bb index 9c5bd5f..12c32c4 100644 --- a/recipes-bsp/multitech/mts-id-eeprom_0.2.10.bb +++ b/recipes-bsp/multitech/mts-id-eeprom_0.2.10.bb @@ -1,3 +1,3 @@ require mts-id-eeprom.inc -PR = "${INC_PR}.1A" +PR = "${INC_PR}.1" diff --git a/recipes-bsp/multitech/mts-io.inc b/recipes-bsp/multitech/mts-io.inc index 0b65380..950a2b9 100644 --- a/recipes-bsp/multitech/mts-io.inc +++ b/recipes-bsp/multitech/mts-io.inc @@ -7,15 +7,19 @@ LIC_FILES_CHKSUM = "file://io-module/COPYING;md5=94d55d512a9ba36caa9b7df079bae19 file://io-tool/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ " DEPENDS = "virtual/kernel" -INC_PR = "r7" +INC_PR = "r9" SRCREV = "${PV}" SRC_URI = " \ git://git.multitech.net/mts-io.git;protocol=git \ file://led-status_heartbeat_trigger \ + file://lora-led-updater \ file://mts-io.init \ + file://mts-io.mtcap.init \ file://radio-reset.init \ + file://radio-reset.default \ + file://mts-io.conf \ " S = "${WORKDIR}/git" @@ -44,6 +48,7 @@ FILES_${PN} = "${base_libdir}/modules/${KERNEL_VERSION}/extra/mts_io.ko" FILES_${PN} += "${sysconfdir}" FILES_${PN} += "${libdir}/mts-io-sysfs*" FILES_${PN} += "${sbindir}/mts-io-sysfs" +FILES_${PN}_append_mtcap += "${sbindir}/lora-led-updater" INITSCRIPT_NAME = "mts-io" INITSCRIPT_PARAMS = "start 39 S ." @@ -65,6 +70,8 @@ fakeroot do_install () { install -m 0755 ${WORKDIR}/mts-io.init ${D}${sysconfdir}/init.d/mts-io install -m 0755 ${WORKDIR}/radio-reset.init ${D}${sysconfdir}/init.d/radio-reset install -m 0755 ${WORKDIR}/led-status_heartbeat_trigger ${D}/${sysconfdir}/init.d/ + install -d ${D}${sysconfdir}/default + install -m 0755 ${WORKDIR}/mts-io.conf ${D}${sysconfdir}/default/mts-io # run radio-reset on reboot install -d ${D}${sysconfdir}/rc6.d @@ -72,10 +79,22 @@ fakeroot do_install () { # blink status LED after booted install -d ${D}${sysconfdir}/rc5.d - ln -sf ${sysconfdir}/init.d/led-status_heartbeat_trigger ${D}/${sysconfdir}/rc5.d/S99led-status_heartbeat_trigger + ln -sf ${sysconfdir}/init.d/led-status_heartbeat_trigger ${D}/${sysconfdir}/rc5.d/S95led-status_heartbeat_trigger install -m 0755 -d ${D}${sbindir} install -d ${D}${libdir}/mts-io-sysfs install -m 0755 io-tool/mts-io-sysfs-inc.sh ${D}${libdir}/mts-io-sysfs install -m 0755 io-tool/mts-io-sysfs ${D}${sbindir}/mts-io-sysfs + + install -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/radio-reset.default ${D}${sysconfdir}/default/radio-reset +} + +fakeroot do_install_append_mtcap() { + # install MTCAP mts-io init script + install -m 0755 ${WORKDIR}/mts-io.mtcap.init ${D}${sysconfdir}/init.d/mts-io + install -m 0755 ${WORKDIR}/lora-led-updater ${D}${sbindir}/lora-led-updater + + # disable radio-reset for the mtcap hardware + sed -i 's/ENABLED="yes"/ENABLED="no"/g' ${D}${sysconfdir}/default/radio-reset } diff --git a/recipes-bsp/multitech/mts-io/lora-led-updater b/recipes-bsp/multitech/mts-io/lora-led-updater new file mode 100755 index 0000000..0e38310 --- /dev/null +++ b/recipes-bsp/multitech/mts-io/lora-led-updater @@ -0,0 +1,14 @@ +#!/bin/bash + +while true; do + # If driver is unloaded, stop. + [[ -d /sys/devices/platform/mts-io ]] || exit 0 + fuser /dev/spidev0.0 > /dev/null + if [ $? == 0 ]; then + mts-io-sysfs store led-lora 1 >/dev/null 2>&1 + else + mts-io-sysfs store led-lora 0 >/dev/null 2>&1 + fi + sleep 5 +done + diff --git a/recipes-bsp/multitech/mts-io/mts-io.conf b/recipes-bsp/multitech/mts-io/mts-io.conf new file mode 100644 index 0000000..b5b4275 --- /dev/null +++ b/recipes-bsp/multitech/mts-io/mts-io.conf @@ -0,0 +1,9 @@ +# GPS GNSS reset when loading driver +# 1 Reset the GPS on driver load (default) +# 0 Do not reset +GPSGNSSRESET=1 + +# DEBUG +# 0 is off +# 1 is on +DEBUG=0 diff --git a/recipes-bsp/multitech/mts-io/mts-io.init b/recipes-bsp/multitech/mts-io/mts-io.init index f27415c..b670cef 100644 --- a/recipes-bsp/multitech/mts-io/mts-io.init +++ b/recipes-bsp/multitech/mts-io/mts-io.init @@ -1,34 +1,173 @@ #!/bin/bash +### BEGIN INIT INFO +# Provides: mts-io +# Default-Start: S +# Default-Stop: +# Short-Description: load the mts-io driver +# Description: mts-io driver initializes the Conduit hardware and +# provides user mode access through the driver to the +# Conduit features. +### END INIT INFO +. /etc/default/mts-io +((fail=0)) +# To log debug, set LOGDBG to /usr/bin/LOGGER +if ((DEBUG)) ; then + LOGDBG=/usr/bin/logger + ${LOGDBG} -t "mts-io" -p daemon.info -s "LOGDBG turned on" +else + LOGDBG=":" +fi + +${LOGDBG} -p daemon.info 'mts-io script' sysdir=/sys/devices/platform/mts-io +gpiodir=/sys/class/gpio +port1=${sysdir}/ap1 +port2=${sysdir}/ap2 + +USBRST=${sysdir}/usbhub-reset + +RST[0]="${sysdir}/wifi-bt-reset" +RST[1]="${sysdir}/mtq-reset" +RST[2]="${sysdir}/ap1/reset" +RST[3]="${sysdir}/ap1/creset" +RST[4]="${sysdir}/ap2/reset" +RST[5]="${sysdir}/ap2/creset" +RST[6]="${sysdir}/secure-reset" +RST[7]="${sysdir}/eth-reset" +RST[8]="${sysdir}/sm1-reset" +if ((GPSGNSSRESET)) ; then + RST[9]="${sysdir}/gnss-reset" +fi + +WPIN[0]="${sysdir}/ap1/cdone" +WPIN[1]="${sysdir}/ap2/cdone" + +USLPTIME=60000 # 30 milliseconds from Redpine Signals Reset Spec +WAIT="/bin/busybox usleep ${USLPTIME}" + +# Wait 10 WAIT intervals for pins to come high +waitpins() { + ((i=0)) + while((i < ${#WPIN[@]})) ; do + ((j=0)) + while [[ -r ${WPIN[$i]} ]] && ! (($(cat ${WPIN[$i]}))) ; do + logger -t "mts-io" -p daemon.error -s "Wait on ${WPIN[$i]}" + ${WAIT} + ((j++)) + if ((j > 10)) ; then + ((fail++)) + ${LOGDBG} -t "mts-io" -p daemon.error -s "Ready failure on ${WPIN[$i]}" + break + fi + done + ((i++)) + done +} +reset_path() { + pin=$1 + ${LOGDBG} -t "mts-io" -p daemon.info Reset $pin + if [[ -f ${pin} ]] ; then + if ! ( (echo 1 >${pin}) && ${WAIT} && (echo 0 >${pin}) && ${WAIT} && (echo 1 >${pin}) ) ; then + /usr/bin/logger -t "mts-io" -p daemon.error -s "Failed write to ${pin}" + return 1 + fi + sleep 2 + + ${LOGDBG} -t "mts-io" -p daemon.info Completeed reset $pin + else + ${LOGDBG} -t "mts-io" -p daemon.info "${pin} does not exist" + fi + return 0 +} +reset_array() { + ((i=${#RST[@]}-1)) + while ((i>=0)) ; do + if [[ -f ${RST[$i]} ]] ; then + if ! ( (echo 1 >${RST[i]}) ) ; then + /usr/bin/logger -t "mts-io" -p daemon.error -s "Failed write to ${RST[$i]}" + fail=1 + else + ${LOGDBG} -t "mts-io" -p daemon.error -s "Wrote 1 to ${RST[$i]}" + fi + else + ${LOGDBG} -t "mts-io" -p daemon.info "${RST[$i]} does not exist" + RST[$i]="" + fi + ((i--)) + done + ((DBG)) && (cd $sysdir ; head gnss-reset eth-reset wifi-bt-reset usbhub-reset | logger -p daemon.info) + ((i=${#RST[@]}-1)) + while ((i>=0)) ; do + ${LOGDBG} -s -p daemon.info "i value is $i RST is ${RST[$i]} count is ${#RST[$i]}" + if ((${#RST[$i]} > 0)) && [[ -f ${RST[$i]} ]] ; then + if ! ( (echo 0 >${RST[i]}) ) ; then + /usr/bin/logger -t "mts-io" -p daemon.error -s "Failed write to ${RST[$i]}" + fail=1 + else + ${LOGDBG} -t "mts-io" -p daemon.error -s "Wrote 0 to ${RST[$i]}" + : + fi + else + ${LOGDBG} -t "mts-io" -p daemon.info "${RST[$i]} does not exist" + fi + ((i--)) + done + ${WAIT} + ((DBG)) && (cd $sysdir ; head gnss-reset eth-reset wifi-bt-reset usbhub-reset | logger -p daemon.info) + ((i=${#RST[@]}-1)) + while ((i>=0)) ; do + if ((${#RST[$i]} > 0)) && [[ -f ${RST[$i]} ]] ; then + if ! ( (echo 1 >${RST[$i]}) ) ; then + /usr/bin/logger -t "mts-io" -p daemon.error -s "Failed write to ${RST[$i]}" + fail=1 + else + ${LOGDBG} -t "mts-io" -p daemon.error -s "Wrote 1 to ${RST[$i]}" + fi + else + ${LOGDBG} -t "mts-io" -p daemon.info "${RST[$i]} does not exist" + fi + ((i--)) + done + ((DBG)) && (cd $sysdir ; head gnss-reset eth-reset wifi-bt-reset usbhub-reset | logger -p daemon.info) + return $fail +} read_card_info() { ap1_product_id="" ap2_product_id="" - if [ -d $sysdir/ap1 ]; then + if [[ -d $sysdir/ap1 ]]; then ap1_product_id=$(cat $sysdir/ap1/product-id) fi - if [ -d $sysdir/ap2 ]; then + if [[ -d $sysdir/ap2 ]]; then ap2_product_id=$(cat $sysdir/ap2/product-id) fi + + lora_hw=$(mts-io-sysfs show lora/hw-version 2> /dev/null) + + if [ -d $port1 ] && [[ $(cat $port1/hw-version) = $lora_hw ]]; then + ln -sf /dev/spidev32766.2 /dev/spidev0.0 + elif [ -d $port2 ] && [[ $(cat $port2/hw-version) = $lora_hw ]]; then + ln -sf /dev/spidev32765.2 /dev/spidev0.0 + fi } mfser_init() { found_ap1=0 - if [[ "$ap1_product_id" =~ ^MTAC-MFSER- ]]; then - echo "mts-io: Linking /dev/mfser to /dev/ttyAP1" + if [[ $ap1_product_id =~ ^MTAC-MFSER- ]]; then + /usr/bin/logger -t "mts-io" -p daemon.info -s "Linking /dev/mfser to /dev/ttyAP1" ln -sf /dev/ttyAP1 /dev/mfser found_ap1=1 fi - if [[ "$ap2_product_id" =~ ^MTAC-MFSER- ]]; then + if [[ $ap2_product_id =~ ^MTAC-MFSER- ]]; then if [[ $found_ap1 = 1 ]]; then - echo "mts-io: Linking /dev/mfser-2 to /dev/ttyAP2" + /usr/bin/logger -t "mts-io" -p daemon.info -s "Linking /dev/mfser-2 to /dev/ttyAP2" ln -sf /dev/ttyAP2 /dev/mfser-2 else - echo "mts-io: Linking /dev/mfser to /dev/ttyAP2" + /usr/bin/logger -t "mts-io" -p daemon.info -s "Linking /dev/mfser to /dev/ttyAP2" ln -sf /dev/ttyAP2 /dev/mfser fi fi @@ -37,21 +176,76 @@ mfser_init() { case $1 in start) - echo "Loading mts-io module" - modprobe mts_io + /usr/bin/logger -t "mts-io" -p daemon.info -s "Loading mts-io module" + if ! modprobe mts_io ; then + ((fail++)) + fi + /usr/bin/logger -t "mts-io" -p daemon.info -s "Resetting system modules" read_card_info + if ! reset_path $USBRST ; then + ((fail++)) + fi + /bin/busybox usleep $USLPTIME + reset_array + mts-io-sysfs store radio-reset 0 mfser_init + if ! reset_path $RS9113RST ; then + ((fail++)) + fi + + waitpins + + if ((fail == 0)) ; then + echo "OK" + else + echo "FAIL" + fi + exit $fail ;; stop) - echo "Unloading mts-io module" + /usr/bin/logger -t "mts-io" -p daemon.info -s "Unloading mts-io module" modprobe -r mts_io + RETVAL=$? + if ((RETVAL == 0)) ; then + echo "OK" + else + echo "FAIL" + fi ;; - + restart) + $0 stop + sleep 1 + $0 start + ;; + reload) + /usr/bin/logger -t "mts-io" -p daemon.info -s "Resetting system modules" + if ! reset_path $USBRST ; then + ((fail++)) + fi + /bin/busybox usleep $USLPTIME + reset_array + mts-io-sysfs store radio-reset 0 + mfser_init + if ((fail == 0)) ; then + echo "OK" + else + echo "FAIL" + fi + exit $fail + ;; + status) + if [[ -d ${sysdir} ]] ; then + echo Driver is loaded + exit 0 + else + echo Driver is not loaded + exit 3 + fi + ;; *) - echo "Usage: $0 {start|stop}" + echo "Usage: $0 {start|stop|status|restart}" exit 2 ;; esac - diff --git a/recipes-bsp/multitech/mts-io/mts-io.mtcap.init b/recipes-bsp/multitech/mts-io/mts-io.mtcap.init new file mode 100644 index 0000000..e047c40 --- /dev/null +++ b/recipes-bsp/multitech/mts-io/mts-io.mtcap.init @@ -0,0 +1,89 @@ +#!/bin/bash + + +sysdir=/sys/devices/platform/mts-io +setwificap() { + WIFICAP=0 + if [[ -f ${sysdir}/capability/wifi ]] && (($(cat ${sysdir}/capability/wifi) == 1)) ; then + WIFICAP=1 + fi +} + +lora_init() { + # reset lora chip + mts-io-sysfs store lora/reset 1 + mts-io-sysfs store lora/reset 0 + usleep 100000 + mts-io-sysfs store lora/reset 1 +} + +eth_init() { + # reset eth phy + mts-io-sysfs store eth-reset 1 + mts-io-sysfs store eth-reset 0 + usleep 100000 + mts-io-sysfs store eth-reset 1 +} + +# Normal state when powered up +wifi_init1() { + (($WIFICAP)) || return 0 + # reset wlan + mts-io-sysfs store wlan-rst 0 + # disable wlan + mts-io-sysfs store wlan-en 0 +} + +wifi_init2() { + (($WIFICAP)) || return 0 + mts-io-sysfs store wlan-en 1 + usleep 30000 # 30mS according to WILC1000 spec. + mts-io-sysfs store wlan-rst 1 +} + + +cell_init() { + # remove /dev/modem_at[0,1] symlinks + rm -f /dev/modem_at[0,1] + + # power down the cellular chip gracefully + mts-io-sysfs store radio-power 0 + + # power up the cellular chip + mts-io-sysfs store radio-power 1 +} + +start_lora_led_updater() { + lora-led-updater & +} + +case $1 in + start) + echo "Loading mts-io module" + modprobe -r atmel_mci + modprobe mts_io + setwificap + wifi_init1 + lora_init + eth_init + cell_init & + start_lora_led_updater + wifi_init2 + modprobe atmel_mci + (($WIFICAP)) && modprobe wilc1000 + (($WIFICAP)) && modprobe wilc1000-sdio + ;; + + stop) + echo "Unloading mts-io module" + wifi_init1 # Power down wifi + modprobe -r wilc1000 >/dev/null 2>&1 + modprobe -r wilc1000-sdio >/dev/null 2>&1 + modprobe -r mts_io >/dev/null 2>&1 + ;; + + *) + echo "Usage: $0 {start|stop}" + exit 2 + ;; +esac diff --git a/recipes-bsp/multitech/mts-io/radio-reset.default b/recipes-bsp/multitech/mts-io/radio-reset.default new file mode 100644 index 0000000..69f4bb7 --- /dev/null +++ b/recipes-bsp/multitech/mts-io/radio-reset.default @@ -0,0 +1,2 @@ +# set to "no" to disable radio-reset on reboot +ENABLED="yes" diff --git a/recipes-bsp/multitech/mts-io/radio-reset.init b/recipes-bsp/multitech/mts-io/radio-reset.init index 6fec217..3ce07c7 100644 --- a/recipes-bsp/multitech/mts-io/radio-reset.init +++ b/recipes-bsp/multitech/mts-io/radio-reset.init @@ -1,5 +1,10 @@ #!/bin/sh +ENABLED="yes" + +[ -r /etc/default/radio-reset ] && source /etc/default/radio-reset +[ "$ENABLED" == "yes" ] || exit 0 + case $1 in stop) echo "Resetting cellular radio" @@ -11,5 +16,3 @@ case $1 in exit 2 ;; esac - - diff --git a/recipes-bsp/u-boot/u-boot_2012.10.bb b/recipes-bsp/u-boot/u-boot_2012.10.bb index fc0c7d2..51cd565 100644 --- a/recipes-bsp/u-boot/u-boot_2012.10.bb +++ b/recipes-bsp/u-boot/u-boot_2012.10.bb @@ -21,6 +21,7 @@ SRC_URI += "file://u-boot-2010.06-macb-autoneg-timeout.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 = "" diff --git a/recipes-kernel/linux/linux-3.12.27/linux-3.12-cadence-macb.patch b/recipes-kernel/linux/linux-3.12.27/linux-3.12-cadence-macb.patch new file mode 100644 index 0000000..c814ed1 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.27/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.27/linux-3.12-pps-gpio.patch b/recipes-kernel/linux/linux-3.12.27/linux-3.12-pps-gpio.patch new file mode 100644 index 0000000..554b53f --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.27/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 <rasm@fe.up.pt>"); + MODULE_AUTHOR("James Nuss <jamesnuss@nanometrics.ca>"); ++MODULE_AUTHOR("Gary Miller <gem@rellim.com>"); ++ + 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.27/linux-3.12-time-leap-second-v3.patch b/recipes-kernel/linux/linux-3.12.27/linux-3.12-time-leap-second-v3.patch new file mode 100644 index 0000000..1c329a2 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.27/linux-3.12-time-leap-second-v3.patch @@ -0,0 +1,26 @@ +From: https://patchwork.kernel.org/patch/5819751/ +Having observed leap second failing to change the clock after receiving the +message kernel: Clock: inserting leap second 23:59:60 UTC +in the kernel log this patch seemed promising. The pupose is to lock +out adjtimex changes during leap second, to prevent adjtimex from cancelling +leap second. +=========================================================================== +From Prarit Bhargava - Feb. 20, 2015, 2:12 p.m. +I think setting it in the middle of the leap second should be a NOOP. We all +know how fragile this code has been in the past and allowing a state transition +at that particular time isn't a good idea given the outcome that the state may +remain TIME_INS. +diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c +index 28bf91c..6ff5cd5 100644 +--- a/kernel/time/ntp.c ++++ b/kernel/time/ntp.c +@@ -535,7 +535,8 @@ void ntp_notify_cmos_timer(void) { } + static inline void process_adj_status(struct timex *txc, struct timespec64 *ts) + { + if ((time_status & STA_PLL) && !(txc->status & STA_PLL)) { +- time_state = TIME_OK; ++ if (time_state != TIME_OOP) ++ time_state = TIME_OK; + time_status = STA_UNSYNC; + /* restart PPS frequency calibration */ + pps_reset_freq_interval(); diff --git a/recipes-kernel/linux/linux-3.12.27/mtcap/defconfig b/recipes-kernel/linux/linux-3.12.27/mtcap/defconfig new file mode 100644 index 0000000..9854c64 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.27/mtcap/defconfig @@ -0,0 +1,2897 @@ +# +# 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=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_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.27/mtcap/linux-3.12-eeprom-setup-mtcdt.patch b/recipes-kernel/linux/linux-3.12.27/mtcap/linux-3.12-eeprom-setup-mtcdt.patch new file mode 100644 index 0000000..4075005 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.27/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 <linux/mts_at24.h> ++ ++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 <linux/i2c.h> + #include <linux/i2c/at24.h> + ++#include <linux/mts_at24.h> ++ + /* + * 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 <linux/memory.h> ++ ++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.27/mtcap/linux-3.12-mtcap-device-tree.patch b/recipes-kernel/linux/linux-3.12.27/mtcap/linux-3.12-mtcap-device-tree.patch new file mode 100644 index 0000000..9c00b0f --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.27/mtcap/linux-3.12-mtcap-device-tree.patch @@ -0,0 +1,245 @@ +diff -Naru linux-3.12.27.orig/arch/arm/boot/dts/mtcap.dts linux-3.12.27/arch/arm/boot/dts/mtcap.dts +--- linux-3.12.27.orig/arch/arm/boot/dts/mtcap.dts 1969-12-31 18:00:00.000000000 -0600 ++++ linux-3.12.27/arch/arm/boot/dts/mtcap.dts 2017-02-24 14:31:20.750798116 -0600 +@@ -0,0 +1,230 @@ ++/* ++ * 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"; ++ }; ++ ++ mmc0: mmc@f0008000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = < ++ /* &pinctrl_board_mmc0 */ ++ &pinctrl_mmc0_slot0_clk_cmd_dat0 ++ &pinctrl_mmc0_slot0_dat1_3>; ++ status = "okay"; ++ slot@0 { ++ reg = <0>; ++ bus-width = <4>; ++ }; ++ }; ++ ++ pinctrl@fffff400 { ++ mmc0 { ++ pinctrl_board_mmc0: mmc0-board { ++ atmel,pins = ++ <AT91_PIOA 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PA4 gpio pin pull up and deglitch - WIFI enable */ ++ }; ++ }; ++ ++ nand { ++ pinctrl_nand: nand-0 { ++ atmel,pins = ++ <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD0 periph A Read Enable */ ++ AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD1 periph A Write Enable */ ++ AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD2 periph A Address Latch Enable */ ++ AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD3 periph A Command Latch Enable */ ++ AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD4 gpio Chip Enable pin pull_up */ ++ AT91_PIOC 31 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PC31 gpio RDY/BUSY pin pull_up */ ++ AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD6 periph A Data bit 0 */ ++ AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD7 periph A Data bit 1 */ ++ AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD8 periph A Data bit 2 */ ++ AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD9 periph A Data bit 3 */ ++ AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD10 periph A Data bit 4 */ ++ AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD11 periph A Data bit 5 */ ++ AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD12 periph A Data bit 6 */ ++ AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD13 periph A Data bit 7 */ ++ }; ++ ++ pinctrl_nand_16bits: nand_16bits-0 { ++ atmel,pins = ++ <AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD14 periph A Data bit 8 */ ++ AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD15 periph A Data bit 9 */ ++ AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD16 periph A Data bit 10 */ ++ AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD17 periph A Data bit 11 */ ++ AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD18 periph A Data bit 12 */ ++ AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD19 periph A Data bit 13 */ ++ AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD20 periph A Data bit 14 */ ++ AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* 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>; ++ }; ++ }; ++}; +diff -Naru linux-3.12.27.orig/arch/arm/boot/dts/Makefile linux-3.12.27/arch/arm/boot/dts/Makefile +--- linux-3.12.27.orig/arch/arm/boot/dts/Makefile 2017-02-24 14:25:30.983064241 -0600 ++++ linux-3.12.27/arch/arm/boot/dts/Makefile 2017-02-24 14:26:50.424821432 -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
\ No newline at end of file diff --git a/recipes-kernel/linux/linux-3.12.27/mtcdt/defconfig b/recipes-kernel/linux/linux-3.12.27/mtcdt/defconfig index 772269c..bfa0e38 100644 --- a/recipes-kernel/linux/linux-3.12.27/mtcdt/defconfig +++ b/recipes-kernel/linux/linux-3.12.27/mtcdt/defconfig @@ -82,10 +82,16 @@ CONFIG_TICK_CPU_ACCOUNTING=y # # RCU Subsystem # -CONFIG_TINY_RCU=y -# CONFIG_PREEMPT_RCU is not set -# CONFIG_RCU_STALL_COMMON is not set +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 @@ -217,11 +223,7 @@ CONFIG_IOSCHED_CFQ=y # CONFIG_DEFAULT_CFQ is not set CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_IOSCHED="noop" -CONFIG_INLINE_SPIN_UNLOCK_IRQ=y -CONFIG_INLINE_READ_UNLOCK=y -CONFIG_INLINE_READ_UNLOCK_IRQ=y -CONFIG_INLINE_WRITE_UNLOCK=y -CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_FREEZER=y @@ -369,9 +371,10 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_ARCH_NR_GPIO=0 -CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set -# CONFIG_PREEMPT is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y CONFIG_HZ_FIXED=100 CONFIG_HZ=100 CONFIG_SCHED_HRTICK=y @@ -613,7 +616,7 @@ 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 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 @@ -645,7 +648,7 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y # 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_HASHLIMIT=y # CONFIG_NETFILTER_XT_MATCH_HELPER is not set CONFIG_NETFILTER_XT_MATCH_HL=y # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set @@ -873,7 +876,10 @@ 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_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 @@ -1125,7 +1131,7 @@ CONFIG_SCSI_LOWLEVEL=y CONFIG_NETDEVICES=y CONFIG_MII=m CONFIG_NET_CORE=y -# CONFIG_BONDING is not set +CONFIG_BONDING=m CONFIG_DUMMY=m # CONFIG_EQUALIZER is not set # CONFIG_NET_TEAM is not set @@ -1269,6 +1275,7 @@ 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 @@ -1997,7 +2004,7 @@ CONFIG_USB_STORAGE=m # CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_GENERIC=y -# CONFIG_USB_SERIAL_SIMPLE is not set +CONFIG_USB_SERIAL_SIMPLE=m CONFIG_USB_SERIAL_AIRCABLE=m CONFIG_USB_SERIAL_ARK3116=m CONFIG_USB_SERIAL_BELKIN=m @@ -2618,6 +2625,7 @@ 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...) @@ -2643,8 +2651,12 @@ CONFIG_DEBUG_BUGVERBOSE=y # # 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 @@ -2660,6 +2672,7 @@ 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 diff --git a/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-mtcdt-device-tree.patch b/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-mtcdt-device-tree.patch index aa96655..bea818d 100644 --- a/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-mtcdt-device-tree.patch +++ b/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-mtcdt-device-tree.patch @@ -1,8 +1,8 @@ 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 2015-01-13 13:58:20.766078428 -0600 -@@ -0,0 +1,278 @@ ++++ 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 + */ @@ -248,6 +248,7 @@ Index: linux-3.12.27/arch/arm/boot/dts/mtcdt.dts + pps { + compatible = "pps-gpio"; + gpios = <&pioA 29 0>; ++ capture-clear; + }; + + diff --git a/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-usb-serial-simple-telit.patch b/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-usb-serial-simple-telit.patch new file mode 100644 index 0000000..b00ca28 --- /dev/null +++ b/recipes-kernel/linux/linux-3.12.27/mtcdt/linux-3.12-usb-serial-simple-telit.patch @@ -0,0 +1,30 @@ +diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c +index 3be47c2..4608e7f 100644 +--- a/drivers/usb/class/cdc-acm.c ++++ b/drivers/usb/class/cdc-acm.c +@@ -1727,6 +1727,11 @@ static const struct usb_device_id acm_ids[] = { + {USB_DEVICE(0x04e2, 0x1414), + .driver_info = IGNORE_DEVICE, + }, ++ /* Telit flashing ++ */ ++ {USB_DEVICE(0x058b, 0x0041), ++ .driver_info = IGNORE_DEVICE, ++ }, + + /* control interfaces without any protocol set */ + { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, +diff --git a/drivers/usb/serial/usb-serial-simple.c b/drivers/usb/serial/usb-serial-simple.c +index 147f019..2008329 100644 +--- a/drivers/usb/serial/usb-serial-simple.c ++++ b/drivers/usb/serial/usb-serial-simple.c +@@ -48,6 +48,7 @@ DEVICE(funsoft, FUNSOFT_IDS); + + /* Infineon Flashloader driver */ + #define FLASHLOADER_IDS() \ ++ { USB_DEVICE_INTERFACE_CLASS(0x058b, 0x0041, USB_CLASS_CDC_DATA) }, \ + { USB_DEVICE(0x8087, 0x0716) } + DEVICE(flashloader, FLASHLOADER_IDS); + +-- +2.8.2
\ No newline at end of file diff --git a/recipes-kernel/linux/linux_3.12.27.bb b/recipes-kernel/linux/linux_3.12.27.bb index aec6e54..5f1851d 100644 --- a/recipes-kernel/linux/linux_3.12.27.bb +++ b/recipes-kernel/linux/linux_3.12.27.bb @@ -2,14 +2,15 @@ inherit kernel # mts class to build dtb and append to kernel image inherit linux-append-dtb -PR = "r12" +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" +SRC_URI = "https://www.kernel.org/pub/linux/kernel/v3.x/linux-${PV}.tar.gz \ +" S = "${WORKDIR}/${PN}-${PV}" @@ -25,6 +26,9 @@ COMMON_PATCHES = " \ 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 = "\ @@ -33,13 +37,34 @@ SRC_URI_append_mtcdt = "\ 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)" +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() { diff --git a/recipes-kernel/rs9113/files/immunity/LICENSE.txt b/recipes-kernel/rs9113/files/immunity/LICENSE.txt new file mode 100644 index 0000000..d511905 --- /dev/null +++ b/recipes-kernel/rs9113/files/immunity/LICENSE.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/recipes-kernel/rs9113/files/immunity/SHA256SUMS b/recipes-kernel/rs9113/files/immunity/SHA256SUMS new file mode 100644 index 0000000..4bddb5a --- /dev/null +++ b/recipes-kernel/rs9113/files/immunity/SHA256SUMS @@ -0,0 +1 @@ +f1351700edc2e421210abc8d6efa71bba148b873d4b0f7b95ad0da7cbbdcd357 btfile diff --git a/recipes-kernel/rs9113/files/immunity/bluetoothXfer.sh b/recipes-kernel/rs9113/files/immunity/bluetoothXfer.sh new file mode 100755 index 0000000..66c8663 --- /dev/null +++ b/recipes-kernel/rs9113/files/immunity/bluetoothXfer.sh @@ -0,0 +1,89 @@ +#!/bin/bash +ADDR=$1 +CHAN=$2 +BTPIDFILE=/opt/immunity/btpid +file=btfile +OFTP=/usr/bin/obexftp +cd /opt/immunity +if ! [[ -r $file ]] ; then + echo "Must have file $file for bluetooth testing." + exit 1 +fi + + +if ! [[ -x $OFTP ]] ; then + echo Need to install $OFTP + exit 1 +fi +while ((${#CHAN} == 0)) ; do + hciconfig hci0 up + scanlist="" + scanlist+=$(hcitool scan) + sleep 2 + scanlist+=$(hcitool scan) + sleep 3 + scanlist+=$(hcitool scan) + echo "hcitool scan result" + echo "${scanlist}" + list=($(echo "${scanlist}" | grep ':' | sed -r -e 's/^[[:space:]]*//' -e 's/[[:space:]].*//' | sort | uniq)) + + ((i=0)) + ((quit=0)) + while((i<${#list[@]})) ; do + # Look for OBEX Object push + echo "Browse list[$i]=${list[$i]}" + ((quit=0)) + ((j=0)) + while : ; do + services=$(sdptool browse ${list[$i]}) + if (($?==0)) ; then + echo Listing services + echo "$services" + ADDR=${list[$i]} + break; + fi + echo "$services" + ((j++)) + if ((j>5)) ; then + echo "Giving up on ${list[$i]}" + ((quit=1)) + break; + fi + sleep 1 + done # Looping while running sdptool + ((i++)) + if((quit)); then + continue + fi + if ((${#services}==0)) ; then + continue; + fi + echo "$services" >/tmp/services.txt + CHAN=$(echo "${services}" | grep -A11 'OBEX Object Push' | grep 'Channel:' | sed 's/[[:space:]]*Channel:[[:space:]]*//') + if ((${#CHAN})) ; then + echo found channel $CHAN + break; + fi # Found a channel + done # Loop through Bluetooth addresses +done # Channel parameter not specified + +if ((${#CHAN} == 0)) ; then + echo Could not find an OBEX Object push service + echo 'please do:' + echo ' bluetoothXfer.sh Address Channel' + exit 1 +fi +echo Copying file $file to Address $ADDR Channel $CHAN repeatedly +((failcnt=0)) +while : ; do + echo $$ >$BTPIDFILE + if time obexftp -SH -b "$ADDR" -B "$CHAN" -U none -p btfile ; then + ((failcnt=0)) + else + ((failcnt++)) + echo Failed to transfer file $failcnt times in a row. + echo -- obexftp -SH -b "$ADDR" -B "$CHAN" -U none -p btfile + sleep 2 + fi +done +exit 0 diff --git a/recipes-kernel/rs9113/files/immunity/conduitr2g.conf b/recipes-kernel/rs9113/files/immunity/conduitr2g.conf new file mode 100644 index 0000000..3c16a13 --- /dev/null +++ b/recipes-kernel/rs9113/files/immunity/conduitr2g.conf @@ -0,0 +1,15 @@ +# Router says this security as WPA-PSK2 AEP. +# TO find this configuration, I used Ubuntu +# 14.04 with wicd and wicd-curses to +# configure the access point. +ap_scan=1 +ctrl_interface=/var/run/wpa_supplicant +network={ + ssid="CONDUITR2G" + scan_ssid=1 + proto=WPA RSN + key_mgmt=WPA-PSK + pairwise=CCMP TKIP + group=CCMP TKIP + psk="MTC0ndu!t" +} diff --git a/recipes-kernel/rs9113/files/immunity/conduitr5g.conf b/recipes-kernel/rs9113/files/immunity/conduitr5g.conf new file mode 100644 index 0000000..85e3a25 --- /dev/null +++ b/recipes-kernel/rs9113/files/immunity/conduitr5g.conf @@ -0,0 +1,15 @@ +# Router says this security as WPA-PSK2 AEP. +# TO find this configuration, I used Ubuntu +# 14.04 with wicd and wicd-curses to +# configure the access point. +ap_scan=1 +ctrl_interface=/var/run/wpa_supplicant +network={ + ssid="CONDUITR5G" + scan_ssid=1 + proto=WPA RSN + key_mgmt=WPA-PSK + pairwise=CCMP TKIP + group=CCMP TKIP + psk="MTC0ndu!t" +} diff --git a/recipes-kernel/rs9113/files/immunity/mguest2g.conf b/recipes-kernel/rs9113/files/immunity/mguest2g.conf new file mode 100644 index 0000000..300bcd1 --- /dev/null +++ b/recipes-kernel/rs9113/files/immunity/mguest2g.conf @@ -0,0 +1,17 @@ +# 2.4 GHz BSSID +# +# Create psk: +# wpa_passphrase SSID Password +# wpa_passphrase Mtech_guest Mtech_guest_password >>/etc/wpa_supplicant/wifitest.conf +# Then edit the file to look like this one. +# +ctrl_interface=/var/run/wpa_supplicant +update_config=1 +fast_reauth=1 +ap_scan=1 + +network={ + bssid=9c:4e:20:c8:ee:91 + ssid="Mtech_guest" + psk=babc4085713f121c819d0da8694184b25f035f890246b195a2d9985c2b383725 +} diff --git a/recipes-kernel/rs9113/files/immunity/mguest5g.conf b/recipes-kernel/rs9113/files/immunity/mguest5g.conf new file mode 100644 index 0000000..efdd259 --- /dev/null +++ b/recipes-kernel/rs9113/files/immunity/mguest5g.conf @@ -0,0 +1,17 @@ +# 5 GHz BSSID +# +# Create psk: +# wpa_passphrase SSID Password +# wpa_passphrase Mtech_guest Mtech_guest_password >>/etc/wpa_supplicant/wifitest.conf +# Then edit the file to look like this one. +# +ctrl_interface=/var/run/wpa_supplicant +update_config=1 +fast_reauth=1 +ap_scan=1 + +network={ + bssid=9c:4e:20:c8:ee:9e + ssid="Mtech_guest" + psk=babc4085713f121c819d0da8694184b25f035f890246b195a2d9985c2b383725 +} diff --git a/recipes-kernel/rs9113/files/immunity/readme.txt b/recipes-kernel/rs9113/files/immunity/readme.txt new file mode 100644 index 0000000..5dfcfde --- /dev/null +++ b/recipes-kernel/rs9113/files/immunity/readme.txt @@ -0,0 +1,53 @@ +For wifi initialization to find the best BSSID's for testing: + /opt/immunity/tworadio.sh wifisetup + +Expect this in the output: + udhcpc (v1.22.1) started + Sending discover... + Sending discover... + Sending discover... + No lease, failing + +After doing wifisetup, it is possible to do a scan. + + iwlist wifi0 scanning + +This produces a list: + wifi0 Scan completed : + Cell 01 - Address: 00:27:0D:8C:57:28 + ESSID:"MTS-IT" + Mode:Master + Frequency:2.412 GHz + Quality:19/80 Signal level=-81 dBm Noise level:0 dBm + Encryption key:on + Bit Rates:5.5 Mb/s; 6 Mb/s; 9 Mb/s; 11 Mb/s; 12 Mb/s + 18 Mb/s; 24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s + IE: IEEE 802.11i/WPA2 Version 1 + Group Cipher : CCMP + Pairwise Ciphers (1) : CCMP + Authentication Suites (1) : PSK + Preauthentication Supported + +Find the ESSID desired, which may have multiple Addresses (BSSID). Also +observe the frequency. Select the BSSID (address) with the highest +"signal level" at the desired "frequency". + +Operation with no parameters: + +Environmental variables: + BTADDR Bluetooth MAC address of remote + BTCHAN Bluetooth Channel of service + WIFIURL WiFi URL of file to retrieve. + WIFIFILE WiFi File name of retrieved file to delete. + WPA_CONFIG Config file for wpa_supplicant. + +None of the parameters above are required. + + BTADDR and BTCHAN are searched, but specifying parameters is faster. + WIFIURL defaults to http://www.multitech.net/mlinux/feeds/3.2/arm926ejste/nodejs-dbg_0.10.44-r1.3.0_arm926ejste.ipk + WIFIFILE defaults to nodejs-dbg_0.10.44-r1.3.0_arm926ejste.ipk + WPA_CONFIG defaults to /etc/wpa_supplicant/wifitest.conf + + Two get a specific frequency at Multitech, since the same SID is used at + multiple frequencies, the BSSID must be provided in the WPA configuration + file.
\ No newline at end of file diff --git a/recipes-kernel/rs9113/files/immunity/tworadio.sh b/recipes-kernel/rs9113/files/immunity/tworadio.sh new file mode 100755 index 0000000..1ce3640 --- /dev/null +++ b/recipes-kernel/rs9113/files/immunity/tworadio.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# +# Environmental variables: +# BTADDR Bluetooth MAC address +# BTCHAN Bluetooth Channel +# WIFIURL WiFi test Address +# WIFIFILE WiFi +# WPA_CONFIG Config file for wpa_supplicant. +# +BTPIDFILE=/opt/immunity/btpid +PGRP=$(ps --no-headings -o pgrp $$ | sed -r 's/[[:space:]]//g') +trap "kill -15 -${PGRP}" EXIT +HOME=/home/root +INTERFACES=/etc/network/interfaces + +if [[ $1 == wifisetup ]] ; then + wifisetup=true +else + wifisetup=false +fi +. /etc/default/rs9113 + +if [[ $COEX_MODE != 5 ]] ; then + sed -i 's/^COEX_MODE=[0-9]*/COEX_MODE=5/' /etc/default/rs9113 +fi +if ! egrep 'auto[[:space:]]+wifi0' $INTERFACES ; then + echo '# Added for wifi testing -- tworadio.sh' >> $INTERFACES + echo 'auto wifi0' >> $INTERFACES +fi + +if ! egrep 'iface[[:space:]]+wifi0' $INTERFACES ; then + echo '# Added for wifi testing -- tworadio.sh' >> $INTERFACES + echo 'iface wifi0 inet dhcp' >> $INTERFACES +fi + +/etc/init.d/rs9113 restart +rm -f btpid +sleep 5 + +echo 'Starting bluetooth -- this may take a while' +if ! $wifisetup ; then + /opt/immunity/bluetoothXfer.sh $BTADDR $BTCHAN & +fi +BTPID=$! +while [[ $BTPID != $(cat $BTPIDFILE 2>/dev/null) ]] ; do + sleep 1 +done +echo +echo 'Bluetooth set up, now set up WiFi' +if $wifisetup ; then + /opt/immunity/wifiXfer.sh wifisetup +else + /opt/immunity/wifiXfer.sh "$WIFIURL" "$WIFIFILE" & +fi +WIFIPID=$! +wait $BTPID +wait $WIFIPID + diff --git a/recipes-kernel/rs9113/files/immunity/wifiXfer.sh b/recipes-kernel/rs9113/files/immunity/wifiXfer.sh new file mode 100755 index 0000000..dd8cad0 --- /dev/null +++ b/recipes-kernel/rs9113/files/immunity/wifiXfer.sh @@ -0,0 +1,62 @@ +#!/bin/bash +: ${WPA_CONFIG:=/etc/wpa_supplicant/wifitest.conf} +URL=$1 +if ((${#URL} == 0)) ; then + URL='http://www.multitech.net/mlinux/feeds/3.2/arm926ejste/nodejs-dbg_0.10.44-r1.3.0_arm926ejste.ipk' +fi + +if [[ $URL == wifisetup ]] ; then + wifisetup=true +else + wifisetup=false +fi + +FILE=$2 +if ((${#FILE} == 0)) ; then + FILE='nodejs-dbg_0.10.44-r1.3.0_arm926ejste.ipk' +fi +ifdown wifi0 + +if ! [[ -r ${WPA_CONFIG} ]] ; then + echo Missing wifi configuration file $WPA_CONFIG + exit 1 +fi + +/opt/rs9113/onebox_util rpine0 enable_protocol 3 +sleep 3 +/opt/rs9113/onebox_util rpine0 set_country 840 +sleep 3 +/opt/rs9113/onebox_util rpine0 create_vap wifi0 sta sw_bmiss + +if $wifisetup ; then + sleep 3 + ifup wifi0 + sleep 3 + # So iwlist scan will work. + # iw does not have good signal strenght values. + iw dev wifi0 scan >/dev/null 2>&1 + exit 0 +else + supplicant=$(ps -o args,pid -e | grep wpa_supplicant | grep -v grep | sed -r 's/.*[[:space:]]([0-9]*)$/\1/') + if ((${#supplicant})) ; then\ + kill ${supplicant} + sleep 2 + fi + echo Pre start of supplicant + ps -ef | grep wpa_supplicant + sleep 2 + /usr/sbin/wpa_supplicant -B -i wifi0 -D nl80211 -c "${WPA_CONFIG}" + echo Post start of supplicant + ps -ef | grep wpa_supplicant + sleep 2 + while ! ifup wifi0 ; do + sleep 1 + done +fi +sleep 2 +((count=0)) +cd /var/volatile +echo Downloading file $FILE from Address $URL repeatedly +rm -f ${FILE}* +while time wget "${URL}" ; do rm -f ${FILE}* ; done +exit 0 diff --git a/recipes-kernel/rs9113/files/rs9113/rs9113.default b/recipes-kernel/rs9113/files/rs9113/rs9113.default new file mode 100644 index 0000000..87b619a --- /dev/null +++ b/recipes-kernel/rs9113/files/rs9113/rs9113.default @@ -0,0 +1,66 @@ +# +# Skip loading the RS9113 related drivers if +# set to zero. +# +RS9113_LOAD=1 + +# Parameters for rs9113 driver +# +# Enable Antenna Diversity (1) +RSI_ANTENNA_DIVERSITY=0 + +# COEX_MODE options: +# 1 WLAN STATION /WIFI-Direct/WLAN PER +# 2 WLAN ACCESS POINT(including muliple APs on different vaps) +# 3 WLAN ACCESS POINT + STATION MODE(on multiple vaps) +# 4 BT CLASSIC MODE/BT CLASSIC PER MODE +# 5 WLAN STATION + BT CLASSIC MODE +# 6 WLAN ACCESS POINT + BT CLASSIC MODE +# 8 BT LE MODE /BT LE PER MODE +# 9 WLAN STATION + BT LE MODE +# 12 BT CLASSIC + BT LE MODE +# 14 WLAN ACCESS POINT + BT CLASSIC MODE+ BT LE MODE +COEX_MODE=6 + +# Power selection +# 0x00 - For Both TX and RX High Power +# 0x11 - For Both TX and RX Medium Power +# 0x22 - For Both TX and RX LOW Power +# 0x10 - For High Power TX and Medium RX Power +# 0x20 - For High Power TX and LOW RX Power +# 0x01 - For Medium TX and RX High Power +# 0x21 - For Medium Power TX and LOW RX Power +# 0x02 - For Low Power TX and RX High Power +# 0x12 - For LOW Power TX and Medium RX Power +WLAN_RF_PWR_MODE=0x00 +BT_RF_PWR_MODE=0x00 + +#Power_mode type +# 0 - HIGH POWER MODE +# 1 - MEDIUM POWER MODE +# 2 - LOW POWER MODE +BT_RF_TX_POWER_MODE=0 +BT_RF_RX_POWER_MODE=0 + +# Country Selection +# 0 World Domain +# 840 US Domain Maps to US Region +# 276 Germany Maps to EU Region +# 392 Japan Maps to Japan Region +# from ISO 3166-1 +SET_COUNTRY_CODE=0 + +# 2 – Select internal antenna +# 3 – Select external antenna +ANT_SEL_VAL=2 + +ONBOARD_ANT_SEL=1 +SET_RETRY_COUNT=15 + +# Time to hold high, then hold low on reset during driver load reset +SLEEPTIME=100000 + +# Time to wait while looping for interrupt and wake-up pins +# to go high. +INTSLEEPTIME=100000 + diff --git a/recipes-kernel/rs9113/files/rs9113/rs9113.init b/recipes-kernel/rs9113/files/rs9113/rs9113.init new file mode 100755 index 0000000..d594e28 --- /dev/null +++ b/recipes-kernel/rs9113/files/rs9113/rs9113.init @@ -0,0 +1,100 @@ +#!/bin/bash +# Note that none of the INIT stuff below works in the current open-embedded. +### BEGIN INIT INFO +# Provides: rs9113 +# Required-Start: mts-io +# Default-Start: S +# Default-Stop: 0 6 +# X-Start-Before: networking +# Short-Description: load the rs9113 drivers +# Description: rs9113 drivers are used to provide access to Bluetooth +# and WiFi. +### END INIT INFO + +CONFIG=/etc/default/rs9113 +MTS_IODIR=/sys/devices/platform/mts-io +RS9113_RESET=${MTS_IODIR}/wifi-bt-reset +RS9113_INT=${MTS_IODIR}/wifi-bt-int +RS9113_WKUP=${MTS_IODIR}/wifi-bt-lpwkup + +[ -f $CONFIG ] || exit 1 + +. $CONFIG + +case "$1" in + start) + if ((RS9113_LOAD == 0)) ; then + # We don't want the driver loaded. + exit 0 + fi + # Reset the RS9113 chip is ready, and + # wait for it to settle. + if [ -f "$RS9113_RESET" ] ; then + echo 1 >$RS9113_RESET + usleep $SLEEPTIME + echo 0 >$RS9113_RESET + usleep $SLEEPTIME + echo 1 >$RS9113_RESET + N=1 + while [ $N -lt 20 ] ; do + INT=$(cat $RS9113_INT) + WKUP=$(cat $RS9113_WKUP) + if [ $INT -ne 1 -o $WKUP -ne 1 ] ; then + usleep $INTSLEEPTIME + else + break + fi + done + if [ $INT -ne 1 ] ; then + logger -t rs9113 -p error -s "$RS9113_INT is $INT" + fi + if [ $WKUP -ne 1 ] ; then + logger -t rs9113 -p error -s "$RS9113_WKUP is $WKUP" + fi + else + # No WiFi BT, so exit quietly + exit 0 + fi + /usr/bin/logger -t "rs9113" -p info -s "Loading rs9113 modules with COEX=$COEX_MODE and Country=$SET_COUNTRY_CODE" + /usr/sbin/rs9113_load_modules.sh $CONFIG + RETVAL=$? + if [ $RETVAL -eq 0 ] ; then + echo "OK" + else + echo "FAIL" + fi + ;; + + stop) + /usr/bin/logger -t "rs9113" -p info -s "Unloading rs9113 modules" + /usr/sbin/rs9113_remove_modules.sh + RETVAL=$? + if [ $RETVAL -eq 0 ] ; then + echo "OK" + else + echo "FAIL" + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + status) + for dir in /sys/class/net/rpine[0-9]* ; do + if [[ -d ${dir} ]] ; then + echo Driver is loaded + exit 0 + fi + done + echo Driver is not loaded + exit 3 + ;; + *) + "Usage: $0 {start|stop|status|restart}" + exit 2 + ;; +esac + +exit 0 + diff --git a/recipes-kernel/rs9113/files/rs9113/wpa_supplicant b/recipes-kernel/rs9113/files/rs9113/wpa_supplicant new file mode 100755 index 0000000..6aa6456 --- /dev/null +++ b/recipes-kernel/rs9113/files/rs9113/wpa_supplicant @@ -0,0 +1,95 @@ +#! /bin/sh +# wpa_supplicant +# Example for /etc/init.d +# MTS +# +PATH=/sbin:/bin:/usr/bin:/usr/sbin +PIDFILE=/var/run/wpa_suplicant +CONF=/etc/wpa_supplicant/psk5g.conf +TIMELIMIT=60 +DRIVERNAME=wifi0 +upinterface() { + ((loopcount=1)) + while ((loopcount < TIMELIMIT)) ; do + if [[ $(iw dev ${DRIVERNAME} link) =~ "Connected to " ]] ; then + break; + fi + sleep 1 + ((loopcount++)) + done + ((loopcount=1)) + while ((loopcount < TIMELIMIT)) ; do + ldifs="$IFS" + IFS=$'\n' + result=($(ifup wifi0 2>&1)) + oldifs="$IFS" + show=$(ip addr show) + if [[ ${show} =~ [[:space:]]+inet[[:space:]]*[0-9].*[[:space:]]+global[[:space:]]+wifi0[[:space:]] ]] ; then + break + fi + ifdown wifi0 + sleep 1 + ((loopcount++)) + done + for (( i=0; i < ${#result[@]}; i++ )); do + if [[ ${result[i]} =~ ^[[:space:]]*$ ]] ; then + continue; + fi + logger -t ifup -p daemon.info "${result[i]}" + done +} + +# ntpd init.d script for ntpdc from ntp.isc.org +test -x /usr/sbin/wpa_supplicant -a -r $CONF || exit 0 +if ! [[ -r $CONF ]] ; then + logger -s -t wpa_supplicant -p daemon.err "Cannot find configuration file $CONF" +fi +test -r /etc/default/rcS && . /etc/default/rcS + +# Functions to do individual actions +startdaemon(){ + echo -n "Starting wpa_supplicant: " + /opt/rs9113/onebox_util rpine0 enable_protocol 1 + /opt/rs9113/onebox_util rpine0 set_country 840 + /opt/rs9113/onebox_util rpine0 create_vap ${DRIVERNAME} sta sw_bmiss >/dev/null 2>&1 + start-stop-daemon --start -x wpa_supplicant -- -i ${DRIVERNAME} -D nl80211 -P $PIDFILE /var/run/ -B -c $CONF +} +stopdaemon(){ + echo -n "Stopping ntpd: " + start-stop-daemon --stop -p $PIDFILE + echo "done" +} + +case "$1" in + start) + if ! [[ -f ${CONF} ]] ; then + echo "Skipping. Configuration file ${CONF} not found." + exit 1 + fi + startdaemon + { upinterface & } + ;; + stop) + ifdown ${DRIVERNAME} >/dev/null 2>&1 + stopdaemon + ;; + force-reload) + stopdaemon + startdaemon + ;; + restart) + # Don't reset the tick here + stopdaemon + startdaemon + ;; + reload) + stopdaemon + startdaemon + ;; + *) + echo "Usage: wpa_supplicant { start | stop | restart | reload }" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/recipes-kernel/rs9113/rs9113-from-src_1.4.3.bb b/recipes-kernel/rs9113/rs9113-from-src_1.4.3.bb new file mode 100644 index 0000000..f2f2319 --- /dev/null +++ b/recipes-kernel/rs9113/rs9113-from-src_1.4.3.bb @@ -0,0 +1,52 @@ +DESCRIPTION = "USB Driver for Redpine RS9113" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" +PACKAGE_ARCH = "mtcdt" +PROVIDES = "rs9113-from-src" + +inherit module + +SRCREV = "${AUTOREV}" + +SRC_URI = " \ + git://git@${MTS_INTERNAL_GIT}/mlinux/meta-rs9113.git;protocol=ssh;branch=${PV};destsuffix=meta/ \ + git://git@${MTS_INTERNAL_GIT}/mlinux/Redpine.git;protocol=ssh;branch=${PV} \ +" +SRCXX_URI = " \ + git://git@${MTS_INTERNAL_GIT}/mlinux/Redpine.git;protocol=ssh;branch=${PV};name=machine \ + git://git@${MTS_INTERNAL_GIT}/mlinux/meta-rs9113.git;protocol=ssh;branch=${PV};name=meta \ +" + +S = "${WORKDIR}/git/source/host" +M = "${WORKDIR}/meta" + +EXTRA_OEMAKE = " KERNELDIR=${STAGING_KERNEL_DIR} \ + CROSS_COMPILE=${TARGET_PREFIX} \ + ARCH=arm \ + WLAN_COMPILE_FLAGS='' \ + V=1 \ + " + +FILES_${PN} = "/opt/rs9113 ${sbindir}" +FILES_${PN}-dbg = "/opt/rs9113/.debug/" + +PARALLEL_MAKE = "" + +do_configure() { + cp ${M}/mtcdt/defconfig .config +} + +do_compile () { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + oe_runmake +} + +do_install() { + install -m 0755 -d ${D}/opt/rs9113 + cp -r ${S}/release/* ${D}/opt/rs9113/ + rm -rf ${D}/opt/rs9113/flash ${D}/opt/rs9113/certs ${D}/opt/rs9113/*zigb* + install -m 0755 -d ${D}${sbindir} + install -m 0755 ${M}/rs9113_load_modules.sh ${D}${sbindir}/ + install -m 0755 ${M}/rs9113_remove_modules.sh ${D}${sbindir}/ +} + diff --git a/recipes-kernel/rs9113/rs9113-from-src_1.5.0.bb b/recipes-kernel/rs9113/rs9113-from-src_1.5.0.bb new file mode 100644 index 0000000..234d6c9 --- /dev/null +++ b/recipes-kernel/rs9113/rs9113-from-src_1.5.0.bb @@ -0,0 +1,62 @@ +DESCRIPTION = "USB Driver for Redpine RS9113" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" +PACKAGE_ARCH = "mtcdt" +PROVIDES = "rs9113-from-src" +PR = "${MLINUX_KERNEL_VERSION}${MLINUX_KERNEL_EXTRA_VERSION}" + +inherit module + +SRCREV = "${AUTOREV}" + +SRC_URI = " \ + git://git@${MTS_INTERNAL_GIT}/mlinux/meta-rs9113.git;protocol=ssh;branch=${PV};destsuffix=meta/ \ + git://git@${MTS_INTERNAL_GIT}/mlinux/Redpine.git;protocol=ssh;branch=${PV} \ +" +SRCXX_URI = " \ + git://git@${MTS_INTERNAL_GIT}/mlinux/Redpine.git;protocol=ssh;branch=${PV};name=machine \ + git://git@${MTS_INTERNAL_GIT}/mlinux/meta-rs9113.git;protocol=ssh;branch=${PV};name=meta \ +" + +S = "${WORKDIR}/git/source/host" +M = "${WORKDIR}/meta" + +EXTRA_OEMAKE = " KERNELDIR=${STAGING_KERNEL_DIR} \ + CROSS_COMPILE=${TARGET_PREFIX} \ + ARCH=arm \ + WLAN_COMPILE_FLAGS='' \ + V=1 \ + " + +FILES_${PN} = "/opt/rs9113 ${sbindir}" +FILES_${PN}-dbg = "/opt/rs9113/.debug/" + +PARALLEL_MAKE = "" + +do_configure() { + cp ${M}/mtcdt/defconfig .config +} + +do_compile () { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + oe_runmake +} + +do_patch () { + cd ${WORKDIR}/git + echo "patches" ${M}/patches/* + for f in ${M}/patches/* ; do + echo "Patching with ${f}" + patch -p1 < ${f} + done +} + +do_install() { + install -m 0755 -d ${D}/opt/rs9113 + cp -r ${S}/release/* ${D}/opt/rs9113/ + rm -rf ${D}/opt/rs9113/flash ${D}/opt/rs9113/certs ${D}/opt/rs9113/*zigb* + install -m 0755 -d ${D}${sbindir} + install -m 0755 ${M}/rs9113_load_modules.sh ${D}${sbindir}/ + install -m 0755 ${M}/rs9113_remove_modules.sh ${D}${sbindir}/ +} + diff --git a/recipes-kernel/rs9113/rs9113.inc b/recipes-kernel/rs9113/rs9113.inc new file mode 100644 index 0000000..b511029 --- /dev/null +++ b/recipes-kernel/rs9113/rs9113.inc @@ -0,0 +1,83 @@ +inherit update-rc.d + +DR = "${DL_DIR}/rs9113-ipk" + +INITSCRIPT_NAME = "rs9113" +INITSCRIPT_PARAMS = "start 50 S ." + +python do_fetch_prepend () { + # d.setVar('BB_STRICT_CHECKSUM',False) + DR = d.getVar("DR",True) + bb.note("DR is " + DR) + + try: + os.mkdir(DR,0755) + except OSError: + pass + try: + ex = "export SSH_AUTH_SOCK=" + d.getVar("SSH_AUTH_SOCK",True) + except TypeError: + ex=":" + bb.note("SSH_AUTH_SOCK not set. SSH keys must not use a pass phrase") + bb.note("export is " + ex) + + gt = "git archive -v --remote=git@" + + + gitversion = d.getVar("PV",True) + + PV = gitversion + PV += "-" + try: + PV += d.getVar("MLINUX_KERNEL_VERSION",True) + except TypeError: + bb.fatal("MLINUX_KERNEL_VERSION missing from conf/local.conf, usually put there by setup.sh") + try: + PV += d.getVar("MLINUX_KERNEL_EXTRA_VERSION",True) + except TypeError: + bb.fatal("MLINUX_KERNEL_EXTRA_VERSION missing from conf/local.conf, usually put there by setup.sh") + + bb.note("PV is " + PV) + + ipkn = "rs9113-from-src_" + PV + ".0_mtcdt.ipk" + bb.note("ipkname is " + ipkn) + bb.note ("ipk path is " + DR + "/" + ipkn) + + try: + gt += d.getVar("MTS_INTERNAL_GIT") + except TypeError: + if os.path.isfile(DR + "/" + ipkn): + return + bb.fatal("Need " + DR + "/" + ipkn + " or set MTS_INTERNAL_GIT and add it to BB_ENV_EXTRAWHITE") + + gt += ":mlinux/ipk.git " + gitversion + bb.note("git is " + gt) + tar = "tar -vx --strip-components 1 -C " + DR + " rs9113/" + ipkn + bb.note("tar is " + tar) + os.system(ex + ";" + gt + "|" + tar) +} + +MR = "${WORKDIR}/rs9113" +do_install () { + bbnote "pwd,ls: $(pwd) $(ls) WORKDIR is ${WORKDIR}" + ( + cd ${WORKDIR} + find etc -print0 | cpio -0 -pdum ${D} + find usr -print0 | cpio -0 -pdum ${D} + find opt -print0 | cpio -0 -pdum ${D} + ) + install -d ${D}/opt/rs9113/init.d + install -d ${D}${sysconfdir}/init.d/ + install -d ${D}${sysconfdir}/default/ + install -m 0755 ${MR}/wpa_supplicant ${D}/opt/rs9113/init.d + install -m 0755 ${MR}/rs9113.init ${D}${sysconfdir}/init.d/rs9113 + install -m 0644 ${MR}/rs9113.default ${D}${sysconfdir}/default/rs9113 +} + +python do_cleanall_prepend () { + bb.note("In do_clean_prepend") + DR = d.getVar("DR",True) + bb.note("About to delete " + DR) + os.system("/bin/rm -rf " + DR) +} + diff --git a/recipes-kernel/rs9113/rs9113_1.4.3.bb b/recipes-kernel/rs9113/rs9113_1.4.3.bb new file mode 100644 index 0000000..fe47e2d --- /dev/null +++ b/recipes-kernel/rs9113/rs9113_1.4.3.bb @@ -0,0 +1,26 @@ +require rs9113.inc +DESCRIPTION = "USB Driver for Redpine RS9113" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" +PACKAGE_ARCH = "mtcdt" +PROVIDES = "rs9113" +FILES_${PN} = "/opt/rs9113 ${sbindir} ${sysconfdir}" + +# This bitbake recipe requires SSH_AUTH_SOCK to be set if ssh key pass +# phrases are used. SSH_AUTH_SOCK is set by a keyserver, +# such as gnome-keyring-daemon or ssh-keyagent. + +# NOTE: rs9113 binary is built with Jenkin's job using rs9113-from-src_${PV}.bb +# To update this, manually copy ipk from Jenkin's job to +# git://git@${MTS_INTERNAL_GIT}/mlinux/ipk.git;protocol=ssh;branch=${PV} +# +PR = "r0" +SRC_URI = " \ + file://rs9113/rs9113.init \ + file://rs9113/rs9113.default \ + file://rs9113/wpa_supplicant \ + file://rs9113-ipk/rs9113-from-src_${PV}-${PR}.0_mtcdt.ipk \ +" +SRCREV = "${AUTOREV}" +SRC_URI[md5sum] = "ff2238e0fb52b1627e76ca366fc83919" +SRC_URI[sha256sum] = "e303c5bc2e89e0c36303642d2677eadb2f4a9e2e0bb9a8622883abd97fe6e742" diff --git a/recipes-kernel/rs9113/rs9113_1.5.0.bb b/recipes-kernel/rs9113/rs9113_1.5.0.bb new file mode 100644 index 0000000..fbfb706 --- /dev/null +++ b/recipes-kernel/rs9113/rs9113_1.5.0.bb @@ -0,0 +1,27 @@ +require rs9113.inc +DESCRIPTION = "USB Driver for Redpine RS9113" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" +PACKAGE_ARCH = "mtcdt" +PROVIDES = "rs9113" +FILES_${PN} = "/opt/rs9113 ${sbindir} ${sysconfdir}" + +# This bitbake recipe requires SSH_AUTH_SOCK to be set if ssh key pass +# phrases are used. SSH_AUTH_SOCK is set by a keyserver, +# such as gnome-keyring-daemon or ssh-keyagent. + +# NOTE: rs9113 binary is built with Jenkin's job using rs9113-from-src_${PV}.bb +# To update this, manually copy ipk from Jenkin's job to +# git://git@${MTS_INTERNAL_GIT}/mlinux/ipk.git;protocol=ssh;branch=${PV} +# +PR = "r0.${MLINUX_KERNEL_VERSION}${MLINUX_KERNEL_EXTRA_VERSION}" +SRC_URI = " \ + file://rs9113/rs9113.init \ + file://rs9113/rs9113.default \ + file://rs9113/wpa_supplicant \ + file://rs9113-ipk/rs9113-from-src_${PV}-${MLINUX_KERNEL_VERSION}${MLINUX_KERNEL_EXTRA_VERSION}.0_mtcdt.ipk \ +" +SRCREV = "${AUTOREV}" +# For some reason the md5sum and sha256sum are ignored +SRC_URI[md5sum] = "def9fd10a77cae9df9bcb2e20626795e" +SRC_URI[sha256sum] = "367e942618143d4967273ce44120098a98e2ad1f543a9a404af7082b40c5066e" diff --git a/recipes-kernel/rs9113/rs9113immunity.inc b/recipes-kernel/rs9113/rs9113immunity.inc new file mode 100644 index 0000000..87521ad --- /dev/null +++ b/recipes-kernel/rs9113/rs9113immunity.inc @@ -0,0 +1,37 @@ +DESCRIPTION = "Immunity testing for rs9113" +SECTION = "base" +PRIORITY = "optional" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" +PACKAGE_ARCH = "mtcdt" +SRC_URI = " \ + file://immunity/bluetoothXfer.sh \ + file://immunity/LICENSE.txt \ + file://immunity/readme.txt \ + file://immunity/tworadio.sh \ + file://immunity/mguest2g.conf \ + file://immunity/mguest5g.conf \ + file://immunity/conduitr2g.conf \ + file://immunity/conduitr5g.conf \ + file://immunity/wifiXfer.sh \ + file://immunity/SHA256SUMS \ + " + +FILES_${PN} = "/opt/immunity ${sysconfdir}/wpa_supplicant" + +do_install() { + install -m 0755 -d ${D}/opt/immunity + install -d ${D}${sysconfdir}/wpa_supplicant + ls ${WORKDIR} >/tmp/jaklog.txt + echo ${WORKDIR} >>/tmp/jaklog.txt + install -m 0644 ${WORKDIR}/immunity/*.conf ${D}${sysconfdir}/wpa_supplicant + ln -s /etc/wpa_supplicant/conduitr5g.conf ${D}${sysconfdir}/wpa_supplicant/wifitest.conf + install -m 0755 ${WORKDIR}/immunity/*.sh ${D}/opt/immunity + install -m 0644 ${WORKDIR}/immunity/*.txt ${D}/opt/immunity + pwd >>/tmp/jaklog.txt + cd ${D}/opt/immunity + dd if=/dev/urandom of=btfile count=40000 + chmod 0644 btfile + chown root:root btfile + pwd >>/tmp/jaklog.txt +} diff --git a/recipes-kernel/rs9113/rs9113immunity_1.1.bb b/recipes-kernel/rs9113/rs9113immunity_1.1.bb new file mode 100644 index 0000000..2e7170f --- /dev/null +++ b/recipes-kernel/rs9113/rs9113immunity_1.1.bb @@ -0,0 +1 @@ +require rs9113immunity.inc diff --git a/recipes-kernel/wilc1000/files/wilc1000.conf b/recipes-kernel/wilc1000/files/wilc1000.conf new file mode 100644 index 0000000..250e093 --- /dev/null +++ b/recipes-kernel/wilc1000/files/wilc1000.conf @@ -0,0 +1 @@ +blacklist atmel_mci diff --git a/recipes-kernel/wilc1000/files/wilcp1000_3.18_to_3.12_kernel.patch b/recipes-kernel/wilc1000/files/wilcp1000_3.18_to_3.12_kernel.patch new file mode 100644 index 0000000..00d1710 --- /dev/null +++ b/recipes-kernel/wilc1000/files/wilcp1000_3.18_to_3.12_kernel.patch @@ -0,0 +1,82 @@ +diff -Naur old/linux_wlan.c new/linux_wlan.c +--- old/linux_wlan.c 2017-02-21 15:13:21.389041425 -0600 ++++ new/linux_wlan.c 2017-02-21 15:37:12.987788018 -0600 +@@ -262,12 +262,14 @@ + + for (i = 0; i < wilc->vif_num; i++) { + if (wilc->vif[i]->mode == STATION_MODE) +- if (ether_addr_equal_unaligned(bssid, +- wilc->vif[i]->bssid)) ++ if (memcmp(bssid, ++ wilc->vif[i]->bssid, ++ ETH_ALEN)) + return wilc->vif[i]->ndev; + if (wilc->vif[i]->mode == AP_MODE) +- if (ether_addr_equal_unaligned(bssid1, +- wilc->vif[i]->bssid)) ++ if (memcmp(bssid1, ++ wilc->vif[i]->bssid, ++ ETH_ALEN)) + return wilc->vif[i]->ndev; + } + +diff -Naur old/wilc_wfi_cfgoperations.c new/wilc_wfi_cfgoperations.c +--- old/wilc_wfi_cfgoperations.c 2017-02-21 13:27:59.211945789 -0600 ++++ new/wilc_wfi_cfgoperations.c 2017-02-21 14:19:01.230605864 -0600 +@@ -249,7 +249,6 @@ + direct_scan) { + bss = cfg80211_inform_bss(wiphy, + channel, +- CFG80211_BSS_FTYPE_UNKNOWN, + network_info->bssid, + network_info->tsf_hi, + network_info->cap_info, +@@ -424,7 +423,6 @@ + if (!(memcmp("DIRECT-", network_info->ssid, 7))) { + bss = cfg80211_inform_bss(wiphy, + channel, +- CFG80211_BSS_FTYPE_UNKNOWN, + network_info->bssid, + network_info->tsf_hi, + network_info->cap_info, +@@ -1510,7 +1508,7 @@ + + + if ((buff[P2P_PUB_ACTION_SUBTYPE] == GO_NEG_REQ || buff[P2P_PUB_ACTION_SUBTYPE] == GO_NEG_RSP) && (wilc_ie)) { +- cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size - 7, 0); ++ cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size - 7, 0, GFP_ATOMIC); + return; + } + break; +@@ -1522,7 +1520,7 @@ + } + } + +- cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size, 0); ++ cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size, 0, GFP_ATOMIC); + } + } + +@@ -1616,14 +1614,16 @@ + + static int mgmt_tx(struct wiphy *wiphy, + struct wireless_dev *wdev, +- struct cfg80211_mgmt_tx_params *params, ++ struct ieee80211_channel *chan, ++ bool offchan, ++ unsigned int wait, ++ const u8 *buf, ++ size_t len, ++ bool no_cck, ++ bool dont_wait_for_ack, + u64 *cookie) + { +- struct ieee80211_channel *chan = params->chan; +- unsigned int wait = params->wait; +- const u8 *buf = params->buf; +- size_t len = params->len; +- const struct ieee80211_mgmt *mgmt; ++ const struct ieee80211_mgmt *mgmt; + struct p2p_mgmt_data *mgmt_tx; + struct wilc_priv *priv; + struct host_if_drv *pstrWFIDrv; diff --git a/recipes-kernel/wilc1000/wilc1000_3.12.27.bb b/recipes-kernel/wilc1000/wilc1000_3.12.27.bb new file mode 100644 index 0000000..db14e1f --- /dev/null +++ b/recipes-kernel/wilc1000/wilc1000_3.12.27.bb @@ -0,0 +1,35 @@ +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" + +inherit module + +PV = "3.18" +KBRANCH = "kernel-3.18" +SRCREV = "${AUTOREV}" +SRC_URI = "git://github.com/linux4sc/staging.git;protocol=git;branch=${KBRANCH} \ + file://wilcp1000_3.18_to_3.12_kernel.patch \ + file://wilc1000.conf \ + https://github.com/linux4sc/wireless-firmware/raw/master/wilc1003_firmware.bin;name=blob \ + " + +SRC_URI[blob.md5sum] = "a3651b5696ac674a3b2100d109bb2757" +SRC_URI[blob.sha256sum] = "57584b0cf000f43405b0ef1201c6d1302cc7f7e187144c7946ce2fa12fb6f49b" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = '-C ${STAGING_KERNEL_DIR} M=${S} \ + CONFIG_ATMEL_SMARTCONNECT=y \ + CONFIG_WILC1000=m \ + CONFIG_WILC1000_SDIO=m \ + ' + +do_install() { + echo PN is ${PN} + install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/atmel/wilc1000 + install -m 0644 ${S}/*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/atmel/wilc1000 + install -d ${D}${sysconfdir}/modprobe.d + install -m 0644 ${WORKDIR}/wilc1000.conf ${D}${sysconfdir}/modprobe.d + install -d -m 0755 ${D}/lib/firmware/atmel + install -m 0644 ${WORKDIR}/wilc1003_firmware.bin ${D}/lib/firmware/atmel +} +FILES_kernel-module-${PN} += "${sysconfdir}/modprobe.d/wilc1000.conf /lib/firmware/atmel/wilc1003_firmware.bin" |