mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-31 18:38:10 +00:00 
			
		
		
		
	ipq807x: add support for indio um345ax
**SPECIFICATION:**
- Chipset: IPQ8072A+QCN5054+QCN5024+QCA80812
- Flash: NOR-8MB AND NAND-128MB
- Memory: 1Gb DDR
- IEEE 802.11: 802.11ax/ac/b/g/n
- 44 2.4G Wi-Fi standard 802.11b/g/n/ax
- 4*4 5.8G Wi-Fi Standard 802.11 a/n/ac/ax
- 2x 1 Gbps Ethernet (QCA8081) with 802.3at PoE input support
- 1x DC Port 12V 3A
- 4x Antenna IPEX Connector, 3dBi omni antennas
- Data Rate: 3657Mbps ( 2.4G: 1182Mbps (11ax 4x4); 5.8G: 2475Mbps (11ax 4x4))
- RF Power: 2.4g ≤ 20dBm; 5.8g ≤ 19dBm
- Max Power Consumption: ≤ 22W
**BACKUP YOUR STOCK FIRMWARE:**
- Put openwrt-*-initramfs-kernel.bin to your TFTP server and rename it to initramfs.bin
- Enable serial console and enter to u-boot cli and exec these commands:
	```
	tftpboot <your_tftp_server_ip>:initramfs.bin
	bootm
	```
- Once boot completed and you get the openwrt shell execute below commands:
	```
	device=<divice_name>
	mkdir -p /tmp/fw_backup; cd /tmp/fw_backup
	rootfs=$(cat /proc/mtd | grep \"rootfs\" | cut -d: -f1)
	rootfs_1=$(cat /proc/mtd | grep \"rootfs_1\" | cut -d: -f1)
	dd if=/dev/${rootfs} of=rootfs_${rootfs} bs=1M
	dd if=/dev/${rootfs_1} of=rootfs_1_${rootfs_1} bs=1M
	cp /sys/firmware/fdt fdt.dtb
	md5sum * > md5sum
	tar -cvzf /tmp/${device}.tar.gz .
	sum=$(md5sum /tmp/${device}.tar.gz | cut -d' ' -f1)
	mv /tmp/${device}.tar.gz /tmp/${device}_${sum}.tar.gz
	echo "stock fw backup saved to: /tmp/${device}_${sum}.tar.gz"
	```
- Upload/save your backup to a safe place.
**STOCK FIRMWARE RECOVERY:**
- Boot initramfs image
- Upload your backed-up stock fw tarball to the device
	using scp or download it from the device using wget.
- Enter device ssh cli or tty and exec:
	```
	cd /tmp && wget <your_web_server_ip>/${stock_fw_backup}.tar.gz`
	tar -xpzf ${stock_fw_backup}.tar.gz
	rootfs=$(cat /proc/mtd | grep \"rootfs\" | cut -d: -f1)
	rootfs_1=$(cat /proc/mtd | grep \"rootfs_1\" | cut -d: -f1)
	ubiformat /dev/${rootfs} -y -f /tmp/rootfs_${rootfs}
	ubiformat /dev/${rootfs_1} -y -f /tmp/rootfs_1_${rootfs_1}
	reboot
	```
**INSTALLATION:**
1. initramfs method
- Put openwrt-*-initramfs-kernel.bin to your TFTP server and rename it to initramfs.bin
- Enable serial console and enter to u-boot cli and exec these commands:
	```
	tftpboot <your_tftp_server_ip>:initramfs.bin
	bootm
	```
- Once boot completed and you get the openwrt shell execute below commands:
	```
	cd /tmp && wget <your_web_server_ip>/factory.ubi`
	export rootfs=$(cat /proc/mtd | grep rootfs | cut -d: -f1)
	export rootfs_1=$(cat /proc/mtd | grep rootfs_1 | cut -d: -f1)
	ubiformat /dev/${rootfs} -y -f factory.ubi
	ubiformat /dev/${rootfs_1} -y -f factory.ubi
	reboot
	```
2. u-boot nand-factory.bin image method
- Put openwrt-*-squashfs-nand-factory.bin to your TFTP server and enter u-boot cli and exec these commands:
	```
	tftpboot <your_tftp_server_ip>:factory.bin
	#After downloading is finished:
	imxtract 0x44000000 ubi
	flash rootfs
	flash rootfs_1
	reset
	```
Signed-off-by: Shubham Vishwakarma <shubhamvis98@fossfrog.in>
			
			
This commit is contained in:
		 Shubham Vishwakarma
					Shubham Vishwakarma
				
			
				
					committed by
					
						 John Crispin
						John Crispin
					
				
			
			
				
	
			
			
			 John Crispin
						John Crispin
					
				
			
						parent
						
							4713ba9acb
						
					
				
				
					commit
					7beac05946
				
			| @@ -49,6 +49,7 @@ ALLWIFIBOARDS:= \ | |||||||
| 	indio-um-510axm-v1 \ | 	indio-um-510axm-v1 \ | ||||||
| 	indio-um-325ax-v2 \ | 	indio-um-325ax-v2 \ | ||||||
| 	indio-um-335ax \ | 	indio-um-335ax \ | ||||||
|  | 	indio-um-345ax \ | ||||||
| 	indio-um-525axp \ | 	indio-um-525axp \ | ||||||
| 	indio-um-525axm \ | 	indio-um-525axm \ | ||||||
| 	muxi-ap3220l \ | 	muxi-ap3220l \ | ||||||
| @@ -447,6 +448,7 @@ $(eval $(call generate-ath11k-wifi-package,indio-um-510axp-v1,Indio UM-510AXP V1 | |||||||
| $(eval $(call generate-ath11k-wifi-package,indio-um-510axm-v1,Indio UM-510AXM V1)) | $(eval $(call generate-ath11k-wifi-package,indio-um-510axm-v1,Indio UM-510AXM V1)) | ||||||
| $(eval $(call generate-ath11k-wifi-package,indio-um-325ax-v2,Indio UM-325AX V2)) | $(eval $(call generate-ath11k-wifi-package,indio-um-325ax-v2,Indio UM-325AX V2)) | ||||||
| $(eval $(call generate-ath11k-wifi-package,indio-um-335ax,Indio UM-335AX)) | $(eval $(call generate-ath11k-wifi-package,indio-um-335ax,Indio UM-335AX)) | ||||||
|  | $(eval $(call generate-ath11k-wifi-package,indio-um-345ax,Indio UM-345AX)) | ||||||
| $(eval $(call generate-ath11k-wifi-package,indio-um-525axp,Indio UM-525AXP)) | $(eval $(call generate-ath11k-wifi-package,indio-um-525axp,Indio UM-525AXP)) | ||||||
| $(eval $(call generate-ath11k-wifi-package,indio-um-525axm,Indio UM-525AXM)) | $(eval $(call generate-ath11k-wifi-package,indio-um-525axm,Indio UM-525AXM)) | ||||||
| $(eval $(call generate-ath11k-wifi-package,sonicfi-rap630c-311g,Sonicfi RAP630C 311G)) | $(eval $(call generate-ath11k-wifi-package,sonicfi-rap630c-311g,Sonicfi RAP630C 311G)) | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								feeds/ipq807x_v5.4/ath11k-wifi/board-indio-um-345ax.bin.IPQ8074
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/ipq807x_v5.4/ath11k-wifi/board-indio-um-345ax.bin.IPQ8074
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -14,7 +14,8 @@ cig,wf194c4) | |||||||
| 	;; | 	;; | ||||||
| edgecore,eap102|\ | edgecore,eap102|\ | ||||||
| edgecore,oap102|\ | edgecore,oap102|\ | ||||||
| edgecore,oap103) | edgecore,oap103|\ | ||||||
|  | indio,um-345ax) | ||||||
| 	ucidef_set_led_netdev "poe" "poe" "green:wan" "eth0" | 	ucidef_set_led_netdev "poe" "poe" "green:wan" "eth0" | ||||||
|         ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wifi5" "phy0tpt" |         ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wifi5" "phy0tpt" | ||||||
|         ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wifi2" "phy1tpt" |         ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wifi2" "phy1tpt" | ||||||
|   | |||||||
| @@ -18,7 +18,8 @@ qcom_setup_interfaces() | |||||||
| 		ucidef_set_interface_wan "eth0" | 		ucidef_set_interface_wan "eth0" | ||||||
| 		ucidef_set_interface_lan "" | 		ucidef_set_interface_lan "" | ||||||
| 		;; | 		;; | ||||||
| 	cig,wf194c4) | 	cig,wf194c4|\ | ||||||
|  | 	indio,um-345ax) | ||||||
| 		ucidef_set_interface_lan "eth0" | 		ucidef_set_interface_lan "eth0" | ||||||
| 		ucidef_set_interface_wan "eth1" | 		ucidef_set_interface_wan "eth1" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -73,6 +73,7 @@ case "$FIRMWARE" in | |||||||
| 	edgecore,oap103 |\ | 	edgecore,oap103 |\ | ||||||
| 	edgecore,eap106 |\ | 	edgecore,eap106 |\ | ||||||
| 	emplus,wap380c|\ | 	emplus,wap380c|\ | ||||||
|  | 	indio,um-345ax|\ | ||||||
| 	qcom,ipq807x-hk01|\ | 	qcom,ipq807x-hk01|\ | ||||||
| 	qcom,ipq807x-hk14|\ | 	qcom,ipq807x-hk14|\ | ||||||
| 	tplink,ex227|\ | 	tplink,ex227|\ | ||||||
| @@ -107,7 +108,8 @@ ath11k-macs) | |||||||
| 	edgecore,eap102|\ | 	edgecore,eap102|\ | ||||||
| 	edgecore,oap102|\ | 	edgecore,oap102|\ | ||||||
| 	edgecore,oap103|\ | 	edgecore,oap103|\ | ||||||
| 	edgecore,eap106) | 	edgecore,eap106|\ | ||||||
|  | 	indio,um-345ax) | ||||||
| 		ath11k_generate_macs | 		ath11k_generate_macs | ||||||
| 		;; | 		;; | ||||||
| 	cig,wf196) | 	cig,wf196) | ||||||
|   | |||||||
| @@ -30,6 +30,7 @@ platform_check_image() { | |||||||
| 	edgecore,oap103|\ | 	edgecore,oap103|\ | ||||||
| 	edgecore,eap106|\ | 	edgecore,eap106|\ | ||||||
| 	emplus,wap380c|\ | 	emplus,wap380c|\ | ||||||
|  | 	indio,um-345ax|\ | ||||||
| 	sonicfi,rap650c|\ | 	sonicfi,rap650c|\ | ||||||
| 	tplink,ex227|\ | 	tplink,ex227|\ | ||||||
| 	tplink,ex447) | 	tplink,ex447) | ||||||
| @@ -61,7 +62,8 @@ platform_do_upgrade() { | |||||||
| 	tplink,ex447) | 	tplink,ex447) | ||||||
| 		nand_upgrade_tar "$1" | 		nand_upgrade_tar "$1" | ||||||
| 		;; | 		;; | ||||||
| 	edgecore,eap106) | 	edgecore,eap106|\ | ||||||
|  | 	indio,um-345ax) | ||||||
| 		CI_UBIPART="rootfs1" | 		CI_UBIPART="rootfs1" | ||||||
| 		[ "$(find_mtd_chardev rootfs)" ] && CI_UBIPART="rootfs" | 		[ "$(find_mtd_chardev rootfs)" ] && CI_UBIPART="rootfs" | ||||||
| 		nand_upgrade_tar "$1" | 		nand_upgrade_tar "$1" | ||||||
|   | |||||||
| @@ -0,0 +1,713 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-only | ||||||
|  | /* | ||||||
|  |  * Copyright (c) 2020 The Linux Foundation. All rights reserved. | ||||||
|  |  * Copyright (c) 2025, Shubham Vishwakarma <shubhamvis98@fossfrog.in> | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /dts-v1/; | ||||||
|  |  | ||||||
|  | #include "ipq8074.dtsi" | ||||||
|  | #include "ipq8074-ac-cpu.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	#address-cells = <0x2>; | ||||||
|  | 	#size-cells = <0x2>; | ||||||
|  | 	model = "Indio UM-345AX"; | ||||||
|  | 	compatible = "indio,um-345ax", "qcom,ipq807x-hk09", "qcom,ipq807x"; | ||||||
|  | 	qcom,msm-id = <0x178 0x0>; | ||||||
|  | 	interrupt-parent = <&intc>; | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		serial0 = &blsp1_uart5; | ||||||
|  | 		/* Aliases as required by u-boot to patch MAC addresses */ | ||||||
|  | 		ethernet1 = "/soc/dp5"; | ||||||
|  | 		ethernet0 = "/soc/dp6"; | ||||||
|  |  | ||||||
|  | 		led-boot = &led_red; | ||||||
|  | 		led-failsafe = &led_red; | ||||||
|  | 		led-running = &led_green; | ||||||
|  | 		led-upgrade = &led_green; | ||||||
|  | 		led-gateway = &led_blue; | ||||||
|  | 		led-factory = &led_blue; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		stdout-path = "serial0"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	soc { | ||||||
|  | 		pinctrl@1000000 { | ||||||
|  | 			pinctrl-0 = <&mcu_rst &mcu_rsv &usb_rear_pwr &usb_side_pwr &usb_hub_rst>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 			mcu_rst: mcu_rst_pins { | ||||||
|  | 				pins = "gpio54"; | ||||||
|  | 				function = "gpio"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 				output-low; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			mcu_rsv: mcu_rsv_pins { | ||||||
|  | 				pins = "gpio56"; | ||||||
|  | 				function = "gpio"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			usb_rear_pwr: usb_rear_pwr_pins { | ||||||
|  | 				pins = "gpio29"; | ||||||
|  | 				function = "gpio"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 				output-high; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			usb_side_pwr: usb_side_pwr_pins { | ||||||
|  | 				pins = "gpio30"; | ||||||
|  | 				function = "gpio"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 				output-high; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			usb_hub_rst: usb_hub_rst_pins { | ||||||
|  | 				pins = "gpio55"; | ||||||
|  | 				function = "gpio"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 				output-high; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			button_pins: button_pins { | ||||||
|  | 				reset_button { | ||||||
|  | 					pins = "gpio57"; | ||||||
|  | 					function = "gpio"; | ||||||
|  | 					drive-strength = <8>; | ||||||
|  | 					bias-pull-up; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			mdio_pins: mdio_pinmux { | ||||||
|  | 				mux_0 { | ||||||
|  | 					pins = "gpio68"; | ||||||
|  | 					function = "mdc"; | ||||||
|  | 					drive-strength = <8>; | ||||||
|  | 					bias-pull-up; | ||||||
|  | 				}; | ||||||
|  | 				mux_1 { | ||||||
|  | 					pins = "gpio69"; | ||||||
|  | 					function = "mdio"; | ||||||
|  | 					drive-strength = <8>; | ||||||
|  | 					bias-pull-up; | ||||||
|  | 				}; | ||||||
|  | 				mux_2 { | ||||||
|  | 					pins = "gpio25"; | ||||||
|  | 					function = "gpio"; | ||||||
|  | 					bias-pull-up; | ||||||
|  | 				}; | ||||||
|  | 				mux_3 { | ||||||
|  | 					pins = "gpio44"; | ||||||
|  | 					function = "gpio"; | ||||||
|  | 					bias-pull-up; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 			led_pins: led_pins { | ||||||
|  | 				led_red { | ||||||
|  | 					pins = "gpio0"; | ||||||
|  | 					function = "gpio"; | ||||||
|  | 					drive-strength = <8>; | ||||||
|  | 					bias-pull-down; | ||||||
|  | 				}; | ||||||
|  |  | ||||||
|  | 				led_2g { | ||||||
|  | 					pins = "gpio2"; | ||||||
|  | 					function = "gpio"; | ||||||
|  | 					drive-strength = <8>; | ||||||
|  | 					bias-pull-down; | ||||||
|  | 				}; | ||||||
|  |  | ||||||
|  | 				led_5g { | ||||||
|  | 					pins = "gpio9"; | ||||||
|  | 					function = "gpio"; | ||||||
|  | 					drive-strength = <8>; | ||||||
|  | 					bias-pull-down; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		serial@78b3000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		spi@78b5000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 			pinctrl-0 = <&spi_0_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			cs-select = <0>; | ||||||
|  |  | ||||||
|  | 			m25p80@0 { | ||||||
|  | 				  compatible = "n25q128a11"; | ||||||
|  | 				  #address-cells = <1>; | ||||||
|  | 				  #size-cells = <1>; | ||||||
|  | 				  reg = <0>; | ||||||
|  | 				  spi-max-frequency = <50000000>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dma@7984000 { | ||||||
|  | 			 status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		nand@79b0000 { | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			nand@0 { | ||||||
|  | 				reg = <0>; | ||||||
|  | 				#address-cells = <1>; | ||||||
|  | 				#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 				nand-ecc-strength = <4>; | ||||||
|  | 				nand-ecc-step-size = <512>; | ||||||
|  | 				nand-bus-width = <8>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qusb@79000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ssphy@78000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		usb3@8A00000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		usb3@8C00000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qusb@59000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ssphy@58000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		usb3@8C00000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		gpio_keys { | ||||||
|  | 			compatible = "gpio-keys"; | ||||||
|  | 			pinctrl-0 = <&button_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			button@1 { | ||||||
|  | 				label = "reset"; | ||||||
|  | 				linux,code = <KEY_RESTART>; | ||||||
|  | 				gpios = <&tlmm 57 GPIO_ACTIVE_LOW>; | ||||||
|  | 				linux,input-type = <1>; | ||||||
|  | 				debounce-interval = <60>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio: mdio@90000 { | ||||||
|  | 			pinctrl-0 = <&mdio_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			phy-reset-gpio = <&tlmm 37 0 &tlmm 25 1 &tlmm 44 1>; | ||||||
|  | 			phy0: ethernet-phy@0 { | ||||||
|  | 				reg = <0>; | ||||||
|  | 			}; | ||||||
|  | 			phy1: ethernet-phy@1 { | ||||||
|  | 				reg = <1>; | ||||||
|  | 			}; | ||||||
|  | 			phy2: ethernet-phy@2 { | ||||||
|  | 				reg = <2>; | ||||||
|  | 			}; | ||||||
|  | 			phy3: ethernet-phy@3 { | ||||||
|  | 				reg = <3>; | ||||||
|  | 			}; | ||||||
|  | 			phy4: ethernet-phy@4 { | ||||||
|  | 				reg = <24>; | ||||||
|  | 			}; | ||||||
|  | 			phy5: ethernet-phy@5 { | ||||||
|  | 				reg = <28>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-switch@3a000000 { | ||||||
|  | 			switch_cpu_bmp = <0x1>;  /* cpu port bitmap */ | ||||||
|  | 			switch_lan_bmp = <0x3e>; /* lan port bitmap */ | ||||||
|  | 			switch_wan_bmp = <0x40>; /* wan port bitmap */ | ||||||
|  | 			switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ | ||||||
|  | 			switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/ | ||||||
|  | 			switch_mac_mode2 = <0xf>; /* mac mode for uniphy instance2*/ | ||||||
|  | 			bm_tick_mode = <0>; /* bm tick mode */ | ||||||
|  | 			tm_tick_mode = <0>; /* tm tick mode */ | ||||||
|  | 			qcom,port_phyinfo { | ||||||
|  | 				port@0 { | ||||||
|  | 					port_id = <1>; | ||||||
|  | 					phy_address = <0>; | ||||||
|  | 				}; | ||||||
|  | 				port@1 { | ||||||
|  | 					port_id = <2>; | ||||||
|  | 					phy_address = <1>; | ||||||
|  | 				}; | ||||||
|  | 				port@2 { | ||||||
|  | 					port_id = <3>; | ||||||
|  | 					phy_address = <2>; | ||||||
|  | 				}; | ||||||
|  | 				port@3 { | ||||||
|  | 					port_id = <4>; | ||||||
|  | 					phy_address = <3>; | ||||||
|  | 				}; | ||||||
|  | 				port@4 { | ||||||
|  | 					port_id = <5>; | ||||||
|  | 					phy_address = <24>; | ||||||
|  | 					port_mac_sel = "QGMAC_PORT"; | ||||||
|  | 				}; | ||||||
|  | 				port@5 { | ||||||
|  | 					port_id = <6>; | ||||||
|  | 					phy_address = <28>; | ||||||
|  | 					port_mac_sel = "QGMAC_PORT"; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 			port_scheduler_resource { | ||||||
|  | 				port@0 { | ||||||
|  | 					port_id = <0>; | ||||||
|  | 					ucast_queue = <0 143>; | ||||||
|  | 					mcast_queue = <256 271>; | ||||||
|  | 					l0sp = <0 35>; | ||||||
|  | 					l0cdrr = <0 47>; | ||||||
|  | 					l0edrr = <0 47>; | ||||||
|  | 					l1cdrr = <0 7>; | ||||||
|  | 					l1edrr = <0 7>; | ||||||
|  | 				}; | ||||||
|  | 				port@1 { | ||||||
|  | 					port_id = <1>; | ||||||
|  | 					ucast_queue = <144 159>; | ||||||
|  | 					mcast_queue = <272 275>; | ||||||
|  | 					l0sp = <36 39>; | ||||||
|  | 					l0cdrr = <48 63>; | ||||||
|  | 					l0edrr = <48 63>; | ||||||
|  | 					l1cdrr = <8 11>; | ||||||
|  | 					l1edrr = <8 11>; | ||||||
|  | 				}; | ||||||
|  | 				port@2 { | ||||||
|  | 					port_id = <2>; | ||||||
|  | 					ucast_queue = <160 175>; | ||||||
|  | 					mcast_queue = <276 279>; | ||||||
|  | 					l0sp = <40 43>; | ||||||
|  | 					l0cdrr = <64 79>; | ||||||
|  | 					l0edrr = <64 79>; | ||||||
|  | 					l1cdrr = <12 15>; | ||||||
|  | 					l1edrr = <12 15>; | ||||||
|  | 				}; | ||||||
|  | 				port@3 { | ||||||
|  | 					port_id = <3>; | ||||||
|  | 					ucast_queue = <176 191>; | ||||||
|  | 					mcast_queue = <280 283>; | ||||||
|  | 					l0sp = <44 47>; | ||||||
|  | 					l0cdrr = <80 95>; | ||||||
|  | 					l0edrr = <80 95>; | ||||||
|  | 					l1cdrr = <16 19>; | ||||||
|  | 					l1edrr = <16 19>; | ||||||
|  | 				}; | ||||||
|  | 				port@4 { | ||||||
|  | 					port_id = <4>; | ||||||
|  | 					ucast_queue = <192 207>; | ||||||
|  | 					mcast_queue = <284 287>; | ||||||
|  | 					l0sp = <48 51>; | ||||||
|  | 					l0cdrr = <96 111>; | ||||||
|  | 					l0edrr = <96 111>; | ||||||
|  | 					l1cdrr = <20 23>; | ||||||
|  | 					l1edrr = <20 23>; | ||||||
|  | 				}; | ||||||
|  | 				port@5 { | ||||||
|  | 					port_id = <5>; | ||||||
|  | 					ucast_queue = <208 223>; | ||||||
|  | 					mcast_queue = <288 291>; | ||||||
|  | 					l0sp = <52 55>; | ||||||
|  | 					l0cdrr = <112 127>; | ||||||
|  | 					l0edrr = <112 127>; | ||||||
|  | 					l1cdrr = <24 27>; | ||||||
|  | 					l1edrr = <24 27>; | ||||||
|  | 				}; | ||||||
|  | 				port@6 { | ||||||
|  | 					port_id = <6>; | ||||||
|  | 					ucast_queue = <224 239>; | ||||||
|  | 					mcast_queue = <292 295>; | ||||||
|  | 					l0sp = <56 59>; | ||||||
|  | 					l0cdrr = <128 143>; | ||||||
|  | 					l0edrr = <128 143>; | ||||||
|  | 					l1cdrr = <28 31>; | ||||||
|  | 					l1edrr = <28 31>; | ||||||
|  | 				}; | ||||||
|  | 				port@7 { | ||||||
|  | 					port_id = <7>; | ||||||
|  | 					ucast_queue = <240 255>; | ||||||
|  | 					mcast_queue = <296 299>; | ||||||
|  | 					l0sp = <60 63>; | ||||||
|  | 					l0cdrr = <144 159>; | ||||||
|  | 					l0edrr = <144 159>; | ||||||
|  | 					l1cdrr = <32 35>; | ||||||
|  | 					l1edrr = <32 35>; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 			port_scheduler_config { | ||||||
|  | 				port@0 { | ||||||
|  | 					port_id = <0>; | ||||||
|  | 					l1scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							sp = <0 1>; /*L0 SPs*/ | ||||||
|  | 							/*cpri cdrr epri edrr*/ | ||||||
|  | 							cfg = <0 0 0 0>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 					l0scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							/*unicast queues*/ | ||||||
|  | 							ucast_queue = <0 4 8>; | ||||||
|  | 							/*multicast queues*/ | ||||||
|  | 							mcast_queue = <256 260>; | ||||||
|  | 							/*sp cpri cdrr epri edrr*/ | ||||||
|  | 							cfg = <0 0 0 0 0>; | ||||||
|  | 						}; | ||||||
|  | 						group@1 { | ||||||
|  | 							ucast_queue = <1 5 9>; | ||||||
|  | 							mcast_queue = <257 261>; | ||||||
|  | 							cfg = <0 1 1 1 1>; | ||||||
|  | 						}; | ||||||
|  | 						group@2 { | ||||||
|  | 							ucast_queue = <2 6 10>; | ||||||
|  | 							mcast_queue = <258 262>; | ||||||
|  | 							cfg = <0 2 2 2 2>; | ||||||
|  | 						}; | ||||||
|  | 						group@3 { | ||||||
|  | 							ucast_queue = <3 7 11>; | ||||||
|  | 							mcast_queue = <259 263>; | ||||||
|  | 							cfg = <0 3 3 3 3>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				port@1 { | ||||||
|  | 					port_id = <1>; | ||||||
|  | 					l1scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							sp = <36>; | ||||||
|  | 							cfg = <0 8 0 8>; | ||||||
|  | 						}; | ||||||
|  | 						group@1 { | ||||||
|  | 							sp = <37>; | ||||||
|  | 							cfg = <1 9 1 9>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 					l0scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							ucast_queue = <144>; | ||||||
|  | 							ucast_loop_pri = <16>; | ||||||
|  | 							mcast_queue = <272>; | ||||||
|  | 							mcast_loop_pri = <4>; | ||||||
|  | 							cfg = <36 0 48 0 48>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				port@2 { | ||||||
|  | 					port_id = <2>; | ||||||
|  | 					l1scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							sp = <40>; | ||||||
|  | 							cfg = <0 12 0 12>; | ||||||
|  | 						}; | ||||||
|  | 						group@1 { | ||||||
|  | 							sp = <41>; | ||||||
|  | 							cfg = <1 13 1 13>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 					l0scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							ucast_queue = <160>; | ||||||
|  | 							ucast_loop_pri = <16>; | ||||||
|  | 							mcast_queue = <276>; | ||||||
|  | 							mcast_loop_pri = <4>; | ||||||
|  | 							cfg = <40 0 64 0 64>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				port@3 { | ||||||
|  | 					port_id = <3>; | ||||||
|  | 					l1scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							sp = <44>; | ||||||
|  | 							cfg = <0 16 0 16>; | ||||||
|  | 						}; | ||||||
|  | 						group@1 { | ||||||
|  | 							sp = <45>; | ||||||
|  | 							cfg = <1 17 1 17>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 					l0scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							ucast_queue = <176>; | ||||||
|  | 							ucast_loop_pri = <16>; | ||||||
|  | 							mcast_queue = <280>; | ||||||
|  | 							mcast_loop_pri = <4>; | ||||||
|  | 							cfg = <44 0 80 0 80>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				port@4 { | ||||||
|  | 					port_id = <4>; | ||||||
|  | 					l1scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							sp = <48>; | ||||||
|  | 							cfg = <0 20 0 20>; | ||||||
|  | 						}; | ||||||
|  | 						group@1 { | ||||||
|  | 							sp = <49>; | ||||||
|  | 							cfg = <1 21 1 21>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 					l0scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							ucast_queue = <192>; | ||||||
|  | 							ucast_loop_pri = <16>; | ||||||
|  | 							mcast_queue = <284>; | ||||||
|  | 							mcast_loop_pri = <4>; | ||||||
|  | 							cfg = <48 0 96 0 96>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				port@5 { | ||||||
|  | 					port_id = <5>; | ||||||
|  | 					l1scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							sp = <52>; | ||||||
|  | 							cfg = <0 24 0 24>; | ||||||
|  | 						}; | ||||||
|  | 						group@1 { | ||||||
|  | 							sp = <53>; | ||||||
|  | 							cfg = <1 25 1 25>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 					l0scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							ucast_queue = <208>; | ||||||
|  | 							ucast_loop_pri = <16>; | ||||||
|  | 							mcast_queue = <288>; | ||||||
|  | 							mcast_loop_pri = <4>; | ||||||
|  | 							cfg = <52 0 112 0 112>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				port@6 { | ||||||
|  | 					port_id = <6>; | ||||||
|  | 					l1scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							sp = <56>; | ||||||
|  | 							cfg = <0 28 0 28>; | ||||||
|  | 						}; | ||||||
|  | 						group@1 { | ||||||
|  | 							sp = <57>; | ||||||
|  | 							cfg = <1 29 1 29>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 					l0scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							ucast_queue = <224>; | ||||||
|  | 							ucast_loop_pri = <16>; | ||||||
|  | 							mcast_queue = <292>; | ||||||
|  | 							mcast_loop_pri = <4>; | ||||||
|  | 							cfg = <56 0 128 0 128>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				port@7 { | ||||||
|  | 					port_id = <7>; | ||||||
|  | 					l1scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							sp = <60>; | ||||||
|  | 							cfg = <0 32 0 32>; | ||||||
|  | 						}; | ||||||
|  | 						group@1 { | ||||||
|  | 							sp = <61>; | ||||||
|  | 							cfg = <1 33 1 33>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 					l0scheduler { | ||||||
|  | 						group@0 { | ||||||
|  | 							ucast_queue = <240>; | ||||||
|  | 							ucast_loop_pri = <16>; | ||||||
|  | 							mcast_queue = <296>; | ||||||
|  | 							cfg = <60 0 144 0 144>; | ||||||
|  | 						}; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp6 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			qcom,id = <6>; | ||||||
|  | 			reg = <0x3a001800 0x200>; | ||||||
|  | 			qcom,mactype = <0>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			qcom,link-poll = <1>; | ||||||
|  | 			qcom,phy-mdio-addr = <28>; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp5 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			qcom,id = <5>; | ||||||
|  | 			reg = <0x3a001a00 0x200>; | ||||||
|  | 			qcom,mactype = <0>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			qcom,link-poll = <1>; | ||||||
|  | 			qcom,phy-mdio-addr = <24>; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		leds { | ||||||
|  | 			compatible = "gpio-leds"; | ||||||
|  | 			pinctrl-0 = <&led_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 			led_red: led_sys { | ||||||
|  | 				label = "led_sys"; | ||||||
|  | 				gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||||
|  | 				default-state = "off"; | ||||||
|  | 				linux,default-trigger = "led_pwr"; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			led_green: led_2g { | ||||||
|  | 				label = "led_2g"; | ||||||
|  | 				gpio = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||||
|  | 				default-state = "off"; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			led_blue: led_5g { | ||||||
|  | 				label = "led_5g"; | ||||||
|  | 				gpio = <&tlmm 9 GPIO_ACTIVE_HIGH>; | ||||||
|  | 				default-state = "off"; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 		nss-macsec0 { | ||||||
|  | 			compatible = "qcom,nss-macsec"; | ||||||
|  | 			phy_addr = <0x18>; | ||||||
|  | 			mdiobus = <&mdio>; | ||||||
|  | 		}; | ||||||
|  | 		nss-macsec1 { | ||||||
|  | 			compatible = "qcom,nss-macsec"; | ||||||
|  | 			phy_addr = <0x1c>; | ||||||
|  | 			mdiobus = <&mdio>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &apc_cpr { | ||||||
|  | 	/* Same CPR configuration as OAK */ | ||||||
|  | 	compatible = "qcom,cpr4-ipq817x-apss-regulator"; | ||||||
|  |  | ||||||
|  | 	thread@0 { | ||||||
|  | 		apc_vreg: regulator { | ||||||
|  | 			regulator-min-microvolt = <1>; | ||||||
|  | 			regulator-max-microvolt = <2>; | ||||||
|  | 			qcom,cpr-fuse-corners = <2>; | ||||||
|  | 			qcom,cpr-corners = <3>; | ||||||
|  | 			qcom,cpr-speed-bin-corners = <3>; | ||||||
|  | 			qcom,cpr-corner-fmax-map = <1 3>; | ||||||
|  |  | ||||||
|  | 			qcom,cpr-voltage-ceiling = | ||||||
|  | 				<840000 904000 944000>; | ||||||
|  | 			qcom,cpr-voltage-floor = | ||||||
|  | 				<592000 648000 712000>; | ||||||
|  | 			qcom,corner-frequencies = | ||||||
|  | 				<1017600000 1382400000 1382400000>; | ||||||
|  |  | ||||||
|  | 			qcom,cpr-open-loop-voltage-fuse-adjustment-0 = | ||||||
|  | 				/* Speed bin 0; CPR rev 0..7 */ | ||||||
|  | 				< 0      0>, | ||||||
|  | 				< 0      0>, | ||||||
|  | 				< 0      0>, | ||||||
|  | 				< 0      0>, | ||||||
|  | 				< 0      0>, | ||||||
|  | 				< 0      0>, | ||||||
|  | 				< 0      0>, | ||||||
|  | 				< 0      0>; | ||||||
|  |  | ||||||
|  | 			qcom,cpr-open-loop-voltage-fuse-adjustment-1 = | ||||||
|  | 				/* Speed bin 0; CPR rev 0..7 */ | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				< 20000  26000>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>; | ||||||
|  |  | ||||||
|  | 			qcom,cpr-open-loop-voltage-fuse-adjustment-v2-0 = | ||||||
|  | 				/* Speed bin 0; CPR rev 0..7 */ | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>; | ||||||
|  |  | ||||||
|  | 			qcom,cpr-open-loop-voltage-fuse-adjustment-v2-1 = | ||||||
|  | 				/* Speed bin 0; CPR rev 0..7 */ | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0   7000>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>, | ||||||
|  | 				<     0      0>; | ||||||
|  |  | ||||||
|  | 			qcom,cpr-floor-to-ceiling-max-range = | ||||||
|  | 				< 40000 40000 40000>, | ||||||
|  | 				< 40000 40000 40000>, | ||||||
|  | 				< 40000 40000 40000>, | ||||||
|  | 				< 40000 40000 40000>, | ||||||
|  | 				< 40000 40000 40000>, | ||||||
|  | 				< 40000 40000 40000>, | ||||||
|  | 				< 40000 40000 40000>, | ||||||
|  | 				< 40000 40000 40000>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &npu_cpr { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &nss0 { | ||||||
|  |         qcom,low-frequency = <187200000>; | ||||||
|  |         qcom,mid-frequency = <748800000>; | ||||||
|  |         qcom,max-frequency = <1497600000>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &nss0 { | ||||||
|  | 	npu-supply = <&dummy_reg>; | ||||||
|  | 	mx-supply = <&dummy_reg>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi0 { | ||||||
|  | 	qcom,board_id = <0x92>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi1 { | ||||||
|  | 	qcom,board_id = <0x292>; | ||||||
|  | }; | ||||||
| @@ -66,6 +66,15 @@ define Device/emplus_wap380c | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += emplus_wap380c | TARGET_DEVICES += emplus_wap380c | ||||||
|  |  | ||||||
|  | define Device/indio_um-345ax | ||||||
|  |   DEVICE_TITLE := Indio UM-345AX | ||||||
|  |   DEVICE_DTS := qcom-ipq807x-indio-um-345ax | ||||||
|  |   DEVICE_DTS_CONFIG=config@hk09 | ||||||
|  |   SUPPORTED_DEVICES := indio,um-345ax | ||||||
|  |   DEVICE_PACKAGES := ath11k-wifi-indio-um-345ax uboot-envtools | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += indio_um-345ax | ||||||
|  |  | ||||||
| define Device/sonicfi_rap650c | define Device/sonicfi_rap650c | ||||||
|   DEVICE_TITLE := SonicFi RAP650C |   DEVICE_TITLE := SonicFi RAP650C | ||||||
|   DEVICE_DTS := qcom-ipq807x-rap650c |   DEVICE_DTS := qcom-ipq807x-rap650c | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								profiles/indio_um-345ax.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								profiles/indio_um-345ax.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | --- | ||||||
|  | profile: indio_um-345ax | ||||||
|  | target: ipq807x | ||||||
|  | subtarget: generic | ||||||
|  | description: Build image for the Indio UM-345AX | ||||||
|  | image: bin/targets/ipq807x/generic/openwrt-ipq807x-indio_um-345ax-squashfs-sysupgrade.tar | ||||||
|  | feeds: | ||||||
|  |   - name: ipq807x | ||||||
|  |     path: ../../feeds/ipq807x_v5.4 | ||||||
|  | include: | ||||||
|  |   - ucentral-ap | ||||||
|  | packages: | ||||||
|  |   - ipq807x | ||||||
|  | diffconfig: | | ||||||
|  |   CONFIG_KERNEL_IPQ_MEM_PROFILE=0 | ||||||
		Reference in New Issue
	
	Block a user