1cb406d019
This patch adds support for AVM FRITZ!Box 4040. hardware highlights: SOC: IPQ4018 / QCA Dakota CPU: Quad-Core ARMv7 Processor rev 5 (v7l) Cortex-A7 DRAM: 256 MiB Nanya NT5CC128M16IP FLASH: 32 MiB MXIC MX25L25635FMI ETH: Qualcomm Atheros QCA8075 Gigabit Switch (4 x LAN, 1 x WAN) USB: 1 x 3.0 (via Synopsys DesignWare DWC3 controller in the SoC) 1 x 2.0 (via Synopsys DesignWare DWC3 controller in the SoC) WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11bgn 2:2x2 WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11a/n/ac 2:2x2 INPUT: one WLAN and one WPS button LEDS: Power, WAN/Internet, WIFI, INFO (red and amber) and LAN. Serial: WARNING: The serial port needs a TTL/RS-232 v3.3 level converter! The Serial setting is 115200-8-N-1. The SoC's serial port is right next to the MXIC FLASH chip. The board has a unpopulated 1x4 0.1" header for it. Use a multimeter to figure out the pinout! This board currently needs an additional u-boot image in order to boot properly. Booting with EVA isn't possible ATM. Install Procedure: 0. It's highly recommended to connect to the serial port. The serial settings are listed above. 1. install a u-boot image for AVM Fritz!Box 4040 (see <https://github.com/chunkeey/FritzBox-4040-UBOOT/releases> and <https://github.com/chunkeey/FritzBox-4040-UBOOT/blob/master/upload-to-f4040.sh>) 2. upload the initramfs.itb image via tftp (u-boot listens to 192.168.1.1 - use binary transfer mode!) 3. connect to the FB4040 and use sysupgrade sysupgrade.bin to install the image. Works: - Switch and Ethernet (99%) - Buttons (WLAN, WPS) - FLASH (1 x 32MiB NOR Chip) - WLAN2G and WLAN5G - CPUFREQ scaling - PRNG - serial - Crypto Accelerator - sysupgrade (Read the flash instructions to avoid bricking) - full LEDE Install (Read the flash instructions to avoid bricking) - LEDs (Power, WAN, Info (red and amber), LAN) The LEDs are connected to the QCA8075 LED ports. The AR40xx driver contains a gpio-controller to handle these special "GPIOs". - USB Both 3.0 and 2.0 ports - many packages from other ARMv7 boards (This does include the RaspberryPi Model 2!) - ... Not planned: - WAN<->LAN short-cut - Qualcomm Secure Execution Environment - ... Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John Crispin <john@phrozen.org>
82 lines
1.3 KiB
Bash
82 lines
1.3 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2014 The Linux Foundation. All rights reserved.
|
|
# Copyright (C) 2011 OpenWrt.org
|
|
#
|
|
|
|
IPQ806X_BOARD_NAME=
|
|
IPQ806X_MODEL=
|
|
|
|
ipq806x_board_detect() {
|
|
local machine
|
|
local name
|
|
|
|
machine=$(cat /proc/device-tree/model)
|
|
|
|
case "$machine" in
|
|
*"AP148")
|
|
name="ap148"
|
|
;;
|
|
*"4040")
|
|
name="fritz4040"
|
|
;;
|
|
*"C2600")
|
|
name="c2600"
|
|
;;
|
|
*"D7800")
|
|
name="d7800"
|
|
;;
|
|
*"DB149")
|
|
name="db149"
|
|
;;
|
|
*"NBG6817")
|
|
name="nbg6817"
|
|
;;
|
|
*"R7500")
|
|
name="r7500"
|
|
;;
|
|
*"R7500v2")
|
|
name="r7500v2"
|
|
;;
|
|
*"Linksys EA8500"*)
|
|
name="ea8500"
|
|
;;
|
|
*"R7800")
|
|
name="r7800"
|
|
;;
|
|
*"VR2600v")
|
|
name="vr2600v"
|
|
;;
|
|
esac
|
|
|
|
[ -z "$name" ] && name="unknown"
|
|
|
|
[ -z "$IPQ806X_BOARD_NAME" ] && IPQ806X_BOARD_NAME="$name"
|
|
[ -z "$IPQ806X_MODEL" ] && IPQ806X_MODEL="$machine"
|
|
|
|
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
|
|
|
|
echo "$IPQ806X_BOARD_NAME" > /tmp/sysinfo/board_name
|
|
echo "$IPQ806X_MODEL" > /tmp/sysinfo/model
|
|
}
|
|
|
|
ipq806x_board_name() {
|
|
local name
|
|
|
|
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
|
|
[ -z "$name" ] && name="unknown"
|
|
|
|
echo "$name"
|
|
}
|
|
|
|
ipq806x_get_dt_led() {
|
|
local label
|
|
local ledpath
|
|
local basepath="/sys/firmware/devicetree/base"
|
|
local nodepath="$basepath/aliases/led-$1"
|
|
|
|
[ -f "$nodepath" ] && ledpath=$(cat "$nodepath")
|
|
[ -n "$ledpath" ] && label=$(cat "$basepath$ledpath/label")
|
|
|
|
echo "$label"
|
|
}
|