mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-11-04 12:28:10 +00:00 
			
		
		
		
	Compare commits
	
		
			9 Commits
		
	
	
		
			v4.1.1-RC1
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					8304f3897b | ||
| 
						 | 
					7beac05946 | ||
| 
						 | 
					4713ba9acb | ||
| 
						 | 
					1a3955554a | ||
| 
						 | 
					427ad99151 | ||
| 
						 | 
					02ed19e3ac | ||
| 
						 | 
					60968f8c89 | ||
| 
						 | 
					207a592896 | ||
| 
						 | 
					1bae90f681 | 
@@ -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.
										
									
								
							@@ -27,6 +27,7 @@ DEFAULT_PACKAGES += kmod-qca-nss-dp kmod-qca-ssdk swconfig \
 | 
				
			|||||||
	kmod-ath11k-ahb  ath11k-firmware-ipq5018 \
 | 
						kmod-ath11k-ahb  ath11k-firmware-ipq5018 \
 | 
				
			||||||
	kmod-gpio-button-hotplug iwinfo \
 | 
						kmod-gpio-button-hotplug iwinfo \
 | 
				
			||||||
	qca-ssdk-shell kmod-bootconfig \
 | 
						qca-ssdk-shell kmod-bootconfig \
 | 
				
			||||||
	uboot-envtools -procd-ujail
 | 
						uboot-envtools -procd-ujail \
 | 
				
			||||||
 | 
						kmod-mdio-qca
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(eval $(call BuildTarget))
 | 
					$(eval $(call BuildTarget))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -635,7 +635,7 @@ CONFIG_MDIO_BITBANG=y
 | 
				
			|||||||
CONFIG_MDIO_BOARDINFO=y
 | 
					CONFIG_MDIO_BOARDINFO=y
 | 
				
			||||||
# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
 | 
					# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
 | 
				
			||||||
CONFIG_MDIO_GPIO=y
 | 
					CONFIG_MDIO_GPIO=y
 | 
				
			||||||
CONFIG_MDIO_QCA=y
 | 
					CONFIG_MDIO_QCA=m
 | 
				
			||||||
# CONFIG_MDM_GCC_9615 is not set
 | 
					# CONFIG_MDM_GCC_9615 is not set
 | 
				
			||||||
# CONFIG_MDM_LCC_9615 is not set
 | 
					# CONFIG_MDM_LCC_9615 is not set
 | 
				
			||||||
# CONFIG_MEMORY_HOTPLUG is not set
 | 
					# CONFIG_MEMORY_HOTPLUG is not set
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -391,8 +391,8 @@
 | 
				
			|||||||
				mdio-bus = <&mdio1>;
 | 
									mdio-bus = <&mdio1>;
 | 
				
			||||||
				reset_gpio = <&tlmm 0x26 0>;
 | 
									reset_gpio = <&tlmm 0x26 0>;
 | 
				
			||||||
				switch_cpu_bmp = <0x40>;  /* cpu port bitmap (Port 6 GMAC) */
 | 
									switch_cpu_bmp = <0x40>;  /* cpu port bitmap (Port 6 GMAC) */
 | 
				
			||||||
				switch_lan_bmp = <0x3c>; /* lan port bitmap */
 | 
									switch_lan_bmp = <0x1c>; /* lan port bitmap */
 | 
				
			||||||
				switch_wan_bmp = <0x0>;  /* wan port bitmap */
 | 
									switch_wan_bmp = <0x20>;  /* wan port bitmap */
 | 
				
			||||||
				qca,ar8327-initvals = <
 | 
									qca,ar8327-initvals = <
 | 
				
			||||||
						0x00004 0x7600000   /* PAD0_MODE */
 | 
											0x00004 0x7600000   /* PAD0_MODE */
 | 
				
			||||||
						0x00008 0x1000000   /* PAD5_MODE */
 | 
											0x00008 0x1000000   /* PAD5_MODE */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -408,8 +408,8 @@
 | 
				
			|||||||
				mdio-bus = <&mdio1>;
 | 
									mdio-bus = <&mdio1>;
 | 
				
			||||||
				reset_gpio = <&tlmm 0x26 0>;
 | 
									reset_gpio = <&tlmm 0x26 0>;
 | 
				
			||||||
				switch_cpu_bmp = <0x40>;  /* cpu port bitmap (Port 6 GMAC) */
 | 
									switch_cpu_bmp = <0x40>;  /* cpu port bitmap (Port 6 GMAC) */
 | 
				
			||||||
				switch_lan_bmp = <0x3c>; /* lan port bitmap */
 | 
									switch_lan_bmp = <0x1c>; /* lan port bitmap */
 | 
				
			||||||
				switch_wan_bmp = <0x0>;  /* wan port bitmap */
 | 
									switch_wan_bmp = <0x20>;  /* wan port bitmap */
 | 
				
			||||||
				qca,ar8327-initvals = <
 | 
									qca,ar8327-initvals = <
 | 
				
			||||||
						0x00004 0x7600000   /* PAD0_MODE */
 | 
											0x00004 0x7600000   /* PAD0_MODE */
 | 
				
			||||||
						0x00008 0x1000000   /* PAD5_MODE */
 | 
											0x00008 0x1000000   /* PAD5_MODE */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -242,3 +242,17 @@ define KernelPackage/bootconfig/description
 | 
				
			|||||||
endef
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(eval $(call KernelPackage,bootconfig))
 | 
					$(eval $(call KernelPackage,bootconfig))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define KernelPackage/mdio-qca
 | 
				
			||||||
 | 
					  SUBMENU:=$(NETWORK_DEVICES_MENU)
 | 
				
			||||||
 | 
					  TITLE:=Model for MDIO to QCA PHY connection
 | 
				
			||||||
 | 
					  KCONFIG:=CONFIG_MDIO_QCA
 | 
				
			||||||
 | 
					  FILES:=$(LINUX_DIR)/drivers/net/phy/mdio-qca.ko
 | 
				
			||||||
 | 
					  AUTOLOAD:=$(call AutoLoad,30,mdio-qca)
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define KernelPackage/mdio-qca/description
 | 
				
			||||||
 | 
					 This driver supports the MDIO interface found in Qualcomm Atheros ipq Soc chip.
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(eval $(call KernelPackage,mdio-qca))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,6 +20,7 @@ qcom_setup_interfaces()
 | 
				
			|||||||
		ucidef_set_interface_wan "eth0 eth1"
 | 
							ucidef_set_interface_wan "eth0 eth1"
 | 
				
			||||||
		ucidef_set_interface_lan ""
 | 
							ucidef_set_interface_lan ""
 | 
				
			||||||
		;;
 | 
							;;
 | 
				
			||||||
 | 
						indio,um-310ax-v1|\
 | 
				
			||||||
	yuncore,ax840)
 | 
						yuncore,ax840)
 | 
				
			||||||
		ucidef_set_interface_lan "eth0"
 | 
							ucidef_set_interface_lan "eth0"
 | 
				
			||||||
		ucidef_set_interface_wan "eth1"
 | 
							ucidef_set_interface_wan "eth1"
 | 
				
			||||||
@@ -79,6 +80,7 @@ qcom_setup_macs()
 | 
				
			|||||||
	emplus,wap386v2)
 | 
						emplus,wap386v2)
 | 
				
			||||||
		wan_mac=$(cat /sys/class/net/eth0/address)
 | 
							wan_mac=$(cat /sys/class/net/eth0/address)
 | 
				
			||||||
		;;
 | 
							;;
 | 
				
			||||||
 | 
						indio,um-310ax-v1|\
 | 
				
			||||||
	yuncore,ax840)
 | 
						yuncore,ax840)
 | 
				
			||||||
		wan_mac=$(cat /sys/class/net/eth1/address)
 | 
							wan_mac=$(cat /sys/class/net/eth1/address)
 | 
				
			||||||
		lan_mac=$(macaddr_add "$wan_mac" 1)
 | 
							lan_mac=$(macaddr_add "$wan_mac" 1)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -82,6 +82,7 @@ case "$FIRMWARE" in
 | 
				
			|||||||
	hfcl,ion4x_2|\
 | 
						hfcl,ion4x_2|\
 | 
				
			||||||
	hfcl,ion4x_3|\
 | 
						hfcl,ion4x_3|\
 | 
				
			||||||
	hfcl,ion4xe|\
 | 
						hfcl,ion4xe|\
 | 
				
			||||||
 | 
						indio,um-310ax-v1|\
 | 
				
			||||||
	wallys,dr6018|\
 | 
						wallys,dr6018|\
 | 
				
			||||||
	wallys,dr6018-v4|\
 | 
						wallys,dr6018-v4|\
 | 
				
			||||||
	yuncore,ax840|\
 | 
						yuncore,ax840|\
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -119,6 +119,7 @@ platform_check_image() {
 | 
				
			|||||||
	cig,wf196|\
 | 
						cig,wf196|\
 | 
				
			||||||
	glinet,ax1800|\
 | 
						glinet,ax1800|\
 | 
				
			||||||
	glinet,axt1800|\
 | 
						glinet,axt1800|\
 | 
				
			||||||
 | 
						indio,um-310ax-v1|\
 | 
				
			||||||
	wallys,dr6018|\
 | 
						wallys,dr6018|\
 | 
				
			||||||
	wallys,dr6018-v4|\
 | 
						wallys,dr6018-v4|\
 | 
				
			||||||
	edgecore,eap101|\
 | 
						edgecore,eap101|\
 | 
				
			||||||
@@ -156,6 +157,7 @@ platform_do_upgrade() {
 | 
				
			|||||||
		;;
 | 
							;;
 | 
				
			||||||
	glinet,ax1800|\
 | 
						glinet,ax1800|\
 | 
				
			||||||
	glinet,axt1800|\
 | 
						glinet,axt1800|\
 | 
				
			||||||
 | 
						indio,um-310ax-v1|\
 | 
				
			||||||
	wallys,dr6018|\
 | 
						wallys,dr6018|\
 | 
				
			||||||
	wallys,dr6018-v4|\
 | 
						wallys,dr6018-v4|\
 | 
				
			||||||
	yuncore,ax840|\
 | 
						yuncore,ax840|\
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,321 @@
 | 
				
			|||||||
 | 
					/dts-v1/;
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Permission to use, copy, modify, and/or distribute this software for any
 | 
				
			||||||
 | 
					 * purpose with or without fee is hereby granted, provided that the above
 | 
				
			||||||
 | 
					 * copyright notice and this permission notice appear in all copies.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
				
			||||||
 | 
					 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 | 
				
			||||||
 | 
					 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
				
			||||||
 | 
					 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
				
			||||||
 | 
					 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
				
			||||||
 | 
					 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
				
			||||||
 | 
					 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "ipq6018.dtsi"
 | 
				
			||||||
 | 
					#include "ipq6018-cpr-regulator.dtsi"
 | 
				
			||||||
 | 
					#include <dt-bindings/input/input.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/ {
 | 
				
			||||||
 | 
						#address-cells = <0x2>;
 | 
				
			||||||
 | 
						#size-cells = <0x2>;
 | 
				
			||||||
 | 
						model = "Indio UM-310AX V1";
 | 
				
			||||||
 | 
						compatible = "indio,um-310ax-v1", "qcom,ipq6018-cp03", "qcom,ipq6018";
 | 
				
			||||||
 | 
						interrupt-parent = <&intc>;
 | 
				
			||||||
 | 
						qcom,msm-id = <0x1A5 0x0>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						aliases {
 | 
				
			||||||
 | 
							/*
 | 
				
			||||||
 | 
							 * Aliases as required by u-boot
 | 
				
			||||||
 | 
							 * to patch MAC addresses
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							ethernet0 = "/soc/dp2";
 | 
				
			||||||
 | 
							ethernet1 = "/soc/dp1";
 | 
				
			||||||
 | 
							led-boot = &led_system;
 | 
				
			||||||
 | 
							led-failsafe = &led_system;
 | 
				
			||||||
 | 
							led-running = &led_system;
 | 
				
			||||||
 | 
							led-upgrade = &led_system;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						chosen {
 | 
				
			||||||
 | 
							bootargs = "console=ttyMSM0,115200,n8 rw init=/init";
 | 
				
			||||||
 | 
					#ifdef __IPQ_MEM_PROFILE_256_MB__
 | 
				
			||||||
 | 
							bootargs-append = " swiotlb=1";
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
							bootargs-append = " swiotlb=1 coherent_pool=2M";
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/*
 | 
				
			||||||
 | 
						 * +=========+==============+========================+
 | 
				
			||||||
 | 
						 * |        |              |                         |
 | 
				
			||||||
 | 
						 * | Region | Start Offset |          Size           |
 | 
				
			||||||
 | 
						 * |        |              |                         |
 | 
				
			||||||
 | 
						 * +--------+--------------+-------------------------+
 | 
				
			||||||
 | 
						 * |        |              |                         |
 | 
				
			||||||
 | 
						 * |        |              |                         |
 | 
				
			||||||
 | 
						 * |        |              |                         |
 | 
				
			||||||
 | 
						 * |        |              |                         |
 | 
				
			||||||
 | 
						 * | Linux  |  0x41000000  |         139MB           |
 | 
				
			||||||
 | 
						 * |        |              |                         |
 | 
				
			||||||
 | 
						 * |        |              |                         |
 | 
				
			||||||
 | 
						 * |        |              |                         |
 | 
				
			||||||
 | 
						 * +--------+--------------+-------------------------+
 | 
				
			||||||
 | 
						 * | TZ App |  0x49B00000  |           6MB           |
 | 
				
			||||||
 | 
						 * +--------+--------------+-------------------------+
 | 
				
			||||||
 | 
						 *
 | 
				
			||||||
 | 
						 * From the available 145 MB for Linux in the first 256 MB,
 | 
				
			||||||
 | 
						 * we are reserving 6 MB for TZAPP.
 | 
				
			||||||
 | 
						 *
 | 
				
			||||||
 | 
						 * Refer arch/arm64/boot/dts/qcom/qcom-ipq6018-memory.dtsi
 | 
				
			||||||
 | 
						 * for memory layout.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* TZAPP is enabled only in default memory profile */
 | 
				
			||||||
 | 
					#if !defined(__IPQ_MEM_PROFILE_256_MB__) && !defined(__IPQ_MEM_PROFILE_512_MB__)
 | 
				
			||||||
 | 
						reserved-memory {
 | 
				
			||||||
 | 
							tzapp:tzapp@49B00000 {	/* TZAPPS */
 | 
				
			||||||
 | 
								no-map;
 | 
				
			||||||
 | 
								reg = <0x0 0x49B00000 0x0 0x00600000>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&tlmm {
 | 
				
			||||||
 | 
						uart_pins: uart_pins {
 | 
				
			||||||
 | 
							mux {
 | 
				
			||||||
 | 
								pins = "gpio44", "gpio45";
 | 
				
			||||||
 | 
								function = "blsp2_uart";
 | 
				
			||||||
 | 
								drive-strength = <8>;
 | 
				
			||||||
 | 
								bias-pull-down;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						spi_0_pins: spi_0_pins {
 | 
				
			||||||
 | 
							mux {
 | 
				
			||||||
 | 
								pins = "gpio38", "gpio39", "gpio40", "gpio41";
 | 
				
			||||||
 | 
								function = "blsp0_spi";
 | 
				
			||||||
 | 
								drive-strength = <8>;
 | 
				
			||||||
 | 
								bias-pull-down;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						button_pins: button_pins {
 | 
				
			||||||
 | 
							wps_button {
 | 
				
			||||||
 | 
								pins = "gpio9";
 | 
				
			||||||
 | 
								function = "gpio";
 | 
				
			||||||
 | 
								drive-strength = <8>;
 | 
				
			||||||
 | 
								bias-pull-down;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mdio_pins: mdio_pinmux {
 | 
				
			||||||
 | 
							mux_0 {
 | 
				
			||||||
 | 
								pins = "gpio64";
 | 
				
			||||||
 | 
								function = "mdc";
 | 
				
			||||||
 | 
								drive-strength = <8>;
 | 
				
			||||||
 | 
								bias-pull-up;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
							mux_1 {
 | 
				
			||||||
 | 
								pins = "gpio65";
 | 
				
			||||||
 | 
								function = "mdio";
 | 
				
			||||||
 | 
								drive-strength = <8>;
 | 
				
			||||||
 | 
								bias-pull-up;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
							mux_2 {
 | 
				
			||||||
 | 
								pins = "gpio75";
 | 
				
			||||||
 | 
								function = "gpio";
 | 
				
			||||||
 | 
								bias-pull-up;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						leds_pins: leds_pins {
 | 
				
			||||||
 | 
							led_blue {
 | 
				
			||||||
 | 
								pins = "gpio35";
 | 
				
			||||||
 | 
								function = "gpio";
 | 
				
			||||||
 | 
								drive-strength = <2>;
 | 
				
			||||||
 | 
								bias-pull-down;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							led_green {
 | 
				
			||||||
 | 
								pins = "gpio37";
 | 
				
			||||||
 | 
								function = "gpio";
 | 
				
			||||||
 | 
								drive-strength = <2>;
 | 
				
			||||||
 | 
								bias-pull-down;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							led_red {
 | 
				
			||||||
 | 
								pins = "gpio32";
 | 
				
			||||||
 | 
								function = "gpio";
 | 
				
			||||||
 | 
								drive-strength = <2>;
 | 
				
			||||||
 | 
								bias-pull-down;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						button_pins: button_pins {
 | 
				
			||||||
 | 
							rst_button {
 | 
				
			||||||
 | 
								pins = "gpio19";
 | 
				
			||||||
 | 
								function = "gpio";
 | 
				
			||||||
 | 
								drive-strength = <8>;
 | 
				
			||||||
 | 
								bias-pull-up;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&soc {
 | 
				
			||||||
 | 
						mdio@90000 {
 | 
				
			||||||
 | 
							pinctrl-0 = <&mdio_pins>;
 | 
				
			||||||
 | 
							pinctrl-names = "default";
 | 
				
			||||||
 | 
							phy-reset-gpio = <&tlmm 75 0>;
 | 
				
			||||||
 | 
							status = "ok";
 | 
				
			||||||
 | 
							phy0: ethernet-phy@0 {
 | 
				
			||||||
 | 
								reg = <3>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
							phy1: ethernet-phy@1 {
 | 
				
			||||||
 | 
								reg = <4>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ess-switch@3a000000 {
 | 
				
			||||||
 | 
							switch_cpu_bmp =   <0x01>; /* cpu port bitmap */
 | 
				
			||||||
 | 
							switch_lan_bmp =   <0x10>; /* lan port bitmap */
 | 
				
			||||||
 | 
							switch_wan_bmp =   <0x20>; /* wan port bitmap */
 | 
				
			||||||
 | 
							switch_inner_bmp = <0x80>; /*inner port bitmap*/
 | 
				
			||||||
 | 
							switch_mac_mode =  <0x00>; /* mac mode for uniphy instance0*/
 | 
				
			||||||
 | 
							switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/
 | 
				
			||||||
 | 
							switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							qcom,port_phyinfo {
 | 
				
			||||||
 | 
								port@3 {
 | 
				
			||||||
 | 
									port_id = <0x04>;
 | 
				
			||||||
 | 
									phy_address = <0x03>;
 | 
				
			||||||
 | 
								};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								port@4 {
 | 
				
			||||||
 | 
									port_id = <0x05>;
 | 
				
			||||||
 | 
									phy_address = <0x04>;
 | 
				
			||||||
 | 
								};
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						dp1 {
 | 
				
			||||||
 | 
							device_type = "network";
 | 
				
			||||||
 | 
							compatible = "qcom,nss-dp";
 | 
				
			||||||
 | 
							qcom,id = <0x04>;
 | 
				
			||||||
 | 
							reg = <0x3a001600 0x200>;
 | 
				
			||||||
 | 
							qcom,mactype = <0x00>;
 | 
				
			||||||
 | 
							local-mac-address = [00 00 00 00 00 00];
 | 
				
			||||||
 | 
							qcom,link-poll = <0x01>;
 | 
				
			||||||
 | 
							qcom,phy-mdio-addr = <0x03>;
 | 
				
			||||||
 | 
							phy-mode = "sgmii";
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						dp2 {
 | 
				
			||||||
 | 
							device_type = "network";
 | 
				
			||||||
 | 
							compatible = "qcom,nss-dp";
 | 
				
			||||||
 | 
							qcom,id = <0x05>;
 | 
				
			||||||
 | 
							reg = <0x3a001800 0x200>;
 | 
				
			||||||
 | 
							qcom,mactype = <0x00>;
 | 
				
			||||||
 | 
							local-mac-address = [00 00 00 00 00 00];
 | 
				
			||||||
 | 
							qcom,link-poll = <0x01>;
 | 
				
			||||||
 | 
							qcom,phy-mdio-addr = <0x04>;
 | 
				
			||||||
 | 
							phy-mode = "sgmii";
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						gpio_keys {
 | 
				
			||||||
 | 
							compatible = "gpio-keys";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							pinctrl-0 = <&button_pins>;
 | 
				
			||||||
 | 
							pinctrl-names = "default";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							reset {
 | 
				
			||||||
 | 
								label = "reset";
 | 
				
			||||||
 | 
								linux,code = <KEY_RESTART>;
 | 
				
			||||||
 | 
								gpios = <&tlmm 19 GPIO_ACTIVE_LOW>;
 | 
				
			||||||
 | 
								linux,input-type = <1>;
 | 
				
			||||||
 | 
								debounce-interval = <60>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						leds {
 | 
				
			||||||
 | 
							compatible = "gpio-leds";
 | 
				
			||||||
 | 
							pinctrl-0 = <&leds_pins>;
 | 
				
			||||||
 | 
							pinctrl-names = "default";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							led_system: system {
 | 
				
			||||||
 | 
								label = "ax860:green:system";
 | 
				
			||||||
 | 
								gpio = <&tlmm 37 GPIO_ACTIVE_HIGH>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							wlan2g {
 | 
				
			||||||
 | 
								label = "ax860:blue:wlan2g";
 | 
				
			||||||
 | 
								gpio = <&tlmm 35 GPIO_ACTIVE_HIGH>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							wlan5g {
 | 
				
			||||||
 | 
								label = "ax860:red:wlan5g";
 | 
				
			||||||
 | 
								gpio = <&tlmm 32 GPIO_ACTIVE_HIGH>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&blsp1_uart3 {
 | 
				
			||||||
 | 
						pinctrl-0 = <&uart_pins>;
 | 
				
			||||||
 | 
						pinctrl-names = "default";
 | 
				
			||||||
 | 
						status = "ok";
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&spi_0 {
 | 
				
			||||||
 | 
						pinctrl-0 = <&spi_0_pins>;
 | 
				
			||||||
 | 
						pinctrl-names = "default";
 | 
				
			||||||
 | 
						cs-select = <0>;
 | 
				
			||||||
 | 
						status = "ok";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						m25p80@0 {
 | 
				
			||||||
 | 
							#address-cells = <1>;
 | 
				
			||||||
 | 
							#size-cells = <1>;
 | 
				
			||||||
 | 
							reg = <0>;
 | 
				
			||||||
 | 
							compatible = "n25q128a11";
 | 
				
			||||||
 | 
							linux,modalias = "m25p80", "n25q128a11";
 | 
				
			||||||
 | 
							spi-max-frequency = <50000000>;
 | 
				
			||||||
 | 
							use-default-sizes;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&qpic_bam {
 | 
				
			||||||
 | 
						status = "ok";
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&qpic_nand {
 | 
				
			||||||
 | 
						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>;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&ssphy_0 {
 | 
				
			||||||
 | 
						status = "ok";
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&qusb_phy_0 {
 | 
				
			||||||
 | 
						status = "ok";
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&usb3 {
 | 
				
			||||||
 | 
						status = "ok";
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&nss_crypto {
 | 
				
			||||||
 | 
						status = "ok";
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@@ -92,7 +92,7 @@ define Device/indio_um-310ax-v1
 | 
				
			|||||||
  SUPPORTED_DEVICES := indio,um-310ax-v1
 | 
					  SUPPORTED_DEVICES := indio,um-310ax-v1
 | 
				
			||||||
  DEVICE_PACKAGES := ath11k-wifi-indio-um-310ax-v1 uboot-env
 | 
					  DEVICE_PACKAGES := ath11k-wifi-indio-um-310ax-v1 uboot-env
 | 
				
			||||||
endef
 | 
					endef
 | 
				
			||||||
#TARGET_DEVICES += indio_um-310ax-v1
 | 
					TARGET_DEVICES += indio_um-310ax-v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define Device/indio_um-510axp-v1
 | 
					define Device/indio_um-510axp-v1
 | 
				
			||||||
  DEVICE_TITLE := Indio UM-510AXP V1
 | 
					  DEVICE_TITLE := Indio UM-510AXP V1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	"major": 4,
 | 
						"major": 4,
 | 
				
			||||||
	"minor": 1,
 | 
						"minor": 1,
 | 
				
			||||||
	"patch": 0
 | 
						"patch": 1
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -275,16 +275,19 @@ handlers = {
 | 
				
			|||||||
	},
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	vlan_add: function(notify) {
 | 
						vlan_add: function(notify) {
 | 
				
			||||||
		let vlan_id = `${notify.data.vlan_id}`;
 | 
					 | 
				
			||||||
		vlan_refcount[vlan_id] = (vlan_refcount[vlan_id] || 0) + 1;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		if (vlan_refcount[vlan_id] > 1) {
 | 
					 | 
				
			||||||
			return;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		if (config.config.swconfig)
 | 
							if (config.config.swconfig)
 | 
				
			||||||
			return handlers.vlan_add_swconfig(notify);
 | 
								return handlers.vlan_add_swconfig(notify);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							let vlan_id = `${notify.data.vlan_id}`;
 | 
				
			||||||
 | 
							vlan_refcount[vlan_id] = (vlan_refcount[vlan_id] || 0) + 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							let parts = split(notify.data.ifname, '-v');
 | 
				
			||||||
 | 
							let is_wifi_iface = (length(parts) == 2 && wildcard(parts[0], 'wlan*'));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (vlan_refcount[vlan_id] > 1 && !is_wifi_iface)
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (vlan_refcount[vlan_id] == 1) {
 | 
				
			||||||
			for (let wan in wan_ports) {
 | 
								for (let wan in wan_ports) {
 | 
				
			||||||
				let msg = {
 | 
									let msg = {
 | 
				
			||||||
					name: wan,
 | 
										name: wan,
 | 
				
			||||||
@@ -293,6 +296,7 @@ handlers = {
 | 
				
			|||||||
				ubus.call('network.interface.up_none', 'add_device', msg);
 | 
									ubus.call('network.interface.up_none', 'add_device', msg);
 | 
				
			||||||
				ubus.call('udevstats', 'add_device', { device: wan, vlan: +notify.data.vlan_id });
 | 
									ubus.call('udevstats', 'add_device', { device: wan, vlan: +notify.data.vlan_id });
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		let msg = {
 | 
							let msg = {
 | 
				
			||||||
			name: notify.data.ifname,
 | 
								name: notify.data.ifname,
 | 
				
			||||||
@@ -304,16 +308,16 @@ handlers = {
 | 
				
			|||||||
	},
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	vlan_remove: function(notify) {
 | 
						vlan_remove: function(notify) {
 | 
				
			||||||
 | 
							if (config.config.swconfig)
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		let vlan_id = `${notify.data.vlan_id}`;
 | 
							let vlan_id = `${notify.data.vlan_id}`;
 | 
				
			||||||
		vlan_refcount[vlan_id] = (vlan_refcount[vlan_id] || 1) - 1;
 | 
							vlan_refcount[vlan_id] = (vlan_refcount[vlan_id] || 1) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (vlan_refcount[vlan_id] > 0) {
 | 
							if (vlan_refcount[vlan_id] > 0)
 | 
				
			||||||
			return;
 | 
								return;
 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		delete vlan_refcount[vlan_id];
 | 
							delete vlan_refcount[vlan_id];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (config.config.swconfig)
 | 
					 | 
				
			||||||
			return;
 | 
					 | 
				
			||||||
		for (let wan in wan_ports) {
 | 
							for (let wan in wan_ports) {
 | 
				
			||||||
			let msg = {
 | 
								let msg = {
 | 
				
			||||||
				name: wan,
 | 
									name: wan,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,10 +4,10 @@ PKG_NAME:=ucentral-schema
 | 
				
			|||||||
PKG_RELEASE:=1
 | 
					PKG_RELEASE:=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_SOURCE_URL=https://github.com/Telecominfraproject/wlan-ucentral-schema.git
 | 
					PKG_SOURCE_URL=https://github.com/Telecominfraproject/wlan-ucentral-schema.git
 | 
				
			||||||
PKG_MIRROR_HASH:=f72d2e5b01ecb7a488d50d860da63664d992e50c7e046fed866be6733bab3c1c
 | 
					PKG_MIRROR_HASH:=c0f43db0530a38eb424e81908ad47a14e1d4d8f8a86eb148e34f98187c79ba6b
 | 
				
			||||||
PKG_SOURCE_PROTO:=git
 | 
					PKG_SOURCE_PROTO:=git
 | 
				
			||||||
PKG_SOURCE_DATE:=2025-09-29
 | 
					PKG_SOURCE_DATE:=2025-10-16
 | 
				
			||||||
PKG_SOURCE_VERSION:=676e1550c53b7d48a54aa759f65d341168627c5e
 | 
					PKG_SOURCE_VERSION:=dc9cad95641266a08de73aab85d931d992090159
 | 
				
			||||||
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
 | 
					PKG_MAINTAINER:=John Crispin <john@phrozen.org>
 | 
				
			||||||
PKG_LICENSE:=BSD-3-Clause
 | 
					PKG_LICENSE:=BSD-3-Clause
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,17 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	"uuid": 2,
 | 
						"uuid": 2,
 | 
				
			||||||
	"radios": [
 | 
						"radios": [
 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			"band": "6G",
 | 
					 | 
				
			||||||
			"country": "CA",
 | 
					 | 
				
			||||||
			"channel-mode": "HE",
 | 
					 | 
				
			||||||
			"channel-width": 80
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"band": "5G",
 | 
								"band": "5G",
 | 
				
			||||||
			"country": "CA",
 | 
								"country": "CA",
 | 
				
			||||||
			"channel-mode": "HE",
 | 
								"channel-mode": "HE",
 | 
				
			||||||
			"channel-width": 80
 | 
								"channel-width": 80,
 | 
				
			||||||
 | 
								"channel": 36
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"band": "2G",
 | 
								"band": "2G",
 | 
				
			||||||
@@ -57,10 +52,7 @@
 | 
				
			|||||||
							"key": "bbbbbbbb"
 | 
												"key": "bbbbbbbb"
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
					],
 | 
										],
 | 
				
			||||||
					"roaming": {
 | 
										"roaming": true
 | 
				
			||||||
						"message-exchange": "ds",
 | 
					 | 
				
			||||||
						"generate-psk": true
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			]
 | 
								]
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								profiles/indio_um-310ax-v1.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								profiles/indio_um-310ax-v1.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					profile: indio_um-310ax-v1
 | 
				
			||||||
 | 
					target: ipq60xx
 | 
				
			||||||
 | 
					subtarget: generic
 | 
				
			||||||
 | 
					description: Build image for the Indio UM-310AX V1
 | 
				
			||||||
 | 
					image: bin/targets/ipq60xx/generic/openwrt-ipq60xx-indio_um-310ax-v1-squashfs-sysupgrade.tar
 | 
				
			||||||
 | 
					feeds:
 | 
				
			||||||
 | 
					  - name: ipq807x
 | 
				
			||||||
 | 
					    path: ../../feeds/ipq807x_v5.4
 | 
				
			||||||
 | 
					include:
 | 
				
			||||||
 | 
					  - ucentral-ap
 | 
				
			||||||
 | 
					packages:
 | 
				
			||||||
 | 
					  - ipq60xx
 | 
				
			||||||
							
								
								
									
										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