mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-31 10:28:06 +00:00 
			
		
		
		
	Merge pull request #955 from Telecominfraproject/main
Merge from main for 4.1.1 release
This commit is contained in:
		| @@ -50,6 +50,7 @@ ALLWIFIBOARDS:= \ | ||||
| 	indio-um-325ax-v2 \ | ||||
| 	indio-um-335ax \ | ||||
| 	indio-um-525axp \ | ||||
| 	indio-um-525axm \ | ||||
| 	muxi-ap3220l \ | ||||
| 	plasmacloud-pax1800 \ | ||||
| 	wallys-dr5018 \ | ||||
| @@ -447,6 +448,7 @@ $(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-335ax,Indio UM-335AX)) | ||||
| $(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,sonicfi-rap630c-311g,Sonicfi RAP630C 311G)) | ||||
| $(eval $(call generate-ath11k-wifi-package,sonicfi-rap630w-311g,Sonicfi RAP630W 311G)) | ||||
| $(eval $(call generate-ath11k-wifi-package,sonicfi-rap630w-312g,Sonicfi RAP630W 312G)) | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								feeds/ipq807x_v5.4/ath11k-wifi/board-indio-um-525axm.bin.IPQ5018
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/ipq807x_v5.4/ath11k-wifi/board-indio-um-525axm.bin.IPQ5018
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								feeds/ipq807x_v5.4/ath11k-wifi/board-indio-um-525axm.bin.QCN6122
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/ipq807x_v5.4/ath11k-wifi/board-indio-um-525axm.bin.QCN6122
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -18,6 +18,7 @@ edgecore,eap104) | ||||
| 	;; | ||||
| indio,um-325ax-v2|\ | ||||
| indio,um-335ax|\ | ||||
| indio,um-525axm|\ | ||||
| indio,um-525axp) | ||||
| 	ucidef_set_led_wlan "wlan2g" "WLAN2G" "led_2g" "phy0tpt" | ||||
| 	ucidef_set_led_wlan "wlan5g" "WLAN5G" "led_5g" "phy1tpt" | ||||
|   | ||||
| @@ -50,6 +50,7 @@ qcom_setup_interfaces() | ||||
| 		;; | ||||
| 	indio,um-325ax-v2|\ | ||||
| 	indio,um-335ax|\ | ||||
| 	indio,um-525axm|\ | ||||
| 	indio,um-525axp) | ||||
| 		ucidef_set_interface_wan "eth1" | ||||
| 		ucidef_set_interface_lan "eth0" | ||||
|   | ||||
| @@ -144,6 +144,7 @@ ath11k/IPQ5018/hw1.0/caldata.bin) | ||||
| 	hfcl,ion4xi_w|\ | ||||
| 	indio,um-325ax-v2|\ | ||||
| 	indio,um-335ax|\ | ||||
| 	indio,um-525axm|\ | ||||
| 	indio,um-525axp|\ | ||||
| 	optimcloud,d60|\ | ||||
| 	optimcloud,d60-5g|\ | ||||
| @@ -187,6 +188,7 @@ ath11k/qcn6122/hw1.0/caldata_1.bin) | ||||
| ath11k/qcn6122/hw1.0/caldata_2.bin) | ||||
| 	case "$board" in | ||||
| 	indio,um-325ax-v2|\ | ||||
| 	indio,um-525axm|\ | ||||
| 	indio,um-525axp|\ | ||||
| 	wallys,dr5018|\ | ||||
| 	edgecore,eap104|\ | ||||
| @@ -242,6 +244,7 @@ ath11k-macs) | ||||
| 	edgecore,oap101e-6e|\ | ||||
| 	indio,um-325ax-v2|\ | ||||
| 	indio,um-525axp|\ | ||||
| 	indio,um-525axm|\ | ||||
| 	optimcloud,d60|\ | ||||
| 	optimcloud,d60-5g|\ | ||||
| 	optimcloud,d50|\ | ||||
|   | ||||
| @@ -84,6 +84,7 @@ platform_check_image() { | ||||
| 	indio,um-325ax-v2|\ | ||||
| 	indio,um-335ax|\ | ||||
| 	indio,um-525axp|\ | ||||
| 	indio,um-525axm|\ | ||||
| 	optimcloud,d60|\ | ||||
| 	optimcloud,d60-5g|\ | ||||
| 	optimcloud,d50|\ | ||||
| @@ -113,6 +114,7 @@ platform_do_upgrade() { | ||||
| 	indio,um-325ax-v2|\ | ||||
| 	indio,um-335ax|\ | ||||
| 	indio,um-525axp|\ | ||||
| 	indio,um-525axm|\ | ||||
| 	edgecore,oap101|\ | ||||
| 	edgecore,oap101-6e|\ | ||||
| 	edgecore,oap101e|\ | ||||
|   | ||||
| @@ -0,0 +1,941 @@ | ||||
| /dts-v1/; | ||||
| /* Copyright (c) 2018-2020, 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 "ipq5018.dtsi" | ||||
| #include <dt-bindings/input/input.h> | ||||
|  | ||||
| / { | ||||
| 	#address-cells = <0x2>; | ||||
| 	#size-cells = <0x2>; | ||||
| 	model = "Indio UM-525AXM"; | ||||
| 	compatible = "indio,um-525axm", "qcom,ipq5018-mp03.5-c1", "qcom,ipq5018"; | ||||
| 	interrupt-parent = <&intc>; | ||||
|  | ||||
| 	aliases { | ||||
| 		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ | ||||
| 		serial0 = &blsp1_uart1; | ||||
| 		serial1 = &blsp1_uart2; | ||||
| 		ethernet0 = "/soc/dp1"; | ||||
| 		ethernet1 = "/soc/dp2"; | ||||
|                 //led-failsafe = &led_red; | ||||
|                 //led-running = &led_green; | ||||
|                 //led-upgrade = &led_green; | ||||
|                 //led-gateway = &led_blue; | ||||
|                 //led-factory = &led_blue; | ||||
| 	}; | ||||
|  | ||||
| 	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 | ||||
| 		stdout-path = "serial0"; | ||||
| 	}; | ||||
|  | ||||
| 	reserved-memory { | ||||
| 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||
| 	/*                   256 MB Profile | ||||
| 	 * +==========+==============+=========================+ | ||||
| 	 * |          |              |                         | | ||||
| 	 * |  Region  | Start Offset |          Size           | | ||||
| 	 * |          |              |                         | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |    NSS   |  0x40000000  |           8MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |   Linux  |  0x40800000  | Depends on total memory | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |   uboot  |  0x4A600000  |           4MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |    SBL   |  0x4AA00000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |   smem   |  0x4AB00000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |    TZ    |  0x4AC00000  |           4MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |    Q6    |              |                         | | ||||
| 	 * |   code/  |  0x4B000000  |          20MB           | | ||||
| 	 * |   data   |              |                         | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |  IPQ5018 |              |                         | | ||||
| 	 * |   data   |  0x4C400000  |          13MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |  IPQ5018 |              |                         | | ||||
| 	 * |  M3 Dump |  0x4D100000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |  IPQ5018 |              |                         | | ||||
| 	 * |   QDSS   |  0x4D200000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_1|              |                         | | ||||
| 	 * |   data   |  0x4D300000  |          15MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_1|              |                         | | ||||
| 	 * |  M3 Dump |  0x4E200000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_1|              |                         | | ||||
| 	 * |   QDSS   |  0x4E300000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_2|              |                         | | ||||
| 	 * |   data   |  0x4E400000  |          15MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_2|              |                         | | ||||
| 	 * |  M3 Dump |  0x4F300000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_2|              |                         | | ||||
| 	 * |   QDSS   |  0x4F400000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |                                                   | | ||||
| 	 * |            Rest of the memory for Linux           | | ||||
| 	 * |                                                   | | ||||
| 	 * +===================================================+ | ||||
| 	 */ | ||||
| 		q6_mem_regions: q6_mem_regions@4B000000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4B000000 0x0 0x4500000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_code_data: q6_code_data@4B000000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4B000000 0x0 0x1400000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_ipq5018_data: q6_ipq5018_data@4C400000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4C400000 0x0 0xD00000>; | ||||
| 		}; | ||||
|  | ||||
| 		m3_dump: m3_dump@4D100000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4D100000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_etr_region: q6_etr_dump@4D200000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4D200000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_qcn6122_data1: q6_qcn6122_data1@4D300000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4D300000 0x0 0xF00000>; | ||||
| 		}; | ||||
|  | ||||
| 		m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E200000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4E200000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E300000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4E300000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_qcn6122_data2: q6_qcn6122_data2@4E400000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4E400000 0x0 0xF00000>; | ||||
| 		}; | ||||
|  | ||||
| 		m3_dump_qcn6122_2: m3_dump_qcn6122_2@4F300000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4F300000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_qcn6122_etr_2: q6_qcn6122_etr_2@4F400000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4F400000 0x0 0x100000>; | ||||
| 		}; | ||||
| 		 | ||||
| 	#else | ||||
| 	/*                 512MB/1GB Profiles | ||||
| 	 * +==========+==============+=========================+ | ||||
| 	 * |          |              |                         | | ||||
| 	 * |  Region  | Start Offset |          Size           | | ||||
| 	 * |          |              |                         | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |    NSS   |  0x40000000  |          16MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |   Linux  |  0x41000000  | Depends on total memory | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |   uboot  |  0x4A600000  |           4MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |    SBL   |  0x4AA00000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |   smem   |  0x4AB00000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |    TZ    |  0x4AC00000  |           4MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |    Q6    |              |                         | | ||||
| 	 * |   code/  |  0x4B000000  |          20MB           | | ||||
| 	 * |   data   |              |                         | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |  IPQ5018 |              |                         | | ||||
| 	 * |   data   |  0x4C400000  |          14MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |  IPQ5018 |              |                         | | ||||
| 	 * |  M3 Dump |  0x4D200000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |  IPQ5018 |              |                         | | ||||
| 	 * |   QDSS   |  0x4D300000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |  IPQ5018 |              |                         | | ||||
| 	 * |  Caldb   |  0x4D400000  |           2MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_1|              |                         | | ||||
| 	 * |   data   |  0x4D600000  |          16MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_1|              |                         | | ||||
| 	 * |  M3 Dump |  0x4E600000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_1|              |                         | | ||||
| 	 * |   QDSS   |  0x4E700000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_1|              |                         | | ||||
| 	 * |  Caldb   |  0x4E800000  |           5MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_2|              |                         | | ||||
| 	 * |   data   |  0x4ED00000  |          16MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_2|              |                         | | ||||
| 	 * |  M3 Dump |  0x4FD00000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_2|              |                         | | ||||
| 	 * |   QDSS   |  0x4FE00000  |           1MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * | QCN6122_2|              |                         | | ||||
| 	 * |  Caldb   |  0x4FF00000  |           5MB           | | ||||
| 	 * +----------+--------------+-------------------------+ | ||||
| 	 * |                                                   | | ||||
| 	 * |            Rest of the memory for Linux           | | ||||
| 	 * |                                                   | | ||||
| 	 * +===================================================+ | ||||
| 	 */ | ||||
| 		q6_mem_regions: q6_mem_regions@4B000000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4B000000 0x0 0x5400000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_code_data: q6_code_data@4B000000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4B000000 0x0 01400000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_ipq5018_data: q6_ipq5018_data@4C400000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4C400000 0x0 0xE00000>; | ||||
| 		}; | ||||
|  | ||||
| 		m3_dump: m3_dump@4D200000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4D200000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_etr_region: q6_etr_dump@4D300000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4D300000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_caldb_region: q6_caldb_region@4D400000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4D400000 0x0 0x200000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_qcn6122_data1: q6_qcn6122_data1@4D600000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4D600000 0x0 0x1000000>; | ||||
| 		}; | ||||
|  | ||||
| 		m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E600000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4E600000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E700000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4E700000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_qcn6122_caldb_1: q6_qcn6122_caldb_1@4E800000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4E800000 0x0 0x500000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_qcn6122_data2: q6_qcn6122_data2@4E900000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4ED00000 0x0 0x1000000>; | ||||
| 		}; | ||||
|  | ||||
| 		m3_dump_qcn6122_2: m3_dump_qcn6122_2@4FD00000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4FD00000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_qcn6122_etr_2: q6_qcn6122_etr_2@4FE00000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4FE00000 0x0 0x100000>; | ||||
| 		}; | ||||
|  | ||||
| 		q6_qcn6122_caldb_2: q6_qcn6122_caldb_2@4FF00000 { | ||||
| 			no-map; | ||||
| 			reg = <0x0 0x4FF00000 0x0 0x500000>; | ||||
| 		}; | ||||
|  | ||||
| 	#endif | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		gpio-watchdog { | ||||
| 			compatible = "linux,wdt-gpio"; | ||||
| 			gpios = <&tlmm 27 GPIO_ACTIVE_LOW>; | ||||
| 			hw_algo = "toggle"; | ||||
| 			hw_margin_ms = <5000>; | ||||
| 			always-running; | ||||
| 		}; | ||||
|  | ||||
| 		serial@78af000 { | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		blsp1_uart2: serial@78b0000 { | ||||
| 			pinctrl-0 = <&blsp1_uart_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 		}; | ||||
|  | ||||
| 		qpic_bam: dma@7984000{ | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		nand: qpic-nand@79b0000 { | ||||
| 			pinctrl-0 = <&qspi_nand_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		spi_0: spi@78b5000 { /* BLSP1 QUP0 */ | ||||
| 			pinctrl-0 = <&blsp0_spi_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; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		mdio0: mdio@88000 { | ||||
| 			status = "ok"; | ||||
|  | ||||
| 			ethernet-phy@0 { | ||||
| 				reg = <7>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		mdio1: mdio@90000 { | ||||
| 			status = "ok"; | ||||
| 			pinctrl-0 = <&mdio1_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			phy-reset-gpio = <&tlmm 39 0>; | ||||
|  | ||||
| 			ethernet-phy@0 { | ||||
| 				reg = <28>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		ess-instance { | ||||
| 			num_devices = <0x1>; | ||||
| 			ess-switch@0x39c00000 { | ||||
| 				switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/ | ||||
| 				cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/ | ||||
| 				qcom,port_phyinfo { | ||||
| 					port@0 { | ||||
| 						port_id = <1>; | ||||
| 						phy_address = <7>; | ||||
| 						mdiobus = <&mdio0>; | ||||
| 					}; | ||||
| 					port@1 { | ||||
| 						port_id = <2>; | ||||
| 						phy_address = <0x1c>; | ||||
| 						mdiobus = <&mdio1>; | ||||
| 						port_mac_sel = "QGMAC_PORT"; | ||||
| 					}; | ||||
| 				}; | ||||
| 				led_source@0 { | ||||
| 					source = <0>; | ||||
| 					mode = "normal"; | ||||
| 					speed = "all"; | ||||
| 					blink_en = "enable"; | ||||
| 					active = "high"; | ||||
| 				}; | ||||
| 			}; | ||||
| 				ess-switch1@1 { | ||||
| 				compatible = "qcom,ess-switch-qca83xx"; | ||||
| 				device_id = <1>; | ||||
| 				switch_access_mode = "mdio"; | ||||
| 				mdio-bus = <&mdio1>; | ||||
| 				reset_gpio = <0x28>; | ||||
| 				switch_cpu_bmp = <0x40>;  /* cpu port bitmap */ | ||||
| 				switch_lan_bmp = <0x1e>; /* lan port bitmap */ | ||||
| 				switch_wan_bmp = <0x0>;  /* wan port bitmap */ | ||||
| 				qca,ar8327-initvals = < | ||||
| 						0x00004 0x7600000   /* PAD0_MODE */ | ||||
| 						0x00008 0x1000000   /* PAD5_MODE */ | ||||
| 						0x0000c 0x80        /* PAD6_MODE */ | ||||
| 						0x00010 0x2613a0    /* PORT6 FORCE MODE*/ | ||||
| 						0x000e4 0xaa545     /* MAC_POWER_SEL */ | ||||
| 						0x000e0 0xc74164de  /* SGMII_CTRL */ | ||||
| 						0x0007c 0x4e        /* PORT0_STATUS */ | ||||
| 						0x00094 0x4e        /* PORT6_STATUS */ | ||||
| 				>; | ||||
| 				qcom,port_phyinfo { | ||||
| 					port@0 { | ||||
| 						port_id = <1>; | ||||
| 						phy_address = <28>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		dp1 { | ||||
| 			device_type = "network"; | ||||
| 			compatible = "qcom,nss-dp"; | ||||
| 			clocks = <&gcc GCC_SNOC_GMAC0_AXI_CLK>; | ||||
| 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||
| 			qcom,id = <1>; | ||||
| 			reg = <0x39C00000 0x10000>; | ||||
| 			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			qcom,mactype = <2>; | ||||
| 			qcom,link-poll = <1>; | ||||
| 			qcom,phy-mdio-addr = <7>; | ||||
| 			mdio-bus = <&mdio0>; | ||||
| 			local-mac-address = [000000000000]; | ||||
| 			phy-mode = "sgmii"; | ||||
| 		}; | ||||
|  | ||||
| 		dp2 { | ||||
| 			device_type = "network"; | ||||
| 			compatible = "qcom,nss-dp"; | ||||
| 			clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>; | ||||
| 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||
| 			qcom,id = <2>; | ||||
| 			reg = <0x39D00000 0x10000>; | ||||
| 			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			qcom,mactype = <2>; | ||||
| 			qcom,link-poll = <1>; | ||||
| 			qcom,phy-mdio-addr = <28>; | ||||
| 			mdio-bus = <&mdio1>; | ||||
| 			local-mac-address = [000000000000]; | ||||
| 			phy-mode = "sgmii"; | ||||
| 		}; | ||||
|  | ||||
| 		qcom,test@0 { | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		nss-macsec1 { | ||||
| 			compatible = "qcom,nss-macsec"; | ||||
| 			phy_addr = <0x1c>; | ||||
| 			mdiobus = <&mdio1>; | ||||
| 		}; | ||||
|  | ||||
| 		lpass: lpass@0xA000000{ | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
|  | ||||
| 		pcm: pcm@0xA3C0000{ | ||||
| 			pinctrl-0 = <&audio_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
|  | ||||
| 		pcm_lb: pcm_lb@0 { | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	thermal-zones { | ||||
| 		status = "ok"; | ||||
| 	}; | ||||
|  | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
|  | ||||
| 	blsp0_uart_pins: uart_pins { | ||||
| 		blsp0_uart_rx_tx { | ||||
| 			pins = "gpio20", "gpio21"; | ||||
| 			function = "blsp0_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	blsp1_uart_pins: blsp1_uart_pins { | ||||
| 		blsp1_uart_rx_tx { | ||||
| 			pins = "gpio22", "gpio24", "gpio23", "gpio25"; | ||||
| 			function = "blsp1_uart2"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	blsp0_spi_pins: blsp0_spi_pins { | ||||
| 		mux { | ||||
| 			pins = "gpio10", "gpio11", "gpio12", "gpio13"; | ||||
| 			function = "blsp0_spi"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	qspi_nand_pins: qspi_nand_pins { | ||||
| 		qspi_clock { | ||||
| 			pins = "gpio9"; | ||||
| 			function = "qspi_clk"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		qspi_cs { | ||||
| 			pins = "gpio8"; | ||||
| 			function = "qspi_cs"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		qspi_data_0 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "qspi0"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		qspi_data_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "qspi1"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		qspi_data_2 { | ||||
| 			pins = "gpio5"; | ||||
| 			function = "qspi2"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		qspi_data_3 { | ||||
| 			pins = "gpio4"; | ||||
| 			function = "qspi3"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio1_pins: mdio_pinmux { | ||||
| 		mux_0 { | ||||
| 			pins = "gpio36"; | ||||
| 			function = "mdc"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_1 { | ||||
| 			pins = "gpio37"; | ||||
| 			function = "mdio"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	phy_led_pins: phy_led_pins { | ||||
| 		gephy_led_pin { | ||||
| 			pins = "gpio46"; | ||||
| 			function = "led0"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	i2c_pins: i2c_pins { | ||||
| 		i2c_scl { | ||||
| 			pins = "gpio25"; | ||||
| 			function = "blsp2_i2c1"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		i2c_sda { | ||||
| 			pins = "gpio26"; | ||||
| 			function = "blsp2_i2c1"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	button_pins: button_pins { | ||||
| 		reset_button { | ||||
| 			pins = "gpio38"; | ||||
| 			function = "gpio"; | ||||
| 			drive-strength = <8>; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
| audio_pins: audio_pinmux { | ||||
| }; | ||||
|         leds_pins: leds_pins { | ||||
|                 led_5g { | ||||
|                         pins = "gpio34"; | ||||
|                         function = "gpio"; | ||||
|                         drive-strength = <8>; | ||||
|                         bias-pull-down; | ||||
|                 }; | ||||
|                 led_2g { | ||||
|                         pins = "gpio33"; | ||||
|                         function = "gpio"; | ||||
|                         drive-strength = <8>; | ||||
|                         bias-pull-down; | ||||
|                 }; | ||||
|                 led_sys { | ||||
|                         pins = "gpio26"; | ||||
|                         function = "gpio"; | ||||
|                         drive-strength = <8>; | ||||
|                         bias-pull-down; | ||||
|                 }; | ||||
| 		led_onekey { | ||||
|                         pins = "gpio28"; | ||||
|                         function = "gpio"; | ||||
|                         drive-strength = <8>; | ||||
|                         bias-pull-down; | ||||
|                 }; | ||||
|         }; | ||||
| }; | ||||
|  | ||||
| &soc { | ||||
| 	gpio_keys { | ||||
| 		compatible = "gpio-keys"; | ||||
| 		pinctrl-0 = <&button_pins>; | ||||
| 		pinctrl-names = "default"; | ||||
|  | ||||
| 		button@1 { | ||||
| 			label = "reset"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 			linux,input-type = <1>; | ||||
| 			debounce-interval = <60>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
|         leds { | ||||
|                 compatible = "gpio-leds"; | ||||
|                 pinctrl-0 = <&leds_pins>; | ||||
|                 pinctrl-names = "default"; | ||||
|  | ||||
|                 led_blue: led@34 { | ||||
|                         label = "led_5g"; | ||||
|                         gpios = <&tlmm 34 GPIO_ACTIVE_LOW>; | ||||
|                         linux,default-trigger = "led_5g"; | ||||
|                         default-state = "off"; | ||||
|                 }; | ||||
|                 led_green: led@33 { | ||||
|                         label = "led_2g"; | ||||
|                         gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; | ||||
|                         linux,default-trigger = "led_2g"; | ||||
|                         default-state = "off"; | ||||
|                 }; | ||||
|                 led_red: led@26 { | ||||
|                         label = "led_sys"; | ||||
|                         gpios = <&tlmm 26 GPIO_ACTIVE_LOW>; | ||||
|                         linux,default-trigger = "led_sys"; | ||||
|                         default-state = "off"; | ||||
|                 }; | ||||
| 		led@28 { | ||||
|                         label = "led_onekey"; | ||||
|                         gpios = <&tlmm 28 GPIO_ACTIVE_LOW>; | ||||
|                         linux,default-trigger = "led_onekey"; | ||||
|                         default-state = "off"; | ||||
|                 }; | ||||
|         }; | ||||
| }; | ||||
|  | ||||
| &q6v5_wcss { | ||||
| 	compatible = "qcom,ipq5018-q6-mpd"; | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <1>; | ||||
| 	ranges; | ||||
| 	firmware = "IPQ5018/q6_fw.mdt"; | ||||
| 	reg = <0x0cd00000 0x4040>, | ||||
| 		<0x1938000 0x8>, | ||||
| 		<0x193d204 0x4>; | ||||
| 	reg-names = "qdsp6", | ||||
| 			"tcsr-msip", | ||||
| 			"tcsr-q6"; | ||||
| 	resets = <&gcc GCC_WCSSAON_RESET>, | ||||
| 			<&gcc GCC_WCSS_Q6_BCR>; | ||||
|  | ||||
| 	reset-names = "wcss_aon_reset", | ||||
| 			"wcss_q6_reset"; | ||||
|  | ||||
| 	clocks = <&gcc GCC_Q6_AXIS_CLK>, | ||||
| 		<&gcc GCC_WCSS_ECAHB_CLK>, | ||||
| 		<&gcc GCC_Q6_AXIM_CLK>, | ||||
| 		<&gcc GCC_Q6_AXIM2_CLK>, | ||||
| 		<&gcc GCC_Q6_AHB_CLK>, | ||||
| 		<&gcc GCC_Q6_AHB_S_CLK>, | ||||
| 		<&gcc GCC_WCSS_AXI_S_CLK>; | ||||
| 	clock-names = "gcc_q6_axis_clk", | ||||
| 		"gcc_wcss_ecahb_clk", | ||||
| 		"gcc_q6_axim_clk", | ||||
| 		"gcc_q6_axim2_clk", | ||||
| 		"gcc_q6_ahb_clk", | ||||
| 		"gcc_q6_ahb_s_clk", | ||||
| 		"gcc_wcss_axi_s_clk"; | ||||
|  | ||||
| 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||
| 		memory-region = <&q6_mem_regions>, <&q6_etr_region>; | ||||
| 	#else | ||||
| 		memory-region = <&q6_mem_regions>, <&q6_etr_region>, | ||||
| 				<&q6_caldb_region>; | ||||
| 	#endif | ||||
|  | ||||
| 	qcom,rproc = <&q6v5_wcss>; | ||||
| 	qcom,bootargs_smem = <507>; | ||||
| 	boot-args = <0x1 0x4 0x3 0x0F 0x0 0x0>, | ||||
| 			<0x2 0x4 0x2 0x12 0x0 0x0>; | ||||
| 	status = "ok"; | ||||
| 	q6_wcss_pd1: remoteproc_pd1@4ab000 { | ||||
| 		compatible = "qcom,ipq5018-wcss-ahb-mpd"; | ||||
| 		reg = <0x4ab000 0x20>; | ||||
| 		reg-names = "rmb"; | ||||
| 		firmware = "IPQ5018/q6_fw.mdt"; | ||||
| 		m3_firmware = "IPQ5018/m3_fw.mdt"; | ||||
| 		interrupts-extended = <&wcss_smp2p_in 8 0>, | ||||
| 					<&wcss_smp2p_in 9 0>, | ||||
| 					<&wcss_smp2p_in 12 0>, | ||||
| 					<&wcss_smp2p_in 11 0>; | ||||
| 		interrupt-names = "fatal", | ||||
| 					"ready", | ||||
| 					"spawn-ack", | ||||
| 					"stop-ack"; | ||||
|  | ||||
| 		resets = <&gcc GCC_WCSSAON_RESET>, | ||||
| 				<&gcc GCC_WCSS_BCR>, | ||||
| 				<&gcc GCC_CE_BCR>; | ||||
| 		reset-names = "wcss_aon_reset", | ||||
| 				"wcss_reset", | ||||
| 				"ce_reset"; | ||||
|  | ||||
| 		clocks = <&gcc GCC_WCSS_AHB_S_CLK>, | ||||
| 				<&gcc GCC_WCSS_ACMT_CLK>, | ||||
| 				<&gcc GCC_WCSS_AXI_M_CLK>; | ||||
| 		clock-names = "gcc_wcss_ahb_s_clk", | ||||
| 					"gcc_wcss_acmt_clk", | ||||
| 					"gcc_wcss_axi_m_clk"; | ||||
|  | ||||
| 		qcom,halt-regs = <&tcsr_q6_block 0xa000 0xd000 0x0>; | ||||
|  | ||||
| 		qcom,smem-states = <&wcss_smp2p_out 8>, | ||||
| 					<&wcss_smp2p_out 9>, | ||||
| 					<&wcss_smp2p_out 10>; | ||||
| 		qcom,smem-state-names = "shutdown", | ||||
| 					"stop", | ||||
| 					"spawn"; | ||||
| 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||
| 		memory-region = <&q6_ipq5018_data>, <&m3_dump>, | ||||
| 				<&q6_etr_region>; | ||||
| 	#else | ||||
| 		memory-region = <&q6_ipq5018_data>, <&m3_dump>, | ||||
| 				<&q6_etr_region>, <&q6_caldb_region>; | ||||
| 	#endif | ||||
|  | ||||
| 	}; | ||||
|  | ||||
| 	q6_wcss_pd2: remoteproc_pd2 { | ||||
| 		compatible = "qcom,ipq5018-wcss-pcie-mpd"; | ||||
| 		firmware = "IPQ5018/q6_fw.mdt"; | ||||
| 		m3_firmware = "qcn6122/m3_fw.mdt"; | ||||
| 		interrupts-extended = <&wcss_smp2p_in 16 0>, | ||||
| 					<&wcss_smp2p_in 17 0>, | ||||
| 					<&wcss_smp2p_in 20 0>, | ||||
| 					<&wcss_smp2p_in 19 0>; | ||||
| 		interrupt-names = "fatal", | ||||
| 					"ready", | ||||
| 					"spawn-ack", | ||||
| 					"stop-ack"; | ||||
|  | ||||
| 		qcom,smem-states = <&wcss_smp2p_out 16>, | ||||
| 					<&wcss_smp2p_out 17>, | ||||
| 					<&wcss_smp2p_out 18>; | ||||
| 		qcom,smem-state-names = "shutdown", | ||||
| 					"stop", | ||||
| 					"spawn"; | ||||
| 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||
| 		memory-region = <&q6_qcn6122_data1>, <&m3_dump_qcn6122_1>, | ||||
| 				<&q6_qcn6122_etr_1>; | ||||
| 	#else | ||||
| 		memory-region = <&q6_qcn6122_data1>, <&m3_dump_qcn6122_1>, | ||||
| 				<&q6_qcn6122_etr_1>, <&q6_qcn6122_caldb_1>; | ||||
| 	#endif | ||||
|  | ||||
| 	}; | ||||
|  | ||||
| 	q6_wcss_pd3: remoteproc_pd3 { | ||||
| 		compatible = "qcom,ipq5018-wcss-pcie-mpd"; | ||||
| 		firmware = "IPQ5018/q6_fw.mdt"; | ||||
| 		interrupts-extended = <&wcss_smp2p_in 24 0>, | ||||
| 					<&wcss_smp2p_in 25 0>, | ||||
| 					<&wcss_smp2p_in 28 0>, | ||||
| 					<&wcss_smp2p_in 27 0>; | ||||
| 		interrupt-names = "fatal", | ||||
| 					"ready", | ||||
| 					"spawn-ack", | ||||
| 					"stop-ack"; | ||||
|  | ||||
| 		qcom,smem-states = <&wcss_smp2p_out 24>, | ||||
| 					<&wcss_smp2p_out 25>, | ||||
| 					<&wcss_smp2p_out 26>; | ||||
| 		qcom,smem-state-names = "shutdown", | ||||
| 					"stop", | ||||
| 					"spawn"; | ||||
| 	#ifdef	__IPQ_MEM_PROFILE_256_MB__ | ||||
| 		memory-region = <&q6_qcn6122_data2>, <&m3_dump_qcn6122_2>, | ||||
| 				<&q6_qcn6122_etr_2>; | ||||
| 	#else | ||||
| 		memory-region = <&q6_qcn6122_data2>, <&m3_dump_qcn6122_2>, | ||||
| 				<&q6_qcn6122_etr_2>, <&q6_qcn6122_caldb_2>; | ||||
| 	#endif | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &i2c_0 { | ||||
| 	pinctrl-0 = <&i2c_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	/* IPQ5018 */ | ||||
| 	qcom,multipd_arch; | ||||
| 	qcom,rproc = <&q6_wcss_pd1>; | ||||
| 	qcom,userpd-subsys-name = "q6v5_wcss_userpd1"; | ||||
| #ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||
| 	qcom,tgt-mem-mode = <2>; | ||||
| #else | ||||
| 	qcom,tgt-mem-mode = <1>; | ||||
| #endif | ||||
| 	qcom,board_id = <0x24>; | ||||
| #ifdef __CNSS2__ | ||||
| 	qcom,bdf-addr = <0x4C400000 0x4C400000 0x4C400000 0x0 0x0>; | ||||
| 	qcom,caldb-addr = <0x4D400000 0x4D400000 0 0 0>; | ||||
| 	qcom,caldb-size = <0x200000>; | ||||
| 	mem-region = <&q6_ipq5018_data>; | ||||
| #else | ||||
| 	memory-region = <&q6_ipq5018_data>; | ||||
| #endif | ||||
| 	status = "ok"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	/* QCN6122 5G */ | ||||
| 	qcom,multipd_arch; | ||||
| 	qcom,userpd-subsys-name = "q6v5_wcss_userpd2"; | ||||
| 	qcom,rproc = <&q6_wcss_pd2>; | ||||
| #ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||
| 	qcom,tgt-mem-mode = <2>; | ||||
| #else | ||||
| 	qcom,tgt-mem-mode = <1>; | ||||
| #endif | ||||
| 	qcom,board_id = <0x50>; | ||||
| #ifdef __CNSS2__ | ||||
| 	qcom,bdf-addr = <0x4D600000 0x4D600000 0x4D300000 0x0 0x0>; | ||||
| 	qcom,caldb-addr = <0x4E800000 0x4E800000 0 0 0>; | ||||
| 	qcom,caldb-size = <0x500000>; | ||||
| 	mem-region = <&q6_qcn6122_data1>; | ||||
| #else | ||||
| 	memory-region = <&q6_qcn6122_data1>; | ||||
| #endif | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &wifi2 { | ||||
| 	/* QCN6122 6G */ | ||||
| 	qcom,multipd_arch; | ||||
| 	qcom,userpd-subsys-name = "q6v5_wcss_userpd3"; | ||||
| 	qcom,rproc = <&q6_wcss_pd3>; | ||||
| #ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||
| 	qcom,tgt-mem-mode = <2>; | ||||
| #else | ||||
| 	qcom,tgt-mem-mode = <1>; | ||||
| #endif | ||||
| 	qcom,board_id = <0xb0>; | ||||
| #ifdef __CNSS2__ | ||||
| 	qcom,bdf-addr = <0x4ED00000 0x4ED00000 0x4E400000 0x0 0x0>; | ||||
| 	qcom,caldb-addr = <0x4FF00000 0x4FF00000 0 0 0>; | ||||
| 	qcom,caldb-size = <0x500000>; | ||||
| 	mem-region = <&q6_qcn6122_data2>; | ||||
| #else | ||||
| 	memory-region = <&q6_qcn6122_data2>; | ||||
| #endif | ||||
| 	status = "ok"; | ||||
| }; | ||||
|  | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "ok"; | ||||
| 	device-power-gpio = <&tlmm 24 1>; | ||||
| }; | ||||
|  | ||||
| &dwc_0 { | ||||
| 	/delete-property/ #phy-cells; | ||||
| 	/delete-property/ phys; | ||||
| 	/delete-property/ phy-names; | ||||
| }; | ||||
| &hs_m31phy_0 { | ||||
| 	status = "ok"; | ||||
| }; | ||||
|  | ||||
| &eud { | ||||
| 	status = "ok"; | ||||
| }; | ||||
|  | ||||
| &pcie_x1 { | ||||
| 	#status = "disabled"; | ||||
| 	#perst-gpio = <&tlmm 18 1>; | ||||
| 	perst-gpio = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &pcie_x2 { | ||||
| 	#status = "disabled"; | ||||
| 	#perst-gpio = <&tlmm 15 1>; | ||||
| 	perst-gpio = <&tlmm 15 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &pcie_x1_rp { | ||||
|         status = "disabled"; | ||||
|  | ||||
| 	mhi_0: qcom,mhi@0 { | ||||
| 		reg = <0 0 0 0 0 >; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &pcie_x2_rp { | ||||
|         status = "disabled"; | ||||
|  | ||||
| 	mhi_1: qcom,mhi@1 { | ||||
| 		reg = <0 0 0 0 0 >; | ||||
|  | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| @@ -120,6 +120,15 @@ define Device/indio_um-525axp | ||||
| endef | ||||
| TARGET_DEVICES += indio_um-525axp | ||||
|  | ||||
| define Device/indio_um-525axm | ||||
|   DEVICE_TITLE := Indio UM-525axm | ||||
|   DEVICE_DTS := qcom-ipq5018-indio-um-525axm | ||||
|   SUPPORTED_DEVICES := indio,um-525axm | ||||
|   DEVICE_PACKAGES := ath11k-wifi-indio-um-525axm ath11k-firmware-ipq50xx-spruce ath11k-firmware-qcn6122 | ||||
|   DEVICE_DTS_CONFIG := config@mp03.5-c1 | ||||
| endef | ||||
| TARGET_DEVICES += indio_um-525axm | ||||
|  | ||||
| define Device/udaya_a6_id2 | ||||
|   DEVICE_TITLE := Udaya A6 - ID2 | ||||
|   DEVICE_DTS := qcom-ipq5018-udaya-a6-id2 | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -14,9 +14,12 @@ ipq53xx_setup_interfaces() | ||||
| 		;; | ||||
| 	cig,wf189|\ | ||||
| 	edgecore,eap105|\ | ||||
| 	sercomm,ap72tip|\ | ||||
| 	sercomm,ap72tip) | ||||
| 		ucidef_set_interfaces_lan_wan "eth1" "eth0" | ||||
| 		;; | ||||
| 	sonicfi,rap750w-311a) | ||||
| 		ucidef_set_interfaces_lan_wan "eth1" "eth0" | ||||
| 		ucidef_add_switch "switch1" "0u@eth1" "3:lan" "2:lan" "1:lan" | ||||
| 		;; | ||||
| 	sonicfi,rap7110c-341x|\ | ||||
| 	sonicfi,rap750e-h|\ | ||||
|   | ||||
| @@ -1180,7 +1180,7 @@ CONFIG_QTI_LICENSE_MANAGER=y | ||||
| # CONFIG_SYMBOLIC_ERRNAME is not set | ||||
| # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set | ||||
| # CONFIG_LEDS_CLASS_MULTICOLOR is not set | ||||
| # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set | ||||
| CONFIG_LEDS_TRIGGER_HEARTBEAT=y  | ||||
| # CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set | ||||
| # CONFIG_PINCTRL_SINGLE is not set | ||||
| # CONFIG_RANDOM_TRUST_BOOTLOADER is not set | ||||
|   | ||||
| @@ -2,6 +2,8 @@ | ||||
|  | ||||
| 'use strict'; | ||||
|  | ||||
| push(REQUIRE_SEARCH_PATH, '/usr/share/ucentral/*.uc'); | ||||
|  | ||||
| import * as libubus from 'ubus'; | ||||
| import * as libuci from 'uci'; | ||||
| import * as uloop from 'uloop'; | ||||
| @@ -36,6 +38,7 @@ let ucentral_running = false; | ||||
| let pending_events = []; | ||||
| let relay = {}; | ||||
| let net_config = {}; | ||||
| let vlan_refcount = {}; | ||||
|  | ||||
|  | ||||
| function config_load() { | ||||
| @@ -52,6 +55,20 @@ function config_load() { | ||||
| 	net_config = {}; | ||||
| } | ||||
|  | ||||
| function vlan_refcount_init() { | ||||
| 	let stations = require('wifi.station'); | ||||
|  | ||||
| 	vlan_refcount = {}; | ||||
|  | ||||
| 	for (let k, v in stations) { | ||||
| 		let vlan = split(k, '-v')[1]; | ||||
| 		let count = length(v); | ||||
| 		if (vlan && count > 0) { | ||||
| 			vlan_refcount[vlan] = count; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| function match(object, type, list) { | ||||
| 	if (object in list || type in list) | ||||
| 		return true; | ||||
| @@ -258,6 +275,13 @@ handlers = { | ||||
| 	}, | ||||
|  | ||||
| 	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) | ||||
| 			return handlers.vlan_add_swconfig(notify); | ||||
|  | ||||
| @@ -280,6 +304,14 @@ handlers = { | ||||
| 	}, | ||||
|  | ||||
| 	vlan_remove: function(notify) { | ||||
| 		let vlan_id = `${notify.data.vlan_id}`; | ||||
| 		vlan_refcount[vlan_id] = (vlan_refcount[vlan_id] || 1) - 1; | ||||
|  | ||||
| 		if (vlan_refcount[vlan_id] > 0) { | ||||
| 			return; | ||||
| 		} | ||||
| 		delete vlan_refcount[vlan_id]; | ||||
|  | ||||
| 		if (config.config.swconfig) | ||||
| 			return; | ||||
| 		for (let wan in wan_ports) { | ||||
| @@ -624,6 +656,7 @@ let ubus_methods = { | ||||
| }; | ||||
|  | ||||
| config_load(); | ||||
| vlan_refcount_init(); | ||||
|  | ||||
| hapd_subscriber = ubus.subscriber(hapd_subscriber_notify_cb, hapd_subscriber_remove_cb); | ||||
| dhcp_subscriber = ubus.subscriber(dhcp_subscriber_notify_cb, dhcp_subscriber_remove_cb); | ||||
|   | ||||
| @@ -4,10 +4,10 @@ PKG_NAME:=ucentral-schema | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE_URL=https://github.com/Telecominfraproject/wlan-ucentral-schema.git | ||||
| PKG_MIRROR_HASH:=d36e17c47d793fb3b0181ed92411e31a2be8e0ff6f9fad89d9704146f9f251cb | ||||
| PKG_MIRROR_HASH:=f72d2e5b01ecb7a488d50d860da63664d992e50c7e046fed866be6733bab3c1c | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_DATE:=2025-09-24 | ||||
| PKG_SOURCE_VERSION:=100c045af16bc13db7af936a4cf6f675eb651974 | ||||
| PKG_SOURCE_DATE:=2025-09-29 | ||||
| PKG_SOURCE_VERSION:=676e1550c53b7d48a54aa759f65d341168627c5e | ||||
| PKG_MAINTAINER:=John Crispin <john@phrozen.org> | ||||
| PKG_LICENSE:=BSD-3-Clause | ||||
|  | ||||
|   | ||||
| @@ -1,16 +1,22 @@ | ||||
| From ec135e7aefac08806fbabb0634a2bd88a169dfc6 Mon Sep 17 00:00:00 2001 | ||||
| From: John Crispin <john@phrozen.org> | ||||
| Date: Sat, 15 Jul 2023 15:25:59 +0200 | ||||
| Subject: [PATCH 58/68] ramips: add mt7621_indio_um-305ax | ||||
| From 937c4ba769b4d3a0b5cb804e54fd8bece8efac47 Mon Sep 17 00:00:00 2001 | ||||
| From: Shubham Vishwakarma <shubhamvis98@fossfrog.in> | ||||
| Date: Mon, 29 Sep 2025 10:35:54 +0530 | ||||
| Subject: [PATCH 58/68] ramips: mt7621: add mt7621 indio um-305ax | ||||
| 
 | ||||
| Signed-off-by: John Crispin <john@phrozen.org> | ||||
| Changelog: | ||||
| - Fix MAC address assignment for Ethernet ports
 | ||||
| - Fix Ethernet port configuration (was not working in the current DTS
 | ||||
|   because GPIOs 23 and 24, used for LEDs, are RGMII2 pins) | ||||
| - Add package kmod-7915-firmware to enable Wi-Fi
 | ||||
| 
 | ||||
| Signed-off-by: Shubham Vishwakarma <shubhamvis98@fossfrog.in> | ||||
| ---
 | ||||
|  target/linux/ath79/image/generic.mk           |  22 +-- | ||||
|  .../ramips/dts/mt7621_indio_um-305ax.dts      | 146 ++++++++++++++++++ | ||||
|  .../ramips/dts/mt7621_indio_um-305ax.dts      | 168 ++++++++++++++++++ | ||||
|  target/linux/ramips/image/mt7621.mk           |  11 ++ | ||||
|  .../mt7621/base-files/etc/board.d/02_network  |   6 + | ||||
|  .../etc/hotplug.d/ieee80211/10_fix_wifi_mac   |   6 + | ||||
|  5 files changed, 180 insertions(+), 11 deletions(-) | ||||
|  5 files changed, 202 insertions(+), 11 deletions(-) | ||||
|  create mode 100644 target/linux/ramips/dts/mt7621_indio_um-305ax.dts | ||||
| 
 | ||||
| diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
 | ||||
| @@ -55,27 +61,30 @@ index 5882feafcb..a98a5e816f 100644 | ||||
|    DEVICE_VENDOR := YunCore | ||||
| diff --git a/target/linux/ramips/dts/mt7621_indio_um-305ax.dts b/target/linux/ramips/dts/mt7621_indio_um-305ax.dts
 | ||||
| new file mode 100644 | ||||
| index 0000000000..79cffbdec2
 | ||||
| index 0000000000..42837dd9fe
 | ||||
| --- /dev/null
 | ||||
| +++ b/target/linux/ramips/dts/mt7621_indio_um-305ax.dts
 | ||||
| @@ -0,0 +1,146 @@
 | ||||
| @@ -0,0 +1,168 @@
 | ||||
| +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 | ||||
| +/*
 | ||||
| + * Copyright (c) 2025, Shubham Vishwakarma <shubhamvis98@fossfrog.in>
 | ||||
| + */
 | ||||
| +
 | ||||
| +/dts-v1/;
 | ||||
| +
 | ||||
| +#include "mt7621.dtsi"
 | ||||
| +
 | ||||
| +#include <dt-bindings/gpio/gpio.h>
 | ||||
| +#include <dt-bindings/input/input.h>
 | ||||
| +
 | ||||
| +/ {
 | ||||
| +	compatible = "indio,um-305ax", "mediatek,mt7621-soc";
 | ||||
| +	model = "INDIO UM-305AX";
 | ||||
| +	model = "Indio UM-305AX";
 | ||||
| +
 | ||||
| +	aliases {
 | ||||
| +		led-boot = &led_green;
 | ||||
| +		led-failsafe = &led_red;
 | ||||
| +		led-running = &led_blue;
 | ||||
| +		led-upgrade = &led_red;
 | ||||
| +		label-mac-device = &wan_port;
 | ||||
| +		led-failsafe = &led_green;
 | ||||
| +		led-running = &led_green;
 | ||||
| +		led-upgrade = &led_green;
 | ||||
| +	};
 | ||||
| +
 | ||||
| +	chosen {
 | ||||
| @@ -84,6 +93,11 @@ index 0000000000..79cffbdec2 | ||||
| +	};
 | ||||
| +
 | ||||
| +	leds {
 | ||||
| +		/*
 | ||||
| +		* GPIO 23 and 24 LEDs won’t work because these pins are part of the RGMII2 pin group.
 | ||||
| +		* To make the LEDs work, we need to change the &state_default node’s group variable
 | ||||
| +		* to "rgmii2", which restores LED functionality but disables the Ethernet ports.
 | ||||
| +		*/
 | ||||
| +		compatible = "gpio-leds";
 | ||||
| +
 | ||||
| +		led_blue: blue {
 | ||||
| @@ -119,7 +133,7 @@ index 0000000000..79cffbdec2 | ||||
| +
 | ||||
| +&state_default {
 | ||||
| +	gpio {
 | ||||
| +		groups = "rgmii2";
 | ||||
| +		groups = "jtag", "wdt";
 | ||||
| +		function = "gpio";
 | ||||
| +	};
 | ||||
| +};
 | ||||
| @@ -136,15 +150,19 @@ index 0000000000..79cffbdec2 | ||||
| +};
 | ||||
| +
 | ||||
| +&gmac0 {
 | ||||
| +	mtd-mac-address = <&factory 0x4>;
 | ||||
| +	status = "okay";
 | ||||
| +	nvmem-cells = <&macaddr_offset>;
 | ||||
| +	nvmem-cell-names = "mac-address";
 | ||||
| +};
 | ||||
| +
 | ||||
| +&switch0 {
 | ||||
| +	ports {
 | ||||
| +		wan_port: port@0 {
 | ||||
| +		port@0 {
 | ||||
| +			status = "okay";
 | ||||
| +			label = "wan";
 | ||||
| +			mtd-mac-address = <&factory 0x28>;
 | ||||
| +			nvmem-cells = <&macaddr_offset>;
 | ||||
| +			nvmem-cell-names = "mac-address";
 | ||||
| +			mac-address-increment = <1>;
 | ||||
| +		};
 | ||||
| +
 | ||||
| +		port@1 {
 | ||||
| @@ -205,6 +223,16 @@ index 0000000000..79cffbdec2 | ||||
| +	};
 | ||||
| +};
 | ||||
| +
 | ||||
| +&factory {
 | ||||
| +	compatible = "nvmem-cells";
 | ||||
| +	#address-cells = <1>;
 | ||||
| +	#size-cells = <1>;
 | ||||
| +
 | ||||
| +	macaddr_offset: macaddr@4 {
 | ||||
| +		reg = <0x4 0x6>;
 | ||||
| +	};
 | ||||
| +};
 | ||||
| +
 | ||||
| diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
 | ||||
| index 962d7ef440..8790a2fa50 100644
 | ||||
| --- a/target/linux/ramips/image/mt7621.mk
 | ||||
| @@ -269,5 +297,5 @@ index 3467e783f0..d5bd50fdf7 100644 | ||||
|  		[ "$PHYNBR" = "1" ] && \ | ||||
|  			macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress | ||||
| -- 
 | ||||
| 2.34.1 | ||||
| 2.47.3 | ||||
| 
 | ||||
							
								
								
									
										17
									
								
								profiles/indio_um-525axm.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								profiles/indio_um-525axm.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| --- | ||||
| profile: indio_um-525axm | ||||
| target: ipq50xx | ||||
| subtarget: generic | ||||
| description: Build image for the Indio um-525axm | ||||
| image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-indio_um-525axm-squashfs-sysupgrade.tar | ||||
| feeds: | ||||
|   - name: ipq807x | ||||
|     path: ../../feeds/ipq807x_v5.4 | ||||
| include: | ||||
|   - ucentral-ap | ||||
| packages: | ||||
|   - ipq50xx | ||||
| diffconfig: | | ||||
|   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 | ||||
|   CONFIG_BUSYBOX_CUSTOM=y | ||||
|   CONFIG_BUSYBOX_CONFIG_STTY=y   | ||||
		Reference in New Issue
	
	Block a user
	 jaspreetsachdev
					jaspreetsachdev