dcbbac55ed
Use the values populated by the generic board detect function. The first compatible from the device tree source file will be the board name in userspace. The model property from the device tree source file will be the model name. Change the board name where used in the userspace and drop the target specific board detect, to use the generic one. Signed-off-by: Mathias Kresin <dev@kresin.me>
66 lines
1.2 KiB
Bash
66 lines
1.2 KiB
Bash
#!/bin/sh
|
|
|
|
FW_FILE="/lib/firmware/$FIRMWARE"
|
|
|
|
ath9k_eeprom_die() {
|
|
echo "ath9k eeprom: " "$*" >&2
|
|
exit 1
|
|
}
|
|
|
|
ath9k_eeprom_extract() {
|
|
local part=$1
|
|
local offset=$2
|
|
local count=$3
|
|
local mtd
|
|
|
|
mtd=$(find_mtd_chardev $part)
|
|
[ -n "$mtd" ] || \
|
|
ath9k_eeprom_die "no mtd device found for partition $part"
|
|
|
|
dd if=$mtd bs=$offset skip=1 count=1 2>/dev/null | dd of=$FW_FILE bs=$count count=1 2>/dev/null || \
|
|
ath9k_eeprom_die "failed to extract from $mtd"
|
|
}
|
|
|
|
tpl_set_wireless_mac()
|
|
{
|
|
local offset=$1
|
|
local mac
|
|
|
|
mac=$(mtd_get_mac_binary u-boot 326656)
|
|
mac=$(macaddr_add $mac $offset)
|
|
|
|
macaddr_2bin $mac | dd bs=1 count=6 seek=2 conv=notrunc of=$FW_FILE 2>/dev/null
|
|
}
|
|
|
|
[ -e $FW_FILE ] && exit 0
|
|
|
|
. /lib/functions.sh
|
|
. /lib/functions/system.sh
|
|
|
|
board=$(board_name)
|
|
|
|
case "$FIRMWARE" in
|
|
"pci_wmac0.eeprom")
|
|
case $board in
|
|
tplink,tl-wdr4900-v1)
|
|
ath9k_eeprom_extract "caldata" 4096 2048
|
|
tpl_set_wireless_mac 0
|
|
;;
|
|
*)
|
|
ath9k_eeprom_die "board $board is not supported yet"
|
|
;;
|
|
esac
|
|
;;
|
|
|
|
"pci_wmac1.eeprom")
|
|
case $board in
|
|
tplink,tl-wdr4900-v1)
|
|
ath9k_eeprom_extract "caldata" 20480 2048
|
|
tpl_set_wireless_mac -1
|
|
;;
|
|
*)
|
|
ath9k_eeprom_die "board $board is not supported yet"
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|