From 44168fda7800dfdd28c8d51fa92b4863f4fd6ea9 Mon Sep 17 00:00:00 2001 From: Mantas Pucka Date: Mon, 22 Jan 2024 11:28:32 +0200 Subject: 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 --- .../ipq60xx/base-files/etc/board.d/02_network | 28 ++++++++++++++++++++++ .../etc/hotplug.d/firmware/11-ath11-caldata | 20 ++++++++++++++++ .../ipq60xx/base-files/lib/upgrade/platform.sh | 17 +++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network create mode 100644 target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11-caldata create mode 100644 target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh (limited to 'target/linux/qualcommax/ipq60xx') 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 +} -- cgit v1.2.3