summaryrefslogtreecommitdiffstats
path: root/target/linux/omap24xx/base-files/lib/preinit
diff options
context:
space:
mode:
authormb <mb@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-01-29 18:45:28 +0000
committermb <mb@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-01-29 18:45:28 +0000
commitd23048de6cc9a294d3368e345313af5956155fce (patch)
treee33a76266356223f95d9612f6f5e40a449e896da /target/linux/omap24xx/base-files/lib/preinit
parentbf507d04396b123282ad4c1613b66775ffaf0890 (diff)
omap24xx: Move p54 eeprom init to preinit
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25242 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/omap24xx/base-files/lib/preinit')
-rw-r--r--target/linux/omap24xx/base-files/lib/preinit/99_p54spi_eeprom26
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/omap24xx/base-files/lib/preinit/99_p54spi_eeprom b/target/linux/omap24xx/base-files/lib/preinit/99_p54spi_eeprom
new file mode 100644
index 000000000..cd406f42d
--- /dev/null
+++ b/target/linux/omap24xx/base-files/lib/preinit/99_p54spi_eeprom
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+do_generate_p54spi_eeprom() {
+ [ -e /lib/firmware/3826.eeprom ] && return 0
+
+ [ -x /usr/bin/calvaria ] || { echo "p54spi EEPROM: calvaria not found"; return 1; }
+ [ -x /usr/bin/cal2p54 ] || { echo "p54spi EEPROM: cal2p54 not found"; return 1; }
+
+ /usr/bin/calvaria -p -n wlan-iq-align -i last /dev/mtdblock1 >/tmp/wlan-iq-align || {
+ echo "p54spi EEPROM: Failed to extract wlan-iq-align"
+ return 1
+ }
+ /usr/bin/calvaria -p -n wlan-tx-gen2 -i last /dev/mtdblock1 >/tmp/txgen_file || {
+ echo "p54spi EEPROM: Failed to extract wlan-tx-gen2"
+ return 1
+ }
+
+ /usr/bin/cal2p54 /tmp/txgen_file /tmp/wlan-iq-align >/lib/firmware/3826.eeprom || {
+ echo "p54spi EEPROM: Failed to generate EEPROM"
+ return 1
+ }
+
+ rm -f /tmp/wlan-iq-align /tmp/txgen_file
+}
+
+boot_hook_add preinit_mount_root do_generate_p54spi_eeprom