diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network index babde1b8e220b2..bf042d5fe079af 100644 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -31,6 +31,7 @@ ipq40xx_setup_interfaces() ;; 8dev,jalapeno|\ alfa-network,ap120c-ac|\ + asus,map-ac1300|\ asus,map-ac2200|\ cilab,meshpoint-one|\ edgecore,ecw5211|\ @@ -161,6 +162,11 @@ ipq40xx_setup_macs() 8dev,habanero-dvk) label_mac=$(mtd_get_mac_binary "ART" 0x1006) ;; + asus,map-ac1300) + label_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) + lan_mac=$(macaddr_add "$label_mac" 1) + wan_mac=$(macaddr_add "$label_mac" 3) + ;; asus,rt-ac42u) label_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) ;; diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 654be2697a6362..7ddf6b9e27bf2c 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -53,6 +53,7 @@ case "$FIRMWARE" in ;; "ath10k/pre-cal-ahb-a000000.wifi.bin") case "$board" in + asus,map-ac1300|\ asus,map-ac2200|\ asus,rt-ac42u|\ asus,rt-ac58u) @@ -150,6 +151,7 @@ case "$FIRMWARE" in ;; "ath10k/pre-cal-ahb-a800000.wifi.bin") case "$board" in + asus,map-ac1300|\ asus,map-ac2200|\ asus,rt-ac58u) caldata_extract_ubi "Factory" 0x5000 0x2f20 diff --git a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh index 96e70f62a92349..aaae0407b44f91 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh @@ -7,6 +7,12 @@ preinit_set_mac_address() { ip link set dev eth0 address $(macaddr_add "$base_mac" 1) ip link set dev eth1 address $(macaddr_add "$base_mac" 3) ;; + asus,map-ac1300) + base_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) + ip link set dev eth0 address $(macaddr_add "$base_mac" 1) + ip link set dev lan address $(macaddr_add "$base_mac" 1) + ip link set dev wan address $(macaddr_add "$base_mac" 3) + ;; asus,rt-ac42u) base_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) ip link set dev eth0 address $base_mac diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index 22f2ee9ccc8238..a906d0f6a4c7cb 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -6,6 +6,7 @@ RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock' platform_check_image() { case "$(board_name)" in + asus,map-ac1300 |\ asus,rt-ac42u |\ asus,rt-ac58u) local ubidev=$(nand_find_ubi $CI_UBIPART) @@ -148,6 +149,7 @@ platform_do_upgrade() { CI_KERNPART="linux" nand_do_upgrade "$1" ;; + asus,map-ac1300 |\ asus,rt-ac42u |\ asus,rt-ac58u) CI_KERNPART="linux" diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-map-ac1300.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-map-ac1300.dts new file mode 100644 index 00000000000000..67eb3eb2502392 --- /dev/null +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-map-ac1300.dts @@ -0,0 +1,97 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019.dtsi" +#include +#include "qcom-ipq4018-asus.dtsi" +#include "qcom-ipq401x-map-acxx00.dtsi" + +/ { + model = "ASUS Lyra Mini"; + compatible = "asus,map-ac1300"; + + aliases { + led-boot = &led_blue0; + led-failsafe = &led_red0; + led-running = &led_blue0; + led-upgrade = &led_red0; + }; + + keys { + compatible = "gpio-keys"; + + reset-button { + label = "reset-button"; + gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps-button { + label = "wps-button"; + gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + +}; + +&tlmm { + i2c_0_pins: i2c_0_pinmux { + pinmux { + function = "blsp_i2c0"; + pins = "gpio58", "gpio59"; + drive-strength = <16>; + bias-disable; + }; + }; + + serial_pins: serial_pinmux { + mux { + pins = "gpio60", "gpio61"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + spi_0_pins: spi_0_pinmux { + mux { + function = "blsp_spi0"; + pins = "gpio55", "gpio56", "gpio57"; + drive-strength = <12>; + bias-disable; + }; + + mux_cs { + function = "gpio"; + pins = "gpio54", "gpio1"; + drive-strength = <2>; + bias-disable; + output-high; + }; + + }; +}; + +&blsp1_spi1 { /* BLSP1 QUP1 */ + cs-gpios = <&tlmm 54 GPIO_ACTIVE_LOW>, + <&tlmm 1 GPIO_ACTIVE_LOW>; +}; + +&swport4 { + status = "okay"; + label = "wan"; +}; + +&swport5 { + status = "okay"; + label = "lan"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "ASUS-MAP-AC1300"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "ASUS-MAP-AC1300"; +}; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq401x-map-acxx00.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq401x-map-acxx00.dtsi index 5941bdd36a53cd..82769e093b3b13 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq401x-map-acxx00.dtsi +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq401x-map-acxx00.dtsi @@ -102,3 +102,41 @@ }; }; }; + +&blsp1_uart1 { + pinctrl-0 = <&serial_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&blsp_dma { + status = "okay"; +}; + +&crypto { + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&gmac { + status = "okay"; +}; + +&mdio { + status = "okay"; +}; + +&prng { + status = "okay"; +}; + +&switch { + status = "okay"; +}; + +&watchdog { + status = "okay"; +}; diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk index f5132cb91fd350..5d039365edbf8c 100644 --- a/target/linux/ipq40xx/image/generic.mk +++ b/target/linux/ipq40xx/image/generic.mk @@ -190,6 +190,19 @@ define Device/aruba_ap-365 endef TARGET_DEVICES += aruba_ap-365 +define Device/asus_map-ac1300 + $(call Device/FitImageLzma) + DEVICE_VENDOR := ASUS + DEVICE_MODEL := Lyra Mini (MAP-AC1300) + SOC := qcom-ipq4018 + BLOCKSIZE := 128k + PAGESIZE := 2048 + IMAGE_SIZE := 131072k + KERNEL_INSTALL := 1 + +endef +TARGET_DEVICES += asus_map-ac1300 + define Device/asus_map-ac2200 $(call Device/FitImageLzma) DEVICE_VENDOR := ASUS