diff options
Diffstat (limited to 'target/linux/omap24xx/base-files/lib')
-rw-r--r-- | target/linux/omap24xx/base-files/lib/preinit/99_p54spi_eeprom | 26 |
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 |