summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--multitech/recipes/base-files/base-files/mt100eocg-pcie-dk/fstab1
-rw-r--r--multitech/recipes/base-files/base-files/mtocgd3/fstab1
-rw-r--r--multitech/recipes/images/corecdp-base-image.bb1
-rw-r--r--multitech/recipes/linux/linux-2.6.39.4/mt100eocg-pcie-dk/defconfig4
-rw-r--r--multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-atmel-mci-module-alias.patch9
-rw-r--r--multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-mach-at91-mtocgd3.patch23
-rw-r--r--multitech/recipes/linux/linux_2.6.39.4.bb1
-rw-r--r--multitech/recipes/multitech/config/config.init4
-rw-r--r--multitech/recipes/wl12xx-firmware/wl12xx-firmware_1.0.bb2
-rw-r--r--multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/calibrate-wifi.sh44
-rw-r--r--multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/enable-wifi.sh40
-rw-r--r--multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/wifi1
-rw-r--r--multitech/recipes/wl12xx-scripts/wl12xx-scripts_1.0.bb27
13 files changed, 132 insertions, 26 deletions
diff --git a/multitech/recipes/base-files/base-files/mt100eocg-pcie-dk/fstab b/multitech/recipes/base-files/base-files/mt100eocg-pcie-dk/fstab
index da00b50..24a586e 100644
--- a/multitech/recipes/base-files/base-files/mt100eocg-pcie-dk/fstab
+++ b/multitech/recipes/base-files/base-files/mt100eocg-pcie-dk/fstab
@@ -7,3 +7,4 @@ tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /media/ram tmpfs defaults 0 0
/dev/mtdblock6 /var/config jffs2 defaults 0 0
+/dev/mtdblock7 /var/oem jffs2 defaults,ro 0 0
diff --git a/multitech/recipes/base-files/base-files/mtocgd3/fstab b/multitech/recipes/base-files/base-files/mtocgd3/fstab
index 84dc1f0..1d60d52 100644
--- a/multitech/recipes/base-files/base-files/mtocgd3/fstab
+++ b/multitech/recipes/base-files/base-files/mtocgd3/fstab
@@ -7,6 +7,7 @@ tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /media/ram tmpfs defaults 0 0
/dev/mtdblock6 /var/config jffs2 defaults 0 0
+/dev/mtdblock7 /var/oem jffs2 defaults,ro 0 0
# SD card
/dev/mmcblk0p1 /media/card auto defaults,sync 0 0
diff --git a/multitech/recipes/images/corecdp-base-image.bb b/multitech/recipes/images/corecdp-base-image.bb
index fb6dd94..25fbf5e 100644
--- a/multitech/recipes/images/corecdp-base-image.bb
+++ b/multitech/recipes/images/corecdp-base-image.bb
@@ -39,6 +39,7 @@ WIFI_FEATURES = " \
WL1271_SUPPORT = " \
ti-compat-wireless-wl12xx wl12xx-firmware \
ti-wifi-utils \
+ wl12xx-scripts \
"
BLUETOOTH_FEATURES = "bluez4"
diff --git a/multitech/recipes/linux/linux-2.6.39.4/mt100eocg-pcie-dk/defconfig b/multitech/recipes/linux/linux-2.6.39.4/mt100eocg-pcie-dk/defconfig
index a3e1956..a53ae33 100644
--- a/multitech/recipes/linux/linux-2.6.39.4/mt100eocg-pcie-dk/defconfig
+++ b/multitech/recipes/linux/linux-2.6.39.4/mt100eocg-pcie-dk/defconfig
@@ -1764,8 +1764,8 @@ CONFIG_MMC_BLOCK_BOUNCE=y
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_SDHCI is not set
-CONFIG_MMC_AT91=m
-# CONFIG_MMC_ATMELMCI is not set
+# CONFIG_MMC_AT91 is not set
+CONFIG_MMC_ATMELMCI=m
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_DW is not set
# CONFIG_MMC_USHC is not set
diff --git a/multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-atmel-mci-module-alias.patch b/multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-atmel-mci-module-alias.patch
deleted file mode 100644
index 8081bb9..0000000
--- a/multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-atmel-mci-module-alias.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-Index: linux-2.6.39.4/drivers/mmc/host/atmel-mci.c
-===================================================================
---- linux-2.6.39.4.orig/drivers/mmc/host/atmel-mci.c 2013-03-08 10:25:21.024073265 -0600
-+++ linux-2.6.39.4/drivers/mmc/host/atmel-mci.c 2013-03-08 10:25:25.523819243 -0600
-@@ -1973,3 +1973,4 @@
- MODULE_DESCRIPTION("Atmel Multimedia Card Interface driver");
- MODULE_AUTHOR("Haavard Skinnemoen <haavard.skinnemoen@atmel.com>");
- MODULE_LICENSE("GPL v2");
-+MODULE_ALIAS("platform:atmel_mci");
diff --git a/multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-mach-at91-mtocgd3.patch b/multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-mach-at91-mtocgd3.patch
index 6fd737b..5c1ae8f 100644
--- a/multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-mach-at91-mtocgd3.patch
+++ b/multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-mach-at91-mtocgd3.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5cm.c
===================================================================
---- linux-2.6.39.4.orig/arch/arm/mach-at91/board-sam9x5cm.c 2013-03-07 17:07:04.793136604 -0600
-+++ linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5cm.c 2013-03-07 17:07:04.793136604 -0600
+--- linux-2.6.39.4.orig/arch/arm/mach-at91/board-sam9x5cm.c 2013-02-19 09:38:45.180035681 -0600
++++ linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5cm.c 2013-02-27 16:36:25.684073131 -0600
@@ -18,6 +18,9 @@
#include <linux/platform_device.h>
#include <linux/spi/flash.h>
@@ -205,8 +205,8 @@ Index: linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5cm.c
}
Index: linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5ek.c
===================================================================
---- linux-2.6.39.4.orig/arch/arm/mach-at91/board-sam9x5ek.c 2013-03-07 17:07:03.293174822 -0600
-+++ linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5ek.c 2013-03-08 10:11:42.653155621 -0600
+--- linux-2.6.39.4.orig/arch/arm/mach-at91/board-sam9x5ek.c 2013-02-19 09:38:43.680033046 -0600
++++ linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5ek.c 2013-02-19 09:38:45.180035681 -0600
@@ -23,6 +23,7 @@
#include <linux/leds.h>
#include <linux/clk.h>
@@ -340,7 +340,7 @@ Index: linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5ek.c
at91_add_device_mci(0, &mci0_data);
/* I2C */
if (cm_config & CM_CONFIG_I2C0_ENABLE)
-@@ -405,6 +443,18 @@
+@@ -405,6 +443,15 @@
at91_add_device_i2c(0,
ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
@@ -351,15 +351,12 @@ Index: linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5ek.c
+ if (wl12xx_set_platform_data(&mtr_wlan_data))
+ pr_err("error setting wl12xx data\n");
+
-+ // MTOCGD3: enable wl1271 chip so it is detected by SDIO scan on start up
-+ wl12xx_enable(1);
-+
+/* MTOCGD3: no LCD */
+#if 0
if (cpu_is_at91sam9g25()) {
/* ISI */
/* NOTE: PCK0 provides ISI_MCK to the ISI module.
-@@ -430,13 +480,10 @@
+@@ -430,13 +477,10 @@
/* Touch Screen */
at91_add_device_tsadcc(&ek_tsadcc_data);
}
@@ -376,7 +373,7 @@ Index: linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5ek.c
#if 0
if (cpu_is_at91sam9x25() || cpu_is_at91sam9x35())
-@@ -448,6 +495,8 @@
+@@ -448,6 +492,8 @@
at91_add_device_can(0, NULL);
#endif
@@ -385,7 +382,7 @@ Index: linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5ek.c
if (cpu_is_at91sam9x25() || cpu_is_at91sam9x35())
/* this conflicts with usart.1 */
at91_add_device_can(1, NULL);
-@@ -474,6 +523,9 @@
+@@ -474,6 +520,9 @@
else if (config_isi_enabled)
printk(KERN_CRIT
"AT91: ISI conficts with MCI1, disable MCI1\n");
@@ -397,8 +394,8 @@ Index: linux-2.6.39.4/arch/arm/mach-at91/board-sam9x5ek.c
MACHINE_START(AT91SAM9X5EK, "Atmel AT91SAM9X5-EK")
Index: linux-2.6.39.4/arch/arm/mach-at91/at91sam9x5_devices.c
===================================================================
---- linux-2.6.39.4.orig/arch/arm/mach-at91/at91sam9x5_devices.c 2013-03-07 17:07:03.793204785 -0600
-+++ linux-2.6.39.4/arch/arm/mach-at91/at91sam9x5_devices.c 2013-03-07 17:07:04.793136604 -0600
+--- linux-2.6.39.4.orig/arch/arm/mach-at91/at91sam9x5_devices.c 2013-02-19 09:38:44.680033189 -0600
++++ linux-2.6.39.4/arch/arm/mach-at91/at91sam9x5_devices.c 2013-02-19 15:28:04.792006181 -0600
@@ -543,11 +543,11 @@
#endif
diff --git a/multitech/recipes/linux/linux_2.6.39.4.bb b/multitech/recipes/linux/linux_2.6.39.4.bb
index 67c5640..0bb15e2 100644
--- a/multitech/recipes/linux/linux_2.6.39.4.bb
+++ b/multitech/recipes/linux/linux_2.6.39.4.bb
@@ -145,7 +145,6 @@ SRC_URI_append_mtocgd3 = " \
file://linux-2.6.39.4-ledtrig-netdev.patch \
file://linux-2.6.39.4-at91sam9x5-extreset.patch \
file://linux-2.6.39.4-atmel-mci-force-detect.patch \
- file://linux-2.6.39.4-atmel-mci-module-alias.patch \
file://linux-2.6.39.4-wl12xx-sdio-irq.patch \
file://linux-2.6.35.14-at91-gpio-pullup.patch \
file://linux-2.6.32.3-atmel_spi.patch \
diff --git a/multitech/recipes/multitech/config/config.init b/multitech/recipes/multitech/config/config.init
index 770be18..11233c0 100644
--- a/multitech/recipes/multitech/config/config.init
+++ b/multitech/recipes/multitech/config/config.init
@@ -2,6 +2,7 @@
CONFIG_MTDC=/dev/mtd6
CONFIG_DIR=/var/config
+OEM_DIR=/var/oem
FILES="network/interfaces \
ppp/options \
@@ -16,6 +17,9 @@ case $1 in
echo "Mounting ${CONFIG_DIR}"
mkdir -p ${CONFIG_DIR}
mount ${CONFIG_DIR}
+ echo "Mounting ${OEM_DIR}"
+ mkdir -p ${OEM_DIR}
+ mount ${OEM_DIR}
# Prepare flash for JFFS2 if mount fails
if [ $? -ne 0 ]; then
diff --git a/multitech/recipes/wl12xx-firmware/wl12xx-firmware_1.0.bb b/multitech/recipes/wl12xx-firmware/wl12xx-firmware_1.0.bb
index 9b8c59f..b601b86 100644
--- a/multitech/recipes/wl12xx-firmware/wl12xx-firmware_1.0.bb
+++ b/multitech/recipes/wl12xx-firmware/wl12xx-firmware_1.0.bb
@@ -20,7 +20,7 @@ do_install() {
# wifi firmware
install ${WORKDIR}/wifi/wl1271-fw*.bin ${D}/lib/firmware/ti-connectivity
# factory nvs file
- install ${WORKDIR}/wifi/wl1271-nvs.bin ${D}/lib/firmware/ti-connectivity/wl1271-nvs.bin
+ install ${WORKDIR}/wifi/wl1271-nvs.bin ${D}/lib/firmware/ti-connectivity/wl1271-nvs.bin.factory
# bluetooth firmware
install ${WORKDIR}/bluetooth/3M/WL127xL_BT_Service_Pack_2.4.bts ${D}/lib/firmware/TIInit_7.6.15.bts
}
diff --git a/multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/calibrate-wifi.sh b/multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/calibrate-wifi.sh
new file mode 100644
index 0000000..b57e0bb
--- /dev/null
+++ b/multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/calibrate-wifi.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+if [[ $# -ne 1 ]]; then
+ echo "usage: $0 <wifi-mac-address>"
+ exit 1
+fi
+
+WIFIMAC=$1
+OEM_DIR="/var/oem"
+NVS_DIR="mts"
+NVS_OEM_FILE="$OEM_DIR/$NVS_DIR/wl1271-nvs.bin"
+NVS_FILE="/lib/firmware/ti-connectivity/wl1271-nvs.bin"
+NVS_DEFAULT_FILE="$NVS_FILE.factory"
+
+echo "starting wifi calibration..."
+
+killall hostapd
+killall wpa_supplicant
+
+modprobe -r wl12xx_sdio
+modprobe -r atmel_mci
+
+mts-io-sysfs store wlan-enabled 0
+sleep 1
+mts-io-sysfs store wlan-enabled 1
+sleep 1
+
+mount -o remount,rw /var/oem
+echo "removing $NVS_OEM_FILE"
+rm -f $NVS_OEM_FILE
+
+modprobe atmel_mci
+sleep 1
+rmmod wl12xx_sdio
+
+echo "calibrating..."
+calibrator plt autocalibrate wlan0 \
+ /lib/modules/2.6.39.4/updates/drivers/net/wireless/wl12xx/wl12xx_sdio.ko \
+ /usr/share/ti/wifi-utils/ini_files/127x/TQS_S_2.6.ini \
+ $NVS_FILE $WIFIMAC
+
+mount -o remount,ro /var/oem
+
+echo "...calibration finished"
diff --git a/multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/enable-wifi.sh b/multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/enable-wifi.sh
new file mode 100644
index 0000000..2da1e24
--- /dev/null
+++ b/multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/enable-wifi.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+source /etc/default/wifi
+
+OEM_DIR="/var/oem"
+NVS_DIR="mts"
+NVS_OEM_FILE="$OEM_DIR/$NVS_DIR/wl1271-nvs.bin"
+NVS_FILE="/lib/firmware/ti-connectivity/wl1271-nvs.bin"
+NVS_DEFAULT_FILE="$NVS_FILE.factory"
+
+if [[ $WIFIENABLED == "yes" ]]; then
+ echo "Wifi: enabling"
+
+ # make sure nvs file exists in /var/oem/mts/
+ if [[ ! -f $NVS_OEM_FILE ]]; then
+ echo "copying nvs file to $OEM_DIR"
+ mount -o remount,rw $OEM_DIR
+ mkdir -p $OEM_DIR/$NVS_DIR
+ cp $NVS_DEFAULT_FILE $NVS_OEM_FILE
+ mount -o remount,ro $OEM_DIR
+ fi
+
+ # make sure nvs file exists in /lib/firmware/ti-connectivity/
+ echo "creating $NVS_FILE"
+ ln -fs $NVS_OEM_FILE $NVS_FILE
+
+ # probe wifi chip
+ mts-io-sysfs store wlan-enabled 0
+ usleep 50000
+ echo "starting up wifi chip"
+ mts-io-sysfs store wlan-enabled 1
+ sleep 1
+ echo "loading atmel_mci driver"
+ modprobe atmel_mci
+ sleep 3
+else
+ echo "Wifi: disabled"
+ mts-io-sysfs store wlan-enabled 0
+ modprobe atmel_mci
+fi
diff --git a/multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/wifi b/multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/wifi
new file mode 100644
index 0000000..9d52c22
--- /dev/null
+++ b/multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/wifi
@@ -0,0 +1 @@
+WIFIENABLED=yes
diff --git a/multitech/recipes/wl12xx-scripts/wl12xx-scripts_1.0.bb b/multitech/recipes/wl12xx-scripts/wl12xx-scripts_1.0.bb
new file mode 100644
index 0000000..98a6797
--- /dev/null
+++ b/multitech/recipes/wl12xx-scripts/wl12xx-scripts_1.0.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Scripts to enable and calibrate the wifi chip on the OCG"
+HOMEPAGE = "http://www.multitech.net/"
+LICENSE = "GPL"
+
+PR = "r3"
+
+inherit update-rc.d
+
+SRC_URI = "file://wl12xx-scripts-1.0/calibrate-wifi.sh \
+ file://wl12xx-scripts-1.0/wifi \
+ file://wl12xx-scripts-1.0/enable-wifi.sh"
+
+CONFFILES_${PN} += "${sysconfdir}/default/wifi"
+
+INITSCRIPT_NAME = "enable-wifi.sh"
+INITSCRIPT_PARAMS = "start 40 S ."
+
+S = ${WORKDIR}/wl12xx-scripts-1.0/
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 755 ${WORKDIR}/wl12xx-scripts-1.0/calibrate-wifi.sh ${D}${sbindir}
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/wl12xx-scripts-1.0/enable-wifi.sh ${D}${sysconfdir}/init.d
+ install -d ${D}${sysconfdir}/default
+ install -m 644 ${WORKDIR}/wl12xx-scripts-1.0/wifi ${D}${sysconfdir}/default/
+}