aboutsummaryrefslogtreecommitdiff
path: root/target/linux/qualcommax/ipq60xx
diff options
context:
space:
mode:
authorMantas Pucka <mantas@8devices.com>2024-01-22 11:28:32 +0200
committerRobert Marko <robimarko@gmail.com>2024-02-21 21:42:23 +0100
commit44168fda7800dfdd28c8d51fa92b4863f4fd6ea9 (patch)
treeb6c62232dc0c9cb8781f5462a47ddf29ebc61e36 /target/linux/qualcommax/ipq60xx
parent10ba730b7bcb7d9c4d73ac0956fa18f06deb0e52 (diff)
qualcommax: ipq60xx: Add 8devices Mango DVK
8devices Mango DVK is a single board computer / devkit for 8devices Mango system-on-module (SoM). Specifications: * CPU: Qualcomm IPQ6010 Quad core Cortex-A53 1.8GHz * RAM: 512 MB * Storage: * 32 MB serial NOR flash (on SoM) * 256 MB parallel NAND flash (on DVK) * Ethernet: * 2x1G RJ45 ports(QCA8072 or QCA8075) * 1x2.5G RJ45 port (QCA8081) * 1xSFP (shares SGMII with QCA8081) * Switch: Qualcomm Atheros IPQ6010 * WLAN: * 2.4GHz: QCN5121 2x2 802.11b/g/n/ax 574 Mbps PHY rate * 5GHz: QCN5152 2x2 802.11a/n/ac/ax 1201 Mbps PHY rate * USB: * 1x USB3.0 Type-A port * 1x USB2.0 available at mini PCIe slot * PCIe: 1x mini PCIe slot 1xLane Gen3 (8GT/s) * SD/eMMC (on a single shared bus - only one can be active): * micro SD slot * eMMC module connector * LEDs: * Green power led (not controllable) * Green 2.4GHz radio led (GPIO 67) * Green 5GHz radio led (GPIO 66) * Buttons: * 1x (WPS GPIO79) button * GPIOs: 2.54mm header brings out 18 GPIOs (1.8V level) * UART: 4-pin UART header (3.3V level) * 115200 8N1, 3.3V-Tx-Rx-GND (3.3V is pin 1 close to boot-switch SW2) * Power: * PoE IN on 2.5G port (passive 24-48V) * DC power terminal (12-58V) Installation instructions: Vendor image format is compatible with squashfs-sysupgrade image. Run: sysupgrade -n -F openwrt-qualcommax-ipq60xx-8devices_mango-dvk-squashfs-sysupgrade.bin Signed-off-by: Mantas Pucka <mantas@8devices.com>
Diffstat (limited to 'target/linux/qualcommax/ipq60xx')
-rw-r--r--target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network28
-rw-r--r--target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11-caldata20
-rw-r--r--target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh17
3 files changed, 65 insertions, 0 deletions
diff --git a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network
new file mode 100644
index 0000000000..081d894e1e
--- /dev/null
+++ b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network
@@ -0,0 +1,28 @@
+#
+# Copyright (c) 2015 The Linux Foundation. All rights reserved.
+# Copyright (c) 2011-2015 OpenWrt.org
+#
+
+. /lib/functions/uci-defaults.sh
+. /lib/functions/system.sh
+
+ipq60xx_setup_interfaces()
+{
+ local board="$1"
+
+ case "$board" in
+ 8devices,mango-dvk)
+ ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
+ ;;
+ *)
+ echo "Unsupported hardware. Network interfaces not initialized"
+ ;;
+ esac
+}
+
+board_config_update
+board=$(board_name)
+ipq60xx_setup_interfaces $board
+board_config_flush
+
+exit 0
diff --git a/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11-caldata b/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11-caldata
new file mode 100644
index 0000000000..c14722c799
--- /dev/null
+++ b/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11-caldata
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+[ -e /lib/firmware/$FIRMWARE ] && exit 0
+
+. /lib/functions/caldata.sh
+
+board=$(board_name)
+
+case "$FIRMWARE" in
+"ath11k/IPQ6018/hw1.0/cal-ahb-c000000.wifi.bin")
+ case "$board" in
+ 8devices,mango-dvk)
+ caldata_extract "0:ART" 0x1000 0x20000
+ ;;
+ esac
+ ;;
+*)
+ exit 1
+ ;;
+esac
diff --git a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh
new file mode 100644
index 0000000000..3d3c17b3b9
--- /dev/null
+++ b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,17 @@
+PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
+
+RAMFS_COPY_BIN='fw_printenv fw_setenv head'
+RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
+
+platform_check_image() {
+ return 0;
+}
+
+platform_do_upgrade() {
+ case "$(board_name)" in
+ *)
+ default_do_upgrade "$1"
+ ;;
+ esac
+}