ipq40xx: add support for ASUS RT-ACRH17/RT-AC42U
SOC: IPQ4019 CPU: Quad-core ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d DRAM: 256 MB NAND: 128 MiB Macronix MX30LF1G18AC ETH: Qualcomm Atheros QCA8075 Gigabit Switch (4x LAN, 1x WAN) USB: 1x 3.0 (via Synopsys DesignWare DWC3 controller in the SoC) WLAN1: Qualcomm Atheros QCA4019 2.4GHz 802.11bgn 2x2:2 WLAN2: Qualcomm Atheros QCA9984 5GHz 802.11nac 4x4:4 INPUT: 1x WPS, 1x Reset LEDS: Status, WIFI1, WIFI2, WAN (red & blue), 4x LAN This board is very similar to the RT-ACRH13/RT-AC58U. It must be flashed with an intermediary initramfs image, the jffs2 ubi volume deleted, and then finally a sysupgrade with the final image performed. Signed-off-by: Joshua Roys <roysjosh@gmail.com> (added ALT0) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This commit is contained in:
		 Joshua Roys
					Joshua Roys
				
			
				
					committed by
					
						 Christian Lamparter
						Christian Lamparter
					
				
			
			
				
	
			
			
			 Christian Lamparter
						Christian Lamparter
					
				
			
						parent
						
							74516f4357
						
					
				
				
					commit
					51b9aef553
				
			| @@ -27,6 +27,7 @@ endef | |||||||
| ALLWIFIBOARDS:= \ | ALLWIFIBOARDS:= \ | ||||||
| 	8dev_habanero-dvk \ | 	8dev_habanero-dvk \ | ||||||
| 	aruba_ap-303 \ | 	aruba_ap-303 \ | ||||||
|  | 	asus_rt-ac42u \ | ||||||
| 	avm_fritzrepeater-1200 \ | 	avm_fritzrepeater-1200 \ | ||||||
| 	buffalo_wtr-m2133hp \ | 	buffalo_wtr-m2133hp \ | ||||||
| 	cellc_rtl30vw \ | 	cellc_rtl30vw \ | ||||||
| @@ -116,6 +117,7 @@ endef | |||||||
|  |  | ||||||
| $(eval $(call generate-ipq-wifi-package,8dev_habanero-dvk,8devices Habanero DVK)) | $(eval $(call generate-ipq-wifi-package,8dev_habanero-dvk,8devices Habanero DVK)) | ||||||
| $(eval $(call generate-ipq-wifi-package,aruba_ap-303,Aruba AP-303)) | $(eval $(call generate-ipq-wifi-package,aruba_ap-303,Aruba AP-303)) | ||||||
|  | $(eval $(call generate-ipq-wifi-package,asus_rt-ac42u,ASUS RT-AC42U)) | ||||||
| $(eval $(call generate-ipq-wifi-package,avm_fritzrepeater-1200,AVM FRITZRepeater 1200)) | $(eval $(call generate-ipq-wifi-package,avm_fritzrepeater-1200,AVM FRITZRepeater 1200)) | ||||||
| $(eval $(call generate-ipq-wifi-package,buffalo_wtr-m2133hp,Buffalo WTR-M2133HP)) | $(eval $(call generate-ipq-wifi-package,buffalo_wtr-m2133hp,Buffalo WTR-M2133HP)) | ||||||
| $(eval $(call generate-ipq-wifi-package,cellc_rtl30vw, Cell C RTL30VW)) | $(eval $(call generate-ipq-wifi-package,cellc_rtl30vw, Cell C RTL30VW)) | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								package/firmware/ipq-wifi/board-asus_rt-ac42u.qca4019
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								package/firmware/ipq-wifi/board-asus_rt-ac42u.qca4019
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								package/firmware/ipq-wifi/board-asus_rt-ac42u.qca9984
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								package/firmware/ipq-wifi/board-asus_rt-ac42u.qca9984
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -12,6 +12,12 @@ case "$board" in | |||||||
| alfa-network,ap120c-ac) | alfa-network,ap120c-ac) | ||||||
| 	ucidef_set_led_netdev "wan" "WAN" "amber:wan" "eth1" | 	ucidef_set_led_netdev "wan" "WAN" "amber:wan" "eth1" | ||||||
| 	;; | 	;; | ||||||
|  | asus,rt-ac42u) | ||||||
|  | 	ucidef_set_led_switch "lan1" "LAN1" "blue:lan" "switch0" "0x02" | ||||||
|  | 	ucidef_set_led_switch "lan2" "LAN2" "blue:lan_1" "switch0" "0x04" | ||||||
|  | 	ucidef_set_led_switch "lan3" "LAN3" "blue:lan_2" "switch0" "0x08" | ||||||
|  | 	ucidef_set_led_switch "lan4" "LAN4" "blue:lan_3" "switch0" "0x10" | ||||||
|  | 	;; | ||||||
| asus,rt-ac58u) | asus,rt-ac58u) | ||||||
| 	ucidef_set_led_netdev "wan" "WAN" "blue:wan" "eth1" | 	ucidef_set_led_netdev "wan" "WAN" "blue:wan" "eth1" | ||||||
| 	ucidef_set_led_switch "lan" "LAN" "blue:lan" "switch0" "0x1e" | 	ucidef_set_led_switch "lan" "LAN" "blue:lan" "switch0" "0x1e" | ||||||
|   | |||||||
| @@ -50,6 +50,7 @@ ipq40xx_setup_interfaces() | |||||||
| 	openmesh,a62) | 	openmesh,a62) | ||||||
| 		ucidef_set_interfaces_lan_wan "eth1" "eth0" | 		ucidef_set_interfaces_lan_wan "eth1" "eth0" | ||||||
| 		;; | 		;; | ||||||
|  | 	asus,rt-ac42u|\ | ||||||
| 	asus,rt-ac58u|\ | 	asus,rt-ac58u|\ | ||||||
| 	mikrotik,hap-ac2|\ | 	mikrotik,hap-ac2|\ | ||||||
| 	mikrotik,hap-ac3|\ | 	mikrotik,hap-ac3|\ | ||||||
| @@ -153,7 +154,6 @@ ipq40xx_setup_macs() | |||||||
| 		label_mac=$(mtd_get_mac_binary "ART" 0x1006) | 		label_mac=$(mtd_get_mac_binary "ART" 0x1006) | ||||||
| 		;; | 		;; | ||||||
| 	asus,rt-ac58u) | 	asus,rt-ac58u) | ||||||
| 		CI_UBIPART=UBI_DEV |  | ||||||
| 		wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) | 		wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006) | ||||||
| 		lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006) | 		lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006) | ||||||
| 		label_mac=$wan_mac | 		label_mac=$wan_mac | ||||||
|   | |||||||
| @@ -26,6 +26,9 @@ case "$FIRMWARE" in | |||||||
| 		ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \ | 		ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \ | ||||||
| 			/lib/firmware/ath10k/QCA9888/hw2.0/board.bin | 			/lib/firmware/ath10k/QCA9888/hw2.0/board.bin | ||||||
| 		;; | 		;; | ||||||
|  | 	asus,rt-ac42u) | ||||||
|  | 		caldata_extract_ubi "Factory" 0x9000 0x2f20 | ||||||
|  | 		;; | ||||||
| 	avm,fritzrepeater-3000) | 	avm,fritzrepeater-3000) | ||||||
| 		/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ | 		/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ | ||||||
| 		/usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ | 		/usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ | ||||||
| @@ -81,11 +84,9 @@ case "$FIRMWARE" in | |||||||
| 		caldata_extract "ART" 0x1000 0x2f20 | 		caldata_extract "ART" 0x1000 0x2f20 | ||||||
| 		ath10k_patch_mac $(mtd_get_mac_binary mfginfo 0x1D) | 		ath10k_patch_mac $(mtd_get_mac_binary mfginfo 0x1D) | ||||||
| 		;; | 		;; | ||||||
| 	asus,map-ac2200) | 	asus,map-ac2200 |\ | ||||||
| 		caldata_extract_ubi "Factory" 0x1000 0x2f20 | 	asus,rt-ac42u |\ | ||||||
| 		;; |  | ||||||
| 	asus,rt-ac58u) | 	asus,rt-ac58u) | ||||||
| 		CI_UBIPART=UBI_DEV |  | ||||||
| 		caldata_extract_ubi "Factory" 0x1000 0x2f20 | 		caldata_extract_ubi "Factory" 0x1000 0x2f20 | ||||||
| 		;; | 		;; | ||||||
| 	avm,fritzbox-4040) | 	avm,fritzbox-4040) | ||||||
| @@ -203,11 +204,8 @@ case "$FIRMWARE" in | |||||||
| 		caldata_extract "ART" 0x5000 0x2f20 | 		caldata_extract "ART" 0x5000 0x2f20 | ||||||
| 		ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary mfginfo 0x1D) 1) | 		ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary mfginfo 0x1D) 1) | ||||||
| 		;; | 		;; | ||||||
| 	asus,map-ac2200) | 	asus,map-ac2200 |\ | ||||||
| 		caldata_extract_ubi "Factory" 0x5000 0x2f20 |  | ||||||
| 		;; |  | ||||||
| 	asus,rt-ac58u) | 	asus,rt-ac58u) | ||||||
| 		CI_UBIPART=UBI_DEV |  | ||||||
| 		caldata_extract_ubi "Factory" 0x5000 0x2f20 | 		caldata_extract_ubi "Factory" 0x5000 0x2f20 | ||||||
| 		;; | 		;; | ||||||
| 	avm,fritzbox-4040) | 	avm,fritzbox-4040) | ||||||
|   | |||||||
| @@ -7,6 +7,10 @@ preinit_set_mac_address() { | |||||||
| 		ip link set dev eth0 address $(macaddr_add "$base_mac" 1) | 		ip link set dev eth0 address $(macaddr_add "$base_mac" 1) | ||||||
| 		ip link set dev eth1 address $(macaddr_add "$base_mac" 3) | 		ip link set dev eth1 address $(macaddr_add "$base_mac" 3) | ||||||
| 		;; | 		;; | ||||||
|  | 	asus,rt-ac42u) | ||||||
|  | 		ip link set dev eth0 address $(mtd_get_mac_binary_ubi Factory 0x1006) | ||||||
|  | 		ip link set dev eth1 address $(mtd_get_mac_binary_ubi Factory 0x9006) | ||||||
|  | 		;; | ||||||
| 	engenius,eap2200) | 	engenius,eap2200) | ||||||
| 		base_mac=$(cat /sys/class/net/eth0/address) | 		base_mac=$(cat /sys/class/net/eth0/address) | ||||||
| 		ip link set dev eth1 address $(macaddr_add "$base_mac" 1) | 		ip link set dev eth1 address $(macaddr_add "$base_mac" 1) | ||||||
|   | |||||||
| @@ -3,6 +3,7 @@ set_preinit_iface() { | |||||||
|  |  | ||||||
| 	case $(board_name) in | 	case $(board_name) in | ||||||
| 	aruba,ap-303| \ | 	aruba,ap-303| \ | ||||||
|  | 	asus,rt-ac42u| \ | ||||||
| 	asus,rt-ac58u| \ | 	asus,rt-ac58u| \ | ||||||
| 	avm,fritzbox-4040| \ | 	avm,fritzbox-4040| \ | ||||||
| 	ezviz,cs-w3-wd1200g-eup| \ | 	ezviz,cs-w3-wd1200g-eup| \ | ||||||
|   | |||||||
| @@ -6,8 +6,8 @@ RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock' | |||||||
|  |  | ||||||
| platform_check_image() { | platform_check_image() { | ||||||
| 	case "$(board_name)" in | 	case "$(board_name)" in | ||||||
|  | 	asus,rt-ac42u |\ | ||||||
| 	asus,rt-ac58u) | 	asus,rt-ac58u) | ||||||
| 		CI_UBIPART="UBI_DEV" |  | ||||||
| 		local ubidev=$(nand_find_ubi $CI_UBIPART) | 		local ubidev=$(nand_find_ubi $CI_UBIPART) | ||||||
| 		local asus_root=$(nand_find_volume $ubidev jffs2) | 		local asus_root=$(nand_find_volume $ubidev jffs2) | ||||||
|  |  | ||||||
| @@ -117,8 +117,8 @@ platform_do_upgrade() { | |||||||
| 		CI_KERNPART="linux" | 		CI_KERNPART="linux" | ||||||
| 		nand_do_upgrade "$1" | 		nand_do_upgrade "$1" | ||||||
| 		;; | 		;; | ||||||
|  | 	asus,rt-ac42u |\ | ||||||
| 	asus,rt-ac58u) | 	asus,rt-ac58u) | ||||||
| 		CI_UBIPART="UBI_DEV" |  | ||||||
| 		CI_KERNPART="linux" | 		CI_KERNPART="linux" | ||||||
| 		nand_do_upgrade "$1" | 		nand_do_upgrade "$1" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -225,6 +225,7 @@ CONFIG_LEDS_LP5523=y | |||||||
| CONFIG_LEDS_LP5562=y | CONFIG_LEDS_LP5562=y | ||||||
| CONFIG_LEDS_LP55XX_COMMON=y | CONFIG_LEDS_LP55XX_COMMON=y | ||||||
| CONFIG_LEDS_TLC591XX=y | CONFIG_LEDS_TLC591XX=y | ||||||
|  | CONFIG_LED_TRIGGER_PHY=y | ||||||
| CONFIG_LIBFDT=y | CONFIG_LIBFDT=y | ||||||
| CONFIG_LOCK_DEBUGGING_SUPPORT=y | CONFIG_LOCK_DEBUGGING_SUPPORT=y | ||||||
| CONFIG_LOCK_SPIN_ON_OWNER=y | CONFIG_LOCK_SPIN_ON_OWNER=y | ||||||
|   | |||||||
| @@ -21,10 +21,6 @@ | |||||||
| 		led-upgrade = &led_power; | 		led-upgrade = &led_power; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
| 	chosen { |  | ||||||
| 		bootargs-append = " ubi.mtd=UBI_DEV"; |  | ||||||
| 	}; |  | ||||||
|  |  | ||||||
| 	soc { | 	soc { | ||||||
| 		rng@22000 { | 		rng@22000 { | ||||||
| 			status = "okay"; | 			status = "okay"; | ||||||
| @@ -272,12 +268,7 @@ | |||||||
| 			#size-cells = <1>; | 			#size-cells = <1>; | ||||||
|  |  | ||||||
| 			partition@0 { | 			partition@0 { | ||||||
| 				/* | 				label = "ubi"; | ||||||
| 				 * TODO: change to label = "ubi" once we drop 4.14. |  | ||||||
| 				 *       also drop the bootargs-append and all the |  | ||||||
| 				 *	 userspace CI_UBIPART="UBI_DEV" remains. |  | ||||||
| 				 */ |  | ||||||
| 				label = "UBI_DEV"; |  | ||||||
| 				reg = <0x00000000 0x08000000>; | 				reg = <0x00000000 0x08000000>; | ||||||
| 			}; | 			}; | ||||||
| 		}; | 		}; | ||||||
|   | |||||||
| @@ -0,0 +1,307 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  |  | ||||||
|  | #include "qcom-ipq4019.dtsi" | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
|  | #include <dt-bindings/leds/common.h> | ||||||
|  | #include <dt-bindings/soc/qcom,tcsr.h> | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	model = "ASUS RT-AC42U"; | ||||||
|  | 	compatible = "asus,rt-ac42u"; | ||||||
|  |  | ||||||
|  | 	memory { | ||||||
|  | 		device_type = "memory"; | ||||||
|  | 		reg = <0x80000000 0x10000000>; /* 256MB */ | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		led-boot = &led_power; | ||||||
|  | 		led-failsafe = &led_power; | ||||||
|  | 		led-running = &led_power; | ||||||
|  | 		led-upgrade = &led_power; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	soc { | ||||||
|  | 		rng@22000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio@90000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-psgmii@98000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		tcsr@1949000 { | ||||||
|  | 			compatible = "qcom,tcsr"; | ||||||
|  | 			reg = <0x1949000 0x100>; | ||||||
|  | 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		tcsr@194b000 { | ||||||
|  | 			compatible = "qcom,tcsr"; | ||||||
|  | 			reg = <0x194b000 0x100>; | ||||||
|  | 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess_tcsr@1953000 { | ||||||
|  | 			compatible = "qcom,tcsr"; | ||||||
|  | 			reg = <0x1953000 0x1000>; | ||||||
|  | 			qcom,ess-interface-select = <TCSR_ESS_PSGMII>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		tcsr@1957000 { | ||||||
|  | 			compatible = "qcom,tcsr"; | ||||||
|  | 			reg = <0x1957000 0x100>; | ||||||
|  | 			qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		usb3@8af8800 { | ||||||
|  | 			status = "okay"; | ||||||
|  |  | ||||||
|  | 			dwc3@8a00000 { | ||||||
|  | 				#address-cells = <1>; | ||||||
|  | 				#size-cells = <0>; | ||||||
|  |  | ||||||
|  | 				usb3_port1: port@1 { | ||||||
|  | 					reg = <1>; | ||||||
|  | 					#trigger-source-cells = <0>; | ||||||
|  | 				}; | ||||||
|  |  | ||||||
|  | 				usb3_port2: port@2 { | ||||||
|  | 					reg = <2>; | ||||||
|  | 					#trigger-source-cells = <0>; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		crypto@8e3a000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		watchdog@b017000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-switch@c000000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		edma@c080000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wps { | ||||||
|  | 			label = "wps"; | ||||||
|  | 			gpios = <&tlmm 11 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,code = <KEY_WPS_BUTTON>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		led_power: led-0 { | ||||||
|  | 			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | 			function = LED_FUNCTION_STATUS; | ||||||
|  | 			gpios = <&tlmm 40 GPIO_ACTIVE_LOW>; | ||||||
|  | 			label = "blue:status"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		led-1 { | ||||||
|  | 			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | 			function = LED_FUNCTION_WAN; | ||||||
|  | 			gpios = <&tlmm 61 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "90000.mdio-1:04:link"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		led-2 { | ||||||
|  | 			color = <LED_COLOR_ID_RED>; | ||||||
|  | 			function = LED_FUNCTION_WAN; | ||||||
|  | 			gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "none"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		led-3 { | ||||||
|  | 			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | 			function = LED_FUNCTION_WLAN; | ||||||
|  | 			gpios = <&tlmm 52 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,default-trigger = "phy1tpt"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		led-4 { | ||||||
|  | 			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | 			function = LED_FUNCTION_WLAN; | ||||||
|  | 			gpios = <&tlmm 54 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,default-trigger = "phy0tpt"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		led-5 { | ||||||
|  | 			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | 			function = LED_FUNCTION_LAN; | ||||||
|  | 			gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,default-trigger = "switch0"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		led-6 { | ||||||
|  | 			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | 			function = LED_FUNCTION_LAN; | ||||||
|  | 			gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,default-trigger = "switch0"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		led-7 { | ||||||
|  | 			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | 			function = LED_FUNCTION_LAN; | ||||||
|  | 			gpios = <&tlmm 42 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,default-trigger = "switch0"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		led-8 { | ||||||
|  | 			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | 			function = LED_FUNCTION_LAN; | ||||||
|  | 			gpios = <&tlmm 49 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,default-trigger = "switch0"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &cryptobam { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &blsp_dma { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &qpic_bam { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tlmm { | ||||||
|  | 	serial_0_pins: serial0_pinmux { | ||||||
|  | 		mux { | ||||||
|  | 			pins = "gpio16", "gpio17"; | ||||||
|  | 			function = "blsp_uart0"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	nand_pins: nand_pins { | ||||||
|  | 		pullups { | ||||||
|  | 			pins = "gpio53", "gpio58", "gpio59"; | ||||||
|  | 			function = "qpic"; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		pulldowns { | ||||||
|  | 			pins = "gpio55", "gpio56", "gpio57", "gpio60", | ||||||
|  | 				"gpio62", "gpio63", "gpio64", "gpio65", | ||||||
|  | 				"gpio66", "gpio67", "gpio69"; | ||||||
|  | 			function = "qpic"; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &blsp1_uart1 { | ||||||
|  | 	pinctrl-0 = <&serial_0_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &nand { | ||||||
|  | 	pinctrl-0 = <&nand_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	nand@0 { | ||||||
|  | 		partitions { | ||||||
|  | 			compatible = "fixed-partitions"; | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 			partition@0 { | ||||||
|  | 				label = "SBL1"; | ||||||
|  | 				reg = <0x00000000 0x00080000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  | 			partition@80000 { | ||||||
|  | 				label = "MIBIB"; | ||||||
|  | 				reg = <0x00080000 0x00080000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  | 			partition@100000 { | ||||||
|  | 				label = "QSEE"; | ||||||
|  | 				reg = <0x00100000 0x00100000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  | 			partition@200000 { | ||||||
|  | 				label = "CDT"; | ||||||
|  | 				reg = <0x00200000 0x00080000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  | 			partition@280000 { | ||||||
|  | 				label = "APPSBL"; | ||||||
|  | 				reg = <0x00280000 0x00140000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  | 			partition@3C0000 { | ||||||
|  | 				label = "APPSBLENV"; | ||||||
|  | 				reg = <0x003C0000 0x00040000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  | 			partition@400000 { | ||||||
|  | 				label = "ubi"; | ||||||
|  | 				reg = <0x00400000 0x07C00000>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb3_ss_phy { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb3_hs_phy { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | 	qcom,ath10k-calibration-variant = "ASUS-RT-AC42U"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||||
|  | 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||||
|  | 	clkreq-gpio = <&tlmm 39 GPIO_ACTIVE_LOW>; | ||||||
|  |  | ||||||
|  | 	bridge@0,0 { | ||||||
|  | 		reg = <0x00000000 0 0 0 0>; | ||||||
|  | 		#address-cells = <3>; | ||||||
|  | 		#size-cells = <2>; | ||||||
|  | 		ranges; | ||||||
|  |  | ||||||
|  | 		wifi2: wifi@1,0 { | ||||||
|  | 			compatible = "qcom,ath10k"; | ||||||
|  | 			reg = <0x00010000 0 0 0 0>; | ||||||
|  |  | ||||||
|  | 			qcom,ath10k-calibration-variant = "ASUS-RT-AC42U"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -57,6 +57,10 @@ define Build/append-rutx-metadata | |||||||
| 		}' | fwtool -I - $@ | 		}' | fwtool -I - $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  | define Build/copy-file | ||||||
|  | 	cat "$(1)" > "$@" | ||||||
|  | endef | ||||||
|  |  | ||||||
| define Build/mkmylofw_32m | define Build/mkmylofw_32m | ||||||
| 	$(eval device_id=$(word 1,$(1))) | 	$(eval device_id=$(word 1,$(1))) | ||||||
| 	$(eval revision=$(word 2,$(1))) | 	$(eval revision=$(word 2,$(1))) | ||||||
| @@ -196,6 +200,34 @@ define Device/asus_map-ac2200 | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += asus_map-ac2200 | TARGET_DEVICES += asus_map-ac2200 | ||||||
|  |  | ||||||
|  | # WARNING: this is an initramfs image that gets you half of the way there | ||||||
|  | #          you need to delete the jffs2 ubi volume and sysupgrade to the final image | ||||||
|  | # to get a "trx" you can flash via web UI for ac42u/ac58u: | ||||||
|  | # - change call Device/FitImageLzma to Device/FitImage | ||||||
|  | # - add the following below UIMAGE_NAME | ||||||
|  | #   UIMAGE_MAGIC := 0x27051956 | ||||||
|  | #   IMAGES += factory.trx | ||||||
|  | #   IMAGE/factory.trx := copy-file $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE) | uImage none | ||||||
|  | define Device/asus_rt-ac42u | ||||||
|  | 	$(call Device/FitImageLzma) | ||||||
|  | 	DEVICE_VENDOR := ASUS | ||||||
|  | 	DEVICE_MODEL := RT-AC42U | ||||||
|  | 	DEVICE_ALT0_VENDOR := ASUS | ||||||
|  | 	DEVICE_ALT0_MODEL := RT-ACRH17 | ||||||
|  | 	SOC := qcom-ipq4019 | ||||||
|  | 	BLOCKSIZE := 128k | ||||||
|  | 	PAGESIZE := 2048 | ||||||
|  | 	DTB_SIZE := 65536 | ||||||
|  | 	IMAGE_SIZE := 20439364 | ||||||
|  | 	FILESYSTEMS := squashfs | ||||||
|  | #	RT-AC82U is nowhere to be found online | ||||||
|  | #	Rather, this device is a/k/a RT-AC42U | ||||||
|  | #	But we'll go with what the vendor firmware has... | ||||||
|  | 	UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC82U') | ||||||
|  | 	DEVICE_PACKAGES := ath10k-firmware-qca9984-ct ipq-wifi-asus_rt-ac42u kmod-usb-ledtrig-usbport | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += asus_rt-ac42u | ||||||
|  |  | ||||||
| define Device/asus_rt-ac58u | define Device/asus_rt-ac58u | ||||||
| 	$(call Device/FitImageLzma) | 	$(call Device/FitImageLzma) | ||||||
| 	DEVICE_VENDOR := ASUS | 	DEVICE_VENDOR := ASUS | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org> | |||||||
|  |  | ||||||
| --- a/arch/arm/boot/dts/Makefile | --- a/arch/arm/boot/dts/Makefile | ||||||
| +++ b/arch/arm/boot/dts/Makefile | +++ b/arch/arm/boot/dts/Makefile | ||||||
| @@ -902,11 +902,71 @@ dtb-$(CONFIG_ARCH_QCOM) += \ | @@ -902,11 +902,72 @@ dtb-$(CONFIG_ARCH_QCOM) += \ | ||||||
|  	qcom-apq8074-dragonboard.dtb \ |  	qcom-apq8074-dragonboard.dtb \ | ||||||
|  	qcom-apq8084-ifc6540.dtb \ |  	qcom-apq8084-ifc6540.dtb \ | ||||||
|  	qcom-apq8084-mtp.dtb \ |  	qcom-apq8084-mtp.dtb \ | ||||||
| @@ -65,6 +65,7 @@ Signed-off-by: John Crispin <john@phrozen.org> | |||||||
| +	qcom-ipq4019-r619ac-128m.dtb \ | +	qcom-ipq4019-r619ac-128m.dtb \ | ||||||
| +	qcom-ipq4019-rbr50.dtb \ | +	qcom-ipq4019-rbr50.dtb \ | ||||||
| +	qcom-ipq4019-rbs50.dtb \ | +	qcom-ipq4019-rbs50.dtb \ | ||||||
|  | +	qcom-ipq4019-rt-ac42u.dtb \ | ||||||
| +	qcom-ipq4019-rtl30vw.dtb \ | +	qcom-ipq4019-rtl30vw.dtb \ | ||||||
| +	qcom-ipq4019-srr60.dtb \ | +	qcom-ipq4019-srr60.dtb \ | ||||||
| +	qcom-ipq4019-srs60.dtb \ | +	qcom-ipq4019-srs60.dtb \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user