aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mpc85xx/base-files
diff options
context:
space:
mode:
authorChris Blake <chrisrblake93@gmail.com>2017-09-30 11:14:58 -0500
committerHauke Mehrtens <hauke@hauke-m.de>2017-10-14 01:23:47 +0200
commitf2b7d9dc1ca3d33f14961cf2885639f4f9e8965e (patch)
tree10f2ed5de3ed465cd70c1e02fc23d1fefe92e2a6 /target/linux/mpc85xx/base-files
parent8cd6686ef81effb3c30f0508368db3d0600f289d (diff)
downloadupstream-f2b7d9dc1ca3d33f14961cf2885639f4f9e8965e.tar.gz
upstream-f2b7d9dc1ca3d33f14961cf2885639f4f9e8965e.tar.bz2
upstream-f2b7d9dc1ca3d33f14961cf2885639f4f9e8965e.zip
mpc85xx: Add Aerohive HiveAP-330 Access Point
The following adds the Aerohive HiveAP-330 Access Point to LEDE under the mpc85xx/p1020 subtarget. Hardware: - SoC: Freescale P1020NSE2DFB - NAND: Intel JS28F512M29EWH 64MB - Memory: 2x ProMOS V59C1G01168QBJ3 128MB (Total of 256MB) - 2.4GHz WiFi: Atheros AR9390-AL1A - 5.0GHz WiFi: Atheros AR9390-AL1A - Eth1: Atheros AR8035-A PoE - Eth2: Atheros AR8035-A - TPM: Atmel AT97SC3204 - LED Driver: TI LP5521 Flashing: 1. Hook into UART (9600 baud) and enter U-Boot. You may need to enter a password of administrator or AhNf?d@ta06 if prompted. 2. Once in U-Boot, tftp boot the initramfs image: dhcp; tftpboot 0x1000000 192.168.1.101:lede- mpc85xx-p1020-hiveap-330-initramfs.zImage; tftpboot 0x6000000 192.168.1.101:lede-mpc85xx-p1020-hiveap-330.fdt; bootm 0x1000000 - 0x6000000; 3. Once booted, scp over the sysupgrade file and sysupgrade the device to flash LEDE to the NAND. sysupgrade /tmp/lede-mpc85xx-p1020-hiveap-330-sysupgrade.img Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Diffstat (limited to 'target/linux/mpc85xx/base-files')
-rwxr-xr-xtarget/linux/mpc85xx/base-files/etc/board.d/02_network3
-rw-r--r--target/linux/mpc85xx/base-files/etc/diag.sh13
-rwxr-xr-xtarget/linux/mpc85xx/base-files/lib/mpc85xx.sh3
-rw-r--r--target/linux/mpc85xx/base-files/lib/preinit/05_set_iface_mac_mcp85xx17
-rwxr-xr-xtarget/linux/mpc85xx/base-files/lib/upgrade/platform.sh27
5 files changed, 58 insertions, 5 deletions
diff --git a/target/linux/mpc85xx/base-files/etc/board.d/02_network b/target/linux/mpc85xx/base-files/etc/board.d/02_network
index 511b56b1cc..1fedb7962e 100755
--- a/target/linux/mpc85xx/base-files/etc/board.d/02_network
+++ b/target/linux/mpc85xx/base-files/etc/board.d/02_network
@@ -10,6 +10,9 @@ board_config_update
board=$(board_name)
case "$board" in
+hiveap-330)
+ ucidef_set_interfaces_lan_wan "eth1" "eth0"
+ ;;
tl-wdr4900-v1)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
diff --git a/target/linux/mpc85xx/base-files/etc/diag.sh b/target/linux/mpc85xx/base-files/etc/diag.sh
index b269427a51..7261795197 100644
--- a/target/linux/mpc85xx/base-files/etc/diag.sh
+++ b/target/linux/mpc85xx/base-files/etc/diag.sh
@@ -5,11 +5,14 @@
. /lib/functions/leds.sh
get_status_led() {
- case $(board_name) in
- tl-wdr4900-v1)
- status_led="tp-link:blue:system"
- ;;
- esac
+ case $(board_name) in
+ hiveap-330)
+ status_led="hiveap-330:green:tricolor0"
+ ;;
+ tl-wdr4900-v1)
+ status_led="tp-link:blue:system"
+ ;;
+esac
}
set_state() {
diff --git a/target/linux/mpc85xx/base-files/lib/mpc85xx.sh b/target/linux/mpc85xx/base-files/lib/mpc85xx.sh
index 1a2a671e28..065589f18f 100755
--- a/target/linux/mpc85xx/base-files/lib/mpc85xx.sh
+++ b/target/linux/mpc85xx/base-files/lib/mpc85xx.sh
@@ -13,6 +13,9 @@ mpc85xx_board_detect() {
model=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /model/ {print $2}' /proc/cpuinfo)
case "$model" in
+ *"HiveAP-330")
+ name="hiveap-330"
+ ;;
*"TL-WDR4900 v1")
name="tl-wdr4900-v1"
;;
diff --git a/target/linux/mpc85xx/base-files/lib/preinit/05_set_iface_mac_mcp85xx b/target/linux/mpc85xx/base-files/lib/preinit/05_set_iface_mac_mcp85xx
new file mode 100644
index 0000000000..cecaee86b0
--- /dev/null
+++ b/target/linux/mpc85xx/base-files/lib/preinit/05_set_iface_mac_mcp85xx
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+. /lib/functions.sh
+. /lib/functions/system.sh
+
+preinit_set_mac_address() {
+ case $(board_name) in
+ hiveap-330)
+ mac_wan=$(mtd_get_mac_binary hw-info 0)
+ [ -n "$mac_wan" ] && ifconfig eth0 hw ether "$mac_wan"
+ mac_lan=$(macaddr_add $(mtd_get_mac_binary hw-info 0) +1)
+ [ -n "$mac_lan" ] && ifconfig eth1 hw ether "$mac_lan"
+ ;;
+ esac
+}
+
+boot_hook_add preinit_main preinit_set_mac_address
diff --git a/target/linux/mpc85xx/base-files/lib/upgrade/platform.sh b/target/linux/mpc85xx/base-files/lib/upgrade/platform.sh
index 65b3674769..9e3a3d661a 100755
--- a/target/linux/mpc85xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mpc85xx/base-files/lib/upgrade/platform.sh
@@ -4,6 +4,10 @@
PART_NAME=firmware
+get_magic_long_at() {
+ (get_image "$1" | dd bs=4 count=1 skip="$2" | hexdump -v -n 4 -e '1/1 "%02x"') 2>/dev/null
+}
+
tplink_get_hwid() {
local part
@@ -28,6 +32,29 @@ platform_check_image() {
[ "$#" -gt 1 ] && return 1
case $board in
+ hiveap-330)
+ local init_magic=$(get_magic_long_at "$1" "65536")
+ local root_magic=$(get_magic_long_at "$1" "131072")
+ local kernel_magic=$(get_magic_long_at "$1" "10551296")
+
+ [ "$magic" != "d00dfeed" ] && {
+ echo "Invalid dtb image type."
+ return 1
+ }
+ [ "$init_magic" != "27051956" ] && {
+ echo "Invalid initramfs image type."
+ return 1
+ }
+ [ "$root_magic" != "68737173" ] && {
+ echo "Invalid rootfs image type."
+ return 1
+ }
+ [ "$kernel_magic" != "27051956" ] && {
+ echo "Invalid kernel image type."
+ return 1
+ }
+ return 0
+ ;;
tl-wdr4900-v1)
[ "$magic" != "01000000" ] && {
echo "Invalid image type."