aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/boot/uboot-envtools/files/ipq807x1
-rw-r--r--package/firmware/ipq-wifi/Makefile2
-rw-r--r--package/firmware/ipq-wifi/board-redmi_ax6.ipq8074bin0 -> 131172 bytes
-rw-r--r--target/linux/ipq807x/base-files/etc/board.d/01_leds1
-rw-r--r--target/linux/ipq807x/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata1
-rw-r--r--target/linux/ipq807x/base-files/lib/upgrade/platform.sh2
-rw-r--r--target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax6.dts46
-rw-r--r--target/linux/ipq807x/image/generic.mk8
9 files changed, 62 insertions, 0 deletions
diff --git a/package/boot/uboot-envtools/files/ipq807x b/package/boot/uboot-envtools/files/ipq807x
index bf116d1fca..44f2d8a0c2 100644
--- a/package/boot/uboot-envtools/files/ipq807x
+++ b/package/boot/uboot-envtools/files/ipq807x
@@ -8,6 +8,7 @@ touch /etc/config/ubootenv
board=$(board_name)
case "$board" in
+redmi,ax6|\
xiaomi,ax3600)
idx="$(find_mtd_index 0:appsblenv)"
[ -n "$idx" ] && \
diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile
index 9b490e6f74..1fa7482ddb 100644
--- a/package/firmware/ipq-wifi/Makefile
+++ b/package/firmware/ipq-wifi/Makefile
@@ -39,6 +39,7 @@ ALLWIFIBOARDS:= \
pakedge_wr-1 \
qxwlan_e2600ac-c1 \
qxwlan_e2600ac-c2 \
+ redmi_ax6 \
sony_ncp-hg100-cellular \
teltonika_rutx \
xiaomi_ax3600 \
@@ -129,6 +130,7 @@ $(eval $(call generate-ipq-wifi-package,p2w_r619ac,P&W R619AC))
$(eval $(call generate-ipq-wifi-package,pakedge_wr-1,Pakedge WR-1))
$(eval $(call generate-ipq-wifi-package,qxwlan_e2600ac-c1,Qxwlan E2600AC C1))
$(eval $(call generate-ipq-wifi-package,qxwlan_e2600ac-c2,Qxwlan E2600AC C2))
+$(eval $(call generate-ipq-wifi-package,redmi_ax6,Redmi AX6))
$(eval $(call generate-ipq-wifi-package,sony_ncp-hg100-cellular,Sony NCP-HG100/Cellular))
$(eval $(call generate-ipq-wifi-package,teltonika_rutx,Teltonika RUTX))
$(eval $(call generate-ipq-wifi-package,xiaomi_ax3600,Xiaomi AX3600))
diff --git a/package/firmware/ipq-wifi/board-redmi_ax6.ipq8074 b/package/firmware/ipq-wifi/board-redmi_ax6.ipq8074
new file mode 100644
index 0000000000..e56b4d30d3
--- /dev/null
+++ b/package/firmware/ipq-wifi/board-redmi_ax6.ipq8074
Binary files differ
diff --git a/target/linux/ipq807x/base-files/etc/board.d/01_leds b/target/linux/ipq807x/base-files/etc/board.d/01_leds
index 215ab7ca21..a13ddcbb08 100644
--- a/target/linux/ipq807x/base-files/etc/board.d/01_leds
+++ b/target/linux/ipq807x/base-files/etc/board.d/01_leds
@@ -6,6 +6,7 @@ board_config_update
board=$(board_name)
case "$board" in
+redmi,ax6|\
xiaomi,ax3600)
ucidef_set_led_netdev "wan" "WAN" "blue:network" "wan"
;;
diff --git a/target/linux/ipq807x/base-files/etc/board.d/02_network b/target/linux/ipq807x/base-files/etc/board.d/02_network
index 4dc118ed29..cfe7580f8e 100644
--- a/target/linux/ipq807x/base-files/etc/board.d/02_network
+++ b/target/linux/ipq807x/base-files/etc/board.d/02_network
@@ -11,6 +11,7 @@ ipq807x_setup_interfaces()
local board="$1"
case "$board" in
+ redmi,ax6|\
xiaomi,ax3600)
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
;;
diff --git a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
index 578ff7ad45..0a2908f13d 100644
--- a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
+++ b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
@@ -9,6 +9,7 @@ board=$(board_name)
case "$FIRMWARE" in
"ath11k/IPQ8074/hw2.0/cal-ahb-c000000.wifi.bin")
case "$board" in
+ redmi,ax6|\
xiaomi,ax3600)
caldata_extract "0:art" 0x1000 0x20000
;;
diff --git a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
index d63e71251b..f9c28fad09 100644
--- a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
@@ -33,6 +33,7 @@ platform_check_image() {
platform_pre_upgrade() {
case "$(board_name)" in
+ redmi,ax6|\
xiaomi,ax3600)
xiaomi_initramfs_prepare
;;
@@ -41,6 +42,7 @@ platform_pre_upgrade() {
platform_do_upgrade() {
case "$(board_name)" in
+ redmi,ax6|\
xiaomi,ax3600)
# Make sure that UART is enabled
fw_setenv boot_wait on
diff --git a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax6.dts b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax6.dts
new file mode 100644
index 0000000000..6611a8fe27
--- /dev/null
+++ b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax6.dts
@@ -0,0 +1,46 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright (c) 2021, Zhijun You <hujy652@gmail.com> */
+
+/dts-v1/;
+
+#include "ipq8071-ax3600.dtsi"
+
+/ {
+ model = "Redmi AX6";
+ compatible = "redmi,ax6", "qcom,ipq8074";
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_system_blue: system-blue {
+ label = "blue:system";
+ gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
+ };
+
+ led_system_yellow: system-yellow {
+ label = "yellow:system";
+ gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
+ };
+
+ network-blue {
+ label = "blue:network";
+ gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
+ };
+
+ network-yellow {
+ label = "yellow:network";
+ gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+/* AX6 can both have NAND of 256MiB or 128MiB.
+ * To be on the safe side, assume 128MiB of NAND.
+ */
+&rootfs {
+ reg = <0x2dc0000 0x5220000>;
+};
+
+&wifi {
+ qcom,ath11k-calibration-variant = "Redmi-AX6";
+};
diff --git a/target/linux/ipq807x/image/generic.mk b/target/linux/ipq807x/image/generic.mk
index 11cca54506..7fd0169a64 100644
--- a/target/linux/ipq807x/image/generic.mk
+++ b/target/linux/ipq807x/image/generic.mk
@@ -17,6 +17,14 @@ define Device/UbiFit
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
+define Device/redmi_ax6
+ $(call Device/xiaomi_ax3600)
+ DEVICE_VENDOR := Redmi
+ DEVICE_MODEL := AX6
+ DEVICE_PACKAGES := ipq-wifi-redmi_ax6
+endef
+TARGET_DEVICES += redmi_ax6
+
define Device/xiaomi_ax3600
$(call Device/FitImage)
$(call Device/UbiFit)