mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-31 18:38:10 +00:00 
			
		
		
		
	ipq95xx: various updates
* finalize CIG WF198 support * add Sercomm AP72tip support * update BDF files * improve firmware package Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
		| @@ -1,11 +1,11 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=ath12k-firmware | ||||
| PKG_MIRROR_HASH:=a325f86b1d613f713d2e015abca4a9ff86c8448d4cd540fa022866da2c5aa042 | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_BRANCH:=main | ||||
| PKG_SOURCE_URL:=https://github.com/quic/upstream-wifi-fw.git | ||||
| PKG_MIRROR_HASH:=ade4287ff2935ad1d54e5dabb8e6de28f648d0974fa76238fcc1616235e6773e | ||||
| PKG_SOURCE_VERSION:=3417bb86645c5ff4c58258db7cc33e43260b4222 | ||||
| PKG_SOURCE_VERSION:=e90d32aaa149800ea79760639cb5ac9ddcfc8281 | ||||
|  | ||||
| PKG_MAINTAINER:=John Crispin <john@phrozen.org> | ||||
|  | ||||
| @@ -18,20 +18,59 @@ define Package/ath12k-firmware-default | ||||
|   DEPENDS:= | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-firmware-qcn92xx-split-phy | ||||
|   $(Package/ath12k-firmware-default) | ||||
|   TITLE:=ath12k firmware for qcn92xx split phy devices | ||||
|   DEPENDS:=@(TARGET_ipq95xx||TARGET_ipq53xx) | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-firmware-qcn92xx | ||||
|   $(Package/ath12k-firmware-default) | ||||
|   TITLE:=ath12k firmware for qcn92xx devices | ||||
|   DEPENDS:=@TARGET_ipq95xx | ||||
|   DEPENDS:=@(TARGET_ipq95xx||TARGET_ipq53xx) | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-firmware-ipq53xx | ||||
|   $(Package/ath12k-firmware-default) | ||||
|   TITLE:=ath12k firmware for ipq53xx devices | ||||
|   DEPENDS:=@TARGET_ipq53xx | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-firmware-ipq53xx-wk-wk | ||||
|   $(Package/ath12k-firmware-default) | ||||
|   TITLE:=ath12k firmware for ipq53xx + wk + wk devices | ||||
|   DEPENDS:=@TARGET_ipq53xx | ||||
| endef | ||||
|  | ||||
| define Build/Compile | ||||
|  | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-firmware-qcn92xx-split-phy/install | ||||
| 	$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0 | ||||
| 	$(CP) $(PKG_BUILD_DIR)/ath12k-firmware/QCN9274/hw2.0_split_phy/1.2.1/WLAN.WBE.1.2.1-00148-QCAHKSWPL_SILICONZ-1/* \ | ||||
| 		$(1)/lib/firmware/ath12k/QCN92XX/hw1.0 | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-firmware-qcn92xx/install | ||||
| 	$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw2.0 | ||||
| 	$(INSTALL_DATA) $(PKG_BUILD_DIR)/ath12k-firmware/QCN9274/hw2.0/1.1.1/WLAN.WBE.1.1.1-00126-QCAHKSWPL_SILICONZ-1/* \ | ||||
| 		$(1)/lib/firmware/ath12k/QCN92XX/hw2.0 | ||||
| 	$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0 | ||||
| 	$(CP) $(PKG_BUILD_DIR)/ath12k-firmware/QCN9274/hw2.0/1.2.1/WLAN.WBE.1.2.1-00201-QCAHKSWPL_SILICONZ-1/* \ | ||||
| 		$(1)/lib/firmware/ath12k/QCN92XX/hw1.0 | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-firmware-ipq53xx/install | ||||
| 	$(INSTALL_DIR) $(1)/lib/firmware/IPQ5332/ | ||||
| 	$(CP) $(PKG_BUILD_DIR)/ath12k-firmware//IPQ5322/hw1.0/1.2.1/WLAN.WBE.1.2.1-00201-QCAHKSWPL_SILICONZ-1/* \ | ||||
| 		$(1)/lib/firmware/IPQ5332/ | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-firmware-ipq53xx-wk-wk/install | ||||
| 	$(INSTALL_DIR) $(1)/lib/firmware/IPQ5332/ | ||||
| 	$(CP) $(PKG_BUILD_DIR)/ath12k-firmware/IPQ5322_QCN6432_QCN6432/hw1.0/testing/1.3/WLAN.WBE.1.3-02907-QCAHKSWPL_SILICONZ-1/* \ | ||||
| 		$(1)/lib/firmware/IPQ5332/ | ||||
| endef | ||||
|  | ||||
| $(eval $(call BuildPackage,ath12k-firmware-qcn92xx)) | ||||
| $(eval $(call BuildPackage,ath12k-firmware-qcn92xx-split-phy)) | ||||
| $(eval $(call BuildPackage,ath12k-firmware-ipq53xx)) | ||||
| $(eval $(call BuildPackage,ath12k-firmware-ipq53xx-wk-wk)) | ||||
|   | ||||
| @@ -38,10 +38,27 @@ $(call Package/ath12k-wifi-default) | ||||
|     TITLE:=board.bin for CIG WF198 | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-wifi-sercomm-ap72tip | ||||
| $(call Package/ath12k-wifi-default) | ||||
|     TITLE:=board.bin for Sercomm WIFI-7 | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-wifi-cig-wf198/install | ||||
| 	$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0 | ||||
| 	$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0 | ||||
| 	$(INSTALL_DATA) ./regdb.bin $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/ | ||||
| 	$(INSTALL_DATA) ./board-cig-wf198.bin.qcn9224 $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/board.bin | ||||
| 	$(INSTALL_DATA) ./regdb.bin $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/ | ||||
| 	$(INSTALL_DATA) ./board-cig-wf198.bin.ipq53xx $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board.bin | ||||
| endef | ||||
|  | ||||
| define Package/ath12k-wifi-sercomm-ap72tip/install | ||||
| 	$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0 | ||||
| 	$(INSTALL_DATA) ./regdb.bin $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/ | ||||
| 	$(INSTALL_DATA) ./board-sercomm-ap72tip.bin.qcn9224 $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/board.bin | ||||
| 	$(INSTALL_DATA) ./regdb.bin $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/ | ||||
| 	$(INSTALL_DATA) ./board-sercomm-ap72tip.bin.ipq53xx $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board.bin | ||||
| endef | ||||
|  | ||||
| $(eval $(call BuildPackage,ath12k-wifi-qcom-qcn9274)) | ||||
| $(eval $(call BuildPackage,ath12k-wifi-cig-wf198)) | ||||
| $(eval $(call BuildPackage,ath12k-wifi-sercomm-ap72tip)) | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								feeds/ipq95xx/ath12k-wifi/board-cig-wf198.bin.ipq53xx
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/ipq95xx/ath12k-wifi/board-cig-wf198.bin.ipq53xx
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								feeds/ipq95xx/ath12k-wifi/board-sercomm-ap72tip.bin.ipq53xx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/ipq95xx/ath12k-wifi/board-sercomm-ap72tip.bin.ipq53xx
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								feeds/ipq95xx/ath12k-wifi/board-sercomm-ap72tip.bin.qcn9224
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/ipq95xx/ath12k-wifi/board-sercomm-ap72tip.bin.qcn9224
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								feeds/ipq95xx/ath12k-wifi/regdb.bin
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/ipq95xx/ath12k-wifi/regdb.bin
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -21,8 +21,7 @@ DEFAULT_PACKAGES += \ | ||||
| 	kmod-usb-phy-ipq5018 kmod-usb-dwc3-qcom-internal \ | ||||
| 	kmod-qca-nss-ppe kmod-qca-ssdk-nohnat kmod-qca-psdk \ | ||||
| 	kmod-gpio-button-hotplug iwinfo uboot-envtools swconfig \ | ||||
| 	kmod-ath11k-ahb \ | ||||
| 	kmod-ath12k ath12k-firmware-qcn92xx wpad-openssl \ | ||||
| 	kmod-ath12k wpad-openssl \ | ||||
| 	-procd-ujail | ||||
|  | ||||
| $(eval $(call BuildTarget)) | ||||
|   | ||||
							
								
								
									
										18
									
								
								feeds/ipq95xx/ipq53xx/base-files/etc/board.d/01_leds
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								feeds/ipq95xx/ipq53xx/base-files/etc/board.d/01_leds
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| . /lib/functions/uci-defaults.sh | ||||
|  | ||||
| board_config_update | ||||
|  | ||||
| board=$(board_name) | ||||
|  | ||||
| case "$board" in | ||||
| sercomm,ap72tip) | ||||
| 	ucidef_set_led_netdev "wan_link" "wan_link" "green:phy" "eth0" "link" | ||||
| 	ucidef_set_led_netdev "wan_act" "wan_act" "yellow:phy" "eth0" "rx tx" | ||||
| 	;; | ||||
| esac | ||||
|  | ||||
| board_config_flush | ||||
|  | ||||
| exit 0 | ||||
| @@ -2,7 +2,7 @@ | ||||
| 
 | ||||
| . /lib/functions/uci-defaults.sh | ||||
| 
 | ||||
| ipq95xx_setup_interfaces() | ||||
| ipq53xx_setup_interfaces() | ||||
| { | ||||
| 	local board="$1" | ||||
| 
 | ||||
| @@ -10,12 +10,15 @@ ipq95xx_setup_interfaces() | ||||
| 	qcom,ipq9574-ap-al02-c4) | ||||
| 		ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4 eth5" "eth0" | ||||
| 		;; | ||||
| 	sercomm,ap72tip) | ||||
| 		ucidef_set_interfaces_lan_wan "eth1" "eth0" | ||||
| 		;;		 | ||||
| 	esac | ||||
| } | ||||
| 
 | ||||
| board_config_update | ||||
| board=$(board_name) | ||||
| ipq95xx_setup_interfaces $board | ||||
| ipq53xx_setup_interfaces $board | ||||
| board_config_flush | ||||
| 
 | ||||
| exit 0 | ||||
| @@ -30,7 +30,8 @@ board=$(board_name) | ||||
| case "$FIRMWARE" in | ||||
| ath12k/IPQ5332/hw1.0/caldata.bin) | ||||
| 	case "$board" in | ||||
| 	cig,wf198) | ||||
| 	cig,wf198|\ | ||||
| 	sercomm,ap72tip) | ||||
| 		caldata_extract "0:ART" 0x1000 0x20000  | ||||
| 		;; | ||||
| 	esac | ||||
| @@ -40,6 +41,10 @@ ath12k/QCN92XX/hw1.0/cal-pci-0001:01:00.0.bin) | ||||
| 	cig,wf198) | ||||
| 		caldata_extract "0:ART" 0x58800 0x2d000   | ||||
| 		;; | ||||
| 	sercomm,ap72tip) | ||||
| 		caldata_extract "0:ART" 0x58800 0x2d000   | ||||
| 		#caldata_extract "0:ART" 0x26800 0x2d000   | ||||
| 		;; | ||||
| 	esac | ||||
| 	;; | ||||
| *) | ||||
|   | ||||
| @@ -456,6 +456,8 @@ CONFIG_GPIO_DEVRES=y | ||||
| # CONFIG_GPIO_GW_PLD is not set | ||||
| # CONFIG_GPIO_LATCH is not set | ||||
| # CONFIG_GPIO_NXP_74HC153 is not set | ||||
| CONFIG_GPIO_PCA953X=y | ||||
| # CONFIG_GPIO_PCA953X_IRQ is not set | ||||
| # CONFIG_GPIO_SAMA5D2_PIOBU is not set | ||||
| CONFIG_GPIO_SYSFS=y | ||||
| # CONFIG_GPIO_USB_DETECT is not set | ||||
|   | ||||
| @@ -36,36 +36,6 @@ | ||||
|  | ||||
| 	soc { | ||||
| 		pinctrl@1000000 { | ||||
| 			spi_0_pins: spi0-pinmux { | ||||
| 				spi_clock { | ||||
| 					pins = "gpio14"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <2>; | ||||
| 					bias-pull-down; | ||||
| 				}; | ||||
|  | ||||
| 				spi_mosi { | ||||
| 					pins = "gpio15"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <2>; | ||||
| 					bias-pull-down; | ||||
| 				}; | ||||
|  | ||||
| 				spi_miso { | ||||
| 					pins = "gpio16"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <2>; | ||||
| 					bias-pull-down; | ||||
| 				}; | ||||
|  | ||||
| 				spi_cs { | ||||
| 					pins = "gpio17"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <2>; | ||||
| 					bias-pull-up; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			serial_0_pins: serial0-pinmux { | ||||
| 				pins = "gpio18", "gpio19"; | ||||
| 				function = "blsp0_uart0"; | ||||
| @@ -103,11 +73,11 @@ | ||||
| 			}; | ||||
|  | ||||
| 			pwm_pins: pwm_pinmux { | ||||
| 				/*mux_1 { | ||||
| 				mux_1 { | ||||
| 					pins = "gpio26"; | ||||
| 					function = "pwm2"; | ||||
| 					drive-strength = <8>; | ||||
| 				};*/ | ||||
| 				}; | ||||
| 				mux_2 { | ||||
| 					pins = "gpio30"; | ||||
| 					function = "pwm1"; | ||||
| @@ -199,7 +169,6 @@ | ||||
| 			pinctrl-0 = <&pwm_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			used-pwm-indices = <1>, <1>, <1>, <1>; | ||||
| 			dft-pwm-status = <0>, <1>, <1>, <0>; | ||||
| 			#pwm-cells = <2>; | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
| @@ -329,21 +298,6 @@ | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		spi@78b5000 { | ||||
| 			pinctrl-0 = <&spi_0_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			cs-select = <0>; | ||||
| 			status = "ok"; | ||||
|  | ||||
| 			m25p80@0 { | ||||
| 				compatible = "n25q128a11"; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				reg = <0>; | ||||
| 				spi-max-frequency = <50000000>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		spi_2: spi@78b7000 { | ||||
| 			pinctrl-0 = <&spi_2_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
|   | ||||
| @@ -0,0 +1,396 @@ | ||||
| // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) | ||||
| /* | ||||
|  * IPQ5332 AP-MI01.2 board device tree source | ||||
|  * | ||||
|  * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. | ||||
|  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include "ipq5332.dtsi" | ||||
|  | ||||
| / { | ||||
| 	aliases { | ||||
| 		serial0 = &blsp1_uart0; /*console*/ | ||||
| 		serial1 = &blsp1_uart1; /*ble*/ | ||||
| 		ethernet0 = "/soc/dp1"; | ||||
| 		ethernet1 = "/soc/dp2"; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0"; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		pinctrl@1000000 { | ||||
| 			serial_0_pins: serial0-pinmux {  /*console*/ | ||||
| 				pins = "gpio18", "gpio19"; | ||||
| 				function = "blsp0_uart0"; | ||||
| 				drive-strength = <8>; | ||||
| 				bias-pull-up; | ||||
| 			}; | ||||
|  | ||||
| 			serial_1_pins: serial1-pinmux {  /*ble*/ | ||||
| //				pins = "gpio33", "gpio34", "gpio35", "gpio36"; | ||||
| 				pins = "gpio33", "gpio35"; | ||||
| 				function = "blsp1_uart2"; | ||||
| 				drive-strength = <8>; | ||||
| 				bias-pull-up; | ||||
| 			}; | ||||
| 			 | ||||
| 			//serial_2_pins: serial2-pinmux {  /*gps*/ | ||||
| 			/*	pins = "gpio33", "gpio34", "gpio35", "gpio36"; | ||||
| 				function = "blsp1_uart1"; | ||||
| 				drive-strength = <8>; | ||||
| 				bias-pull-up; | ||||
| 			};*/ | ||||
|  | ||||
| 			i2c_2_pins: i2c-2-pinmux { | ||||
| 				pins = "gpio43", "gpio45"; | ||||
| 				function = "blsp2_i2c0"; | ||||
| 				drive-strength = <8>; | ||||
| 				bias-pull-up; | ||||
| 			}; | ||||
|  | ||||
| 			 | ||||
| 			spi_0_pins: spi0-pinmux { | ||||
| 				spi_clock { | ||||
| 					pins = "gpio14"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-down; | ||||
| 				}; | ||||
|  | ||||
| 				spi_mosi { | ||||
| 					pins = "gpio15"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-down; | ||||
| 				}; | ||||
|  | ||||
| 				spi_miso { | ||||
| 					pins = "gpio16"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-down; | ||||
| 				}; | ||||
|  | ||||
| 				spi_cs { | ||||
| 					pins = "gpio17"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-up; | ||||
| 				}; | ||||
| 			}; | ||||
| 			 | ||||
| 			spi_1_pins: spi_1_pins { /* tpm */ | ||||
| 				mux { | ||||
| 					pins = "gpio29", "gpio30", "gpio31", "gpio32"; | ||||
| 					function = "blsp1_spi0"; | ||||
| 					drive-strength = <8>; | ||||
| //					bias-disable; | ||||
| 					bias-pull-up; | ||||
| 				}; | ||||
| 			}; | ||||
| 			 | ||||
| 			mdio0_pins: mdio_pinmux { | ||||
| 				mux_0 { | ||||
| 					pins = "gpio25"; | ||||
| 					function = "mdc0"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-disable; | ||||
| 				}; | ||||
| 				mux_1 { | ||||
| 					pins = "gpio26"; | ||||
| 					function = "mdio0"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-up; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			mdio1_pins: mdio_pinmux { | ||||
| 				mux_0 { | ||||
| 					pins = "gpio27"; | ||||
| 					function = "mdc1"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-disable; | ||||
| 				}; | ||||
| 				mux_1 { | ||||
| 					pins = "gpio28"; | ||||
| 					function = "mdio1"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-up; | ||||
| 				}; | ||||
| 			}; | ||||
| /* | ||||
| 			sfp_pins: sfp_pinmux { | ||||
| 				sfp_rx { | ||||
| 					pins = "gpio45"; | ||||
| 					function = "rx1"; | ||||
| 					bias-disable; | ||||
| 				}; | ||||
| 				sfp_tx { | ||||
| 					pins = "gpio24"; | ||||
| 					function = "gpio"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-down; | ||||
| 					output-low; | ||||
| 				}; | ||||
| 			};*/ | ||||
| 		}; | ||||
|  | ||||
|  | ||||
| 		dp1 { | ||||
| 			device_type = "network"; | ||||
| 			compatible = "qcom,nss-dp"; | ||||
| 			qcom,id = <1>; | ||||
| 			reg = <0x3a500000 0x4000>; | ||||
| 			qcom,mactype = <1>; | ||||
| 			local-mac-address = [000000000000]; | ||||
| 			mdio-bus = <&mdio>; | ||||
| 			qcom,phy-mdio-addr = <24>; | ||||
| 			qcom,link-poll = <1>; | ||||
| 			phy-mode = "sgmii"; | ||||
| 		}; | ||||
| 		 | ||||
| 		dp2 { | ||||
| 			device_type = "network"; | ||||
| 			compatible = "qcom,nss-dp"; | ||||
| 			qcom,id = <2>; | ||||
| 			reg = <0x3a504000 0x4000>; | ||||
| 			qcom,mactype = <1>; | ||||
| 			local-mac-address = [000000000000]; | ||||
| 			qcom,phy-mdio-addr = <0>; | ||||
| 			qcom,link-poll = <1>; | ||||
| 			phy-mode = "sgmii"; | ||||
| 		}; | ||||
|  | ||||
| /*		dp2 { | ||||
| 			device_type = "network"; | ||||
| 			compatible = "qcom,nss-dp"; | ||||
| 			qcom,id = <2>; | ||||
| 			reg = <0x3a504000 0x4000>; | ||||
| 			qcom,mactype = <1>; | ||||
| 			local-mac-address = [000000000000]; | ||||
| 			mdio-bus = <&mdio>; | ||||
| 			qcom,phy-mdio-addr = <30>; | ||||
| 			qcom,link-poll = <1>; | ||||
| 			phy-mode = "sgmii"; | ||||
| 		}; | ||||
| */ | ||||
|  | ||||
| 		mdio:mdio@90000 {  | ||||
| 			status = "ok"; | ||||
| 			pinctrl-0 = <&mdio1_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			/*gpio0 for napa, gpio3 for AQR114C*/ | ||||
| 			phy-reset-gpio = <&tlmm 0 0 &tlmm 3 0>; | ||||
|  | ||||
| 			phy0: ethernet-phy@0 { | ||||
| 				reg = <24>; | ||||
| 			}; | ||||
| 			phy1: ethernet-phy@1 { //aqr114c | ||||
| 				reg = <0>; | ||||
| 				compatible ="ethernet-phy-ieee802.3-c45"; | ||||
| 			}; | ||||
|  | ||||
| 		}; | ||||
|  | ||||
| 		ess-instance { | ||||
| 			ess-switch@3a000000 { | ||||
| 				pinctrl-names = "default"; | ||||
| 				switch_cpu_bmp = <0x1>;  /* cpu port bitmap */ | ||||
| 				switch_lan_bmp = <0x0>; /* lan port bitmap */ | ||||
| 				switch_wan_bmp = <0x6>; /* wan port bitmap */ | ||||
| 				switch_mac_mode = <0xf>; /* mac mode for uniphy instance0*/ | ||||
| 				switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/ | ||||
| //				switch_mac_mode1 = <0xe>; /* mac mode for uniphy instance1*/ | ||||
| 				switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ | ||||
| 				qcom,port_phyinfo { | ||||
| 					port@0 { | ||||
| 						port_id = <1>; | ||||
| 						phy_address = <24>; | ||||
| 					}; | ||||
| 					port@1 { //aqr114c | ||||
| 						port_id = <2>; | ||||
| 						phy_address = <0>; | ||||
| 						ethernet-phy-ieee802.3-c45; | ||||
| 					}; | ||||
| /*					port@1 { | ||||
| 						port_id = <2>; | ||||
| 						phy_address = <30>; | ||||
| 						media-type = "sfp";  | ||||
| 					};*/ | ||||
|  | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		eud@78000 { | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
|  | ||||
| 		/* EDMA host driver configuration for the board */ | ||||
| 		edma@3ab00000 { | ||||
| 			qcom,txdesc-ring-start = <4>;		/* Tx desc ring start ID */ | ||||
| 			qcom,txdesc-rings = <12>;		/* Total number of Tx desc rings to be provisioned */ | ||||
| 			qcom,txcmpl-ring-start = <4>;		/* Tx complete ring start ID */ | ||||
| 			qcom,txcmpl-rings = <12>;		/* Total number of Tx complete rings to be provisioned */ | ||||
| 			qcom,rxfill-ring-start = <4>;		/* Rx fill ring start ID */ | ||||
| 			qcom,rxfill-rings = <4>;		/* Total number of Rx fill rings to be provisioned */ | ||||
| 			qcom,rxdesc-ring-start = <12>;		/* Rx desc ring start ID */ | ||||
| 			qcom,rxdesc-rings = <4>;		/* Total number of Rx desc rings to be provisioned */ | ||||
| 			qcom,rx-page-mode = <0>;		/* Rx fill ring page mode */ | ||||
| 			qcom,tx-map-priority-level = <1>;	/* Tx priority level per port */ | ||||
| 			qcom,rx-map-priority-level = <1>;	/* Rx priority level per core */ | ||||
| 			qcom,ppeds-num = <2>;			/* Number of PPEDS nodes */ | ||||
| 			/* PPE-DS node format: <Rx-fill Tx-cmpl Rx Tx Queue-base Queue-count> */ | ||||
| 			qcom,ppeds-map = <1 1 1 1 32 8>,	/* PPEDS Node#0 ring and queue map */ | ||||
| 					<2 2 2 2 40 8>;		/* PPEDS Node#1 ring and queue map */ | ||||
| 			qcom,txdesc-map = <8 9 10 11>,		/* Port0 per-core Tx ring map */ | ||||
| 					  <12 13 14 15>,	/* Port1 per-core Tx ring map */ | ||||
| 					  <4 5 6 7>;		/* used only for packets from  vp*/ | ||||
| 			qcom,txdesc-fc-grp-map = <1 2>;		/* Per GMAC flow control group map */ | ||||
| 			qcom,rxfill-map = <4 5 6 7>;		/* Per-core Rx fill ring map */ | ||||
| 			qcom,rxdesc-map = <12 13 14 15>;	/* Per-core Rx desc ring map */ | ||||
| 			qcom,rx-queue-start = <0>;		/* Rx queue start */ | ||||
| 			qcom,rx-ring-queue-map = <0 8 16 24>,	/* Priority 0 queues per-core Rx ring map */ | ||||
| 						<1 9 17 25>,	/* Priority 1 queues per-core Rx ring map */ | ||||
| 						<2 10 18 26>,	/* Priority 2 queues per-core Rx ring map */ | ||||
| 						<3 11 19 27>,	/* Priority 3 queues per-core Rx ring map */ | ||||
| 						<4 12 20 28>,	/* Priority 4 queues per-core Rx ring map */ | ||||
| 						<5 13 21 29>,	/* Priority 5 queues per-core Rx ring map */ | ||||
| 						<6 14 22 30>,	/* Priority 6 queues per-core Rx ring map */ | ||||
| 						<7 15 23 31>;	/* Priority 7 queues per-core Rx ring map */ | ||||
| 			interrupts = <0 163 4>,			/* Tx complete ring id #4 IRQ info */ | ||||
| 				   <0 164 4>,			/* Tx complete ring id #5 IRQ info */ | ||||
| 				   <0 165 4>,			/* Tx complete ring id #6 IRQ info */ | ||||
| 				   <0 166 4>,			/* Tx complete ring id #7 IRQ info */ | ||||
| 				   <0 167 4>,			/* Tx complete ring id #8 IRQ info */ | ||||
| 				   <0 168 4>,			/* Tx complete ring id #9 IRQ info */ | ||||
| 				   <0 169 4>,			/* Tx complete ring id #10 IRQ info */ | ||||
| 				   <0 170 4>,			/* Tx complete ring id #11 IRQ info */ | ||||
| 				   <0 171 4>,			/* Tx complete ring id #12 IRQ info */ | ||||
| 				   <0 172 4>,			/* Tx complete ring id #13 IRQ info */ | ||||
| 				   <0 173 4>,			/* Tx complete ring id #14 IRQ info */ | ||||
| 				   <0 174 4>,			/* Tx complete ring id #15 IRQ info */ | ||||
| 				   <0 139 4>,			/* Rx desc ring id #12 IRQ info */ | ||||
| 				   <0 140 4>,			/* Rx desc ring id #13 IRQ info */ | ||||
| 				   <0 141 4>,			/* Rx desc ring id #14 IRQ info */ | ||||
| 				   <0 142 4>,			/* Rx desc ring id #15 IRQ info */ | ||||
| 				   <0 191 4>,			/* Misc error IRQ info */ | ||||
| 				<0 160 4>,			/* PPEDS Node #1(TxComp ring id #1) TxComplete IRQ info */ | ||||
| 				<0 128 4>,			/* PPEDS Node #1(Rx Desc ring id #1) Rx Desc IRQ info */ | ||||
| 				<0 152 4>,			/* PPEDS Node #1(RxFill Desc ring id #1) Rx Fill IRQ info */ | ||||
| 				<0 161 4>,			/* PPEDS Node #2(TxComp ring id #2) TxComplete IRQ info */ | ||||
| 				<0 129 4>,			/* PPEDS Node #2(Rx Desc ring id #2) Rx Desc IRQ info */ | ||||
| 				<0 153 4>;			/* PPEDS Node #2(RxFill Desc ring id #2) Rx Fill IRQ info */ | ||||
| 		}; | ||||
|  | ||||
| 		serial@78af000 { | ||||
| 			pinctrl-0 = <&serial_0_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		serial@78b0000 { | ||||
| 			pinctrl-0 = <&serial_1_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
| 		 | ||||
| 		i2c_2: i2c@78b7000 { | ||||
| 			status = "ok"; | ||||
| 			pinctrl-0 = <&i2c_2_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 		}; | ||||
|  | ||||
| 		 | ||||
| 		spi@78b5000 { | ||||
| 			pinctrl-0 = <&spi_0_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			cs-select = <0>; | ||||
| 			status = "ok"; | ||||
|  | ||||
| 			m25p80@0 { | ||||
| 				compatible = "n25q128a11"; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				reg = <0>; | ||||
| 				spi-max-frequency = <50000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 		 | ||||
| 		/*tpm*/ | ||||
| 		spi@78b6000 { | ||||
| 			pinctrl-0 = <&spi_1_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			cs-select = <0>; | ||||
| 			status = "ok"; | ||||
|  | ||||
| 			tpm: spi-tpm@0 { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				compatible = "st,st33htpm-spi"; | ||||
| 				reg = <0>; | ||||
| 				spi-max-frequency = <20000000>; | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		dma@7984000 { | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		nand@79b0000 { | ||||
| 			pinctrl-0 = <&qspi_nand_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		usb3@8A00000 { | ||||
| 			status = "ok"; | ||||
| 			qcom,select-utmi-as-pipe-clk; | ||||
| 			dwc3@8A00000 { | ||||
| 				/delete-property/ #phy-cells; | ||||
| 				/delete-property/ phys; | ||||
| 				/delete-property/ phy-names; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		hs_m31phy@7b000 { | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		phy_x2@4b1000 { | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		wsi: wsi { | ||||
| 			id = <0>; | ||||
| 			num_chip = <3>; | ||||
| 		}; | ||||
|  | ||||
| 		pcie@18000000 { | ||||
| 			status = "ok"; | ||||
| 			pcie1_rp { | ||||
| 				reg = <0 0 0 0 0>; | ||||
|  | ||||
| 				qcom,mhi@1 { | ||||
| 					reg = <0 0 0 0 0>; | ||||
| 					qti,disable-rddm-prealloc; | ||||
| 					qti,rddm-seg-len = <0x1000>; | ||||
| #if defined(__CNSS2__) | ||||
| 					qrtr_node_id = <0x31>; | ||||
| 					memory-region = <0>, <&mhi_region1>; | ||||
| #else | ||||
| 					memory-region = <&qcn9224_pcie1>; | ||||
| 					qcom,board_id = <0x16>; | ||||
| 					qcom,wsi = <&wsi>; | ||||
| #endif | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 	}; | ||||
| }; | ||||
| @@ -0,0 +1,164 @@ | ||||
| // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) | ||||
| /* | ||||
|  * IPQ5332 AP-MI01.2 board device tree source | ||||
|  * | ||||
|  * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. | ||||
|  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. | ||||
|  */ | ||||
|  | ||||
| /dts-v1/; | ||||
|  | ||||
|  | ||||
| #ifdef __IPQ_MEM_PROFILE_512_MB__ | ||||
| #include "ipq5332-512MB-memory.dtsi" | ||||
| #else | ||||
| #include "ipq5332-default-memory.dtsi" | ||||
| #endif | ||||
|  | ||||
| #include "ipq5332-sercomm-mi01.2.dtsi" | ||||
|  | ||||
| / { | ||||
| 	#address-cells = <0x2>; | ||||
| 	#size-cells = <0x2>; | ||||
| 	model = "Sercomm WiFi-7"; | ||||
| 	compatible = "sercomm,ap72tip", "qcom,ipq5332"; | ||||
| 	interrupt-parent = <&intc>; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_power; | ||||
| 		led-failsafe = &led_power; | ||||
| 		led-running = &led_power; | ||||
| 		led-upgrade = &led_power; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		phy@4b0000 { | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
|  | ||||
|  | ||||
| 		pcie@20000000 { | ||||
| 			status = "disabled"; | ||||
| 			pcie0_rp { | ||||
| 				reg = <0 0 0 0 0>; | ||||
| 				qcom,mhi@2 { | ||||
| 					reg = <0 0 0 0 0>; | ||||
| 					qti,disable-rddm-prealloc; | ||||
| 					qti,rddm-seg-len = <0x1000>; | ||||
| #if defined(__CNSS2__) | ||||
| 					qrtr_node_id = <0x30>; | ||||
| 					memory-region = <0>, <&mhi_region0>; | ||||
| #else | ||||
| 					memory-region = <&qcn9224_pcie0>; | ||||
| 					qcom,board_id = <0x15>; | ||||
| 					qcom,wsi = <&wsi>; | ||||
| #endif | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		pinctrl@1000000 { | ||||
| 			button_pins: button_pins { | ||||
| 				rst_button { | ||||
| 					pins = "gpio1"; | ||||
| 					function = "gpio"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-up; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		gpio_keys { | ||||
| 			compatible = "gpio-keys"; | ||||
| 			pinctrl-0 = <&button_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			button@1 { | ||||
| 				label = "rst"; | ||||
| 				linux,code = <KEY_RESTART>; | ||||
| 				gpios = <&tlmm 1 GPIO_ACTIVE_LOW>; | ||||
| 				linux,input-type = <1>; | ||||
| 				debounce-interval = <60>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		leds { | ||||
| 			compatible = "gpio-leds"; | ||||
|  | ||||
| 			led@25 { | ||||
| 				label = "blue:status"; | ||||
| 				gpios = <&tca6416 9 GPIO_ACTIVE_HIGH>; | ||||
| 				default-state = "off"; | ||||
| 			}; | ||||
| 			led@24 { | ||||
| 				label = "red:status"; | ||||
| 				gpios = <&tca6416 10 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
| 			led_power: led@16 { | ||||
| 				label = "green:status"; | ||||
| 				gpios = <&tca6416 11 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
| 			led@61 { | ||||
| 				label = "green:phy"; | ||||
| 				gpios = <&tca6416 13 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
| 			led@62 { | ||||
| 				label = "yellow:phy"; | ||||
| 				gpios = <&tca6416 14 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	qcom,rproc = <&q6_wcss_pd1>; | ||||
| 	qcom,rproc_rpd = <&q6v5_wcss>; | ||||
| 	qcom,multipd_arch; | ||||
| 	qcom,userpd-subsys-name = "q6v5_wcss_userpd1"; | ||||
| #if defined(__CNSS2__) | ||||
| 	mem-region = <&q6_region>; | ||||
| #else | ||||
| 	memory-region = <&q6_region>; | ||||
| 	qcom,wsi = <&wsi>; | ||||
| #endif | ||||
| 	qcom,board_id = <0x16>; //orig:0x12->0x16 | ||||
| 	status = "ok"; | ||||
| }; | ||||
|  | ||||
| &qcn9224_pcie0 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &qcn9224_pcie1 { | ||||
| 	status = "ok"; | ||||
| }; | ||||
|  | ||||
| &mhi_region0 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &mhi_region1 { | ||||
| 	status = "ok"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	/* QCN9224 radio 5G */ | ||||
| 	hremote_node = <&qcn9224_pcie0>; | ||||
| 	board_id = <0x15>; | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &wifi2 { | ||||
| 	/* QCN9224 5G+6G */ | ||||
| 	hremote_node = <&qcn9224_pcie1>; | ||||
| 	qcom,board_id = <0x100f>; //0x16->0x1019 | ||||
| 	status = "ok"; | ||||
| }; | ||||
|  | ||||
| &i2c_0 { | ||||
| 	tca6416: gpio@20 { | ||||
| 		compatible = "ti,tca6416"; | ||||
| 		reg = <0x20>; | ||||
| 		gpio-controller; | ||||
| 		#gpio-cells = <2>; | ||||
| 	}; | ||||
| }; | ||||
| @@ -0,0 +1,445 @@ | ||||
| // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) | ||||
| /* | ||||
|  * IPQ5332 AP-MI01.2 board device tree source | ||||
|  * | ||||
|  * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. | ||||
|  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include "ipq5332-sercomm.dtsi" | ||||
|  | ||||
| / { | ||||
| 	aliases { | ||||
| 		serial0 = &blsp1_uart0; /*console*/ | ||||
| 		serial1 = &blsp1_uart1; /*ble*/ | ||||
| 		ethernet0 = "/soc/dp1"; | ||||
| 		ethernet1 = "/soc/dp2"; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0"; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		pinctrl@1000000 { | ||||
| 			serial_0_pins: serial0-pinmux {  /*console*/ | ||||
| 				pins = "gpio18", "gpio19"; | ||||
| 				function = "blsp0_uart0"; | ||||
| 				drive-strength = <8>; | ||||
| 				bias-pull-up; | ||||
| 			}; | ||||
|  | ||||
| 			serial_1_pins: serial1-pinmux {  /*ble*/ | ||||
| //				pins = "gpio33", "gpio34", "gpio35", "gpio36"; | ||||
| 				pins = "gpio33", "gpio35"; | ||||
| 				function = "blsp1_uart2"; | ||||
| 				drive-strength = <8>; | ||||
| 				bias-pull-up; | ||||
| 			}; | ||||
| 			 | ||||
| 			//serial_2_pins: serial2-pinmux {  /*gps*/ | ||||
| 			/*	pins = "gpio33", "gpio34", "gpio35", "gpio36"; | ||||
| 				function = "blsp1_uart1"; | ||||
| 				drive-strength = <8>; | ||||
| 				bias-pull-up; | ||||
| 			};*/ | ||||
|  | ||||
| 			i2c_0_pins: i2c-0-pinmux { | ||||
| 				pins = "gpio43", "gpio45"; | ||||
| 				function = "blsp2_i2c0"; | ||||
| 				drive-strength = <8>; | ||||
| 				bias-pull-up; | ||||
| 			}; | ||||
|  | ||||
| 			 | ||||
| 			spi_0_pins: spi0-pinmux { | ||||
| 				spi_clock { | ||||
| 					pins = "gpio14"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-down; | ||||
| 				}; | ||||
|  | ||||
| 				spi_mosi { | ||||
| 					pins = "gpio15"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-down; | ||||
| 				}; | ||||
|  | ||||
| 				spi_miso { | ||||
| 					pins = "gpio16"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-down; | ||||
| 				}; | ||||
|  | ||||
| 				spi_cs { | ||||
| 					pins = "gpio17"; | ||||
| 					function = "blsp0_spi"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-up; | ||||
| 				}; | ||||
| 			}; | ||||
| 			 | ||||
| 			spi_1_pins: spi_1_pins { /* tpm */ | ||||
| 				mux { | ||||
| 					pins = "gpio29", "gpio30", "gpio31", "gpio32"; | ||||
| 					function = "blsp1_spi0"; | ||||
| 					drive-strength = <8>; | ||||
| //					bias-disable; | ||||
| 					bias-pull-up; | ||||
| 				}; | ||||
| 			}; | ||||
| 			 | ||||
| 			mdio0_pins: mdio_pinmux { | ||||
| 				mux_0 { | ||||
| 					pins = "gpio25"; | ||||
| 					function = "mdc0"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-disable; | ||||
| 				}; | ||||
| 				mux_1 { | ||||
| 					pins = "gpio26"; | ||||
| 					function = "mdio0"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-up; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			mdio1_pins: mdio_pinmux { | ||||
| 				mux_0 { | ||||
| 					pins = "gpio27"; | ||||
| 					function = "mdc1"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-disable; | ||||
| 				}; | ||||
| 				mux_1 { | ||||
| 					pins = "gpio28"; | ||||
| 					function = "mdio1"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-up; | ||||
| 				}; | ||||
| 			}; | ||||
| /* | ||||
| 			sfp_pins: sfp_pinmux { | ||||
| 				sfp_rx { | ||||
| 					pins = "gpio45"; | ||||
| 					function = "rx1"; | ||||
| 					bias-disable; | ||||
| 				}; | ||||
| 				sfp_tx { | ||||
| 					pins = "gpio24"; | ||||
| 					function = "gpio"; | ||||
| 					drive-strength = <8>; | ||||
| 					bias-pull-down; | ||||
| 					output-low; | ||||
| 				}; | ||||
| 			};*/ | ||||
| 		}; | ||||
|  | ||||
|  | ||||
| #if 1	//AQR114C | ||||
| 		dp1 { | ||||
| 			device_type = "network"; | ||||
| 			compatible = "qcom,nss-dp"; | ||||
| 			qcom,id = <1>; | ||||
| 			reg = <0x3a500000 0x4000>; | ||||
| 			qcom,mactype = <1>; | ||||
| 			local-mac-address = [000000000000]; | ||||
| 			mdio-bus = <&mdio>; | ||||
| 			qcom,phy-mdio-addr = <24>; | ||||
| 			qcom,link-poll = <1>; | ||||
| 			phy-mode = "sgmii"; | ||||
| 		};	 | ||||
| 		dp2 { | ||||
| 			device_type = "network"; | ||||
| 			compatible = "qcom,nss-dp"; | ||||
| 			qcom,id = <2>; | ||||
| 			reg = <0x3a504000 0x4000>; | ||||
| 			qcom,mactype = <1>; | ||||
| 			local-mac-address = [000000000000]; | ||||
| 			qcom,phy-mdio-addr = <0>; | ||||
| 			qcom,link-poll = <1>; | ||||
| 			phy-mode = "sgmii"; | ||||
| 		}; | ||||
|  | ||||
| 		mdio:mdio@90000 {  | ||||
| 			status = "ok"; | ||||
| 			pinctrl-0 = <&mdio1_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			/*gpio0 for napa, gpio3 for AQR114C*/ | ||||
| 			//phy-reset-gpio = <&tlmm 0 0 &tlmm 3 0>; | ||||
| 			phy-reset-gpio = <&tlmm 0 0>; | ||||
|  | ||||
| 			phy0: ethernet-phy@0 { | ||||
| 				reg = <24>; | ||||
| 			}; | ||||
| 			phy1: ethernet-phy@1 { //aqr114c | ||||
| 				reg = <0>; | ||||
| 				compatible ="ethernet-phy-ieee802.3-c45"; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		ess-instance { | ||||
| 			ess-switch@3a000000 { | ||||
| 				switch_cpu_bmp = <0x1>;  /* cpu port bitmap */ | ||||
| 				switch_lan_bmp = <0x0>; /* lan port bitmap */ | ||||
| 				switch_wan_bmp = <0x6>; /* wan port bitmap */ | ||||
| 				switch_mac_mode = <0xc>; /* mac mode for uniphy instance0*/ | ||||
| 				switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1  114c*/ | ||||
| 				switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ | ||||
| 				qcom,port_phyinfo { | ||||
| 					port@0 { | ||||
| 						port_id = <1>; | ||||
| 						phy_address = <24>; | ||||
| 					}; | ||||
| 					port@1 { //aqr114c | ||||
| 						port_id = <2>; | ||||
| 						phy_address = <0>; | ||||
| 						ethernet-phy-ieee802.3-c45; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 		 | ||||
| #else	 //SFP | ||||
| 		 | ||||
| 		dp1 { | ||||
| 			device_type = "network"; | ||||
| 			compatible = "qcom,nss-dp"; | ||||
| 			qcom,id = <1>; | ||||
| 			reg = <0x3a500000 0x4000>; | ||||
| 			qcom,mactype = <1>; | ||||
| 			local-mac-address = [000000000000]; | ||||
| 			mdio-bus = <&mdio>; | ||||
| 			qcom,phy-mdio-addr = <24>; | ||||
| 			qcom,link-poll = <1>; | ||||
| 			phy-mode = "sgmii"; | ||||
| 		}; | ||||
| 		dp2 { | ||||
| 			device_type = "network"; | ||||
| 			compatible = "qcom,nss-dp"; | ||||
| 			qcom,id = <2>; | ||||
| 			reg = <0x3a504000 0x4000>; | ||||
| 			qcom,mactype = <1>; | ||||
| 			local-mac-address = [000000000000]; | ||||
| 			mdio-bus = <&mdio>; | ||||
| 			qcom,phy-mdio-addr = <30>; | ||||
| 			qcom,link-poll = <1>; | ||||
| 			phy-mode = "sgmii"; | ||||
| 		}; | ||||
|  | ||||
| 		mdio:mdio@90000 {  | ||||
| 			status = "ok"; | ||||
| 			pinctrl-0 = <&mdio1_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			/*gpio0 for napa, gpio3 for AQR114C*/ | ||||
| 			//phy-reset-gpio = <&tlmm 0 0 &tlmm 3 0>; | ||||
| 			phy-reset-gpio = <&tlmm 0 0>; | ||||
|  | ||||
| 			phy0: ethernet-phy@0 { | ||||
| 				reg = <24>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		ess-instance { | ||||
| 			ess-switch@3a000000 { | ||||
| 				switch_cpu_bmp = <0x1>;  /* cpu port bitmap */ | ||||
| 				switch_lan_bmp = <0x0>; /* lan port bitmap */ | ||||
| 				switch_wan_bmp = <0x6>; /* wan port bitmap */ | ||||
| 				switch_mac_mode = <0xc>; /* mac mode for uniphy instance0*/ | ||||
| 				switch_mac_mode1 = <0xe>; /* mac mode for uniphy instance1  sfp PORT_WRAPPER_10GBASE_R*/ | ||||
| //				switch_mac_mode1 = <0xc>; /* mac mode for uniphy instance1  sfp PORT_WRAPPER_SGMII_PLUS*/ | ||||
| 				switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ | ||||
| 				qcom,port_phyinfo { | ||||
| 					port@0 { | ||||
| 						port_id = <1>; | ||||
| 						phy_address = <24>; | ||||
| 					}; | ||||
| 					port@1 { | ||||
| 						port_id = <2>; | ||||
| 						phy_address = <30>; | ||||
| 						media-type = "sfp";  | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| #endif | ||||
| 		 | ||||
| 		nss-macsec0 { | ||||
| 			compatible = "qcom,nss-macsec"; | ||||
| 			phy_addr = <24>; | ||||
| 			mdiobus = <&mdio>; | ||||
| 		}; | ||||
| 		 | ||||
|  | ||||
| 		eud@78000 { | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
|  | ||||
| 		/* EDMA host driver configuration for the board */ | ||||
| 		edma@3ab00000 { | ||||
| 			qcom,txdesc-ring-start = <4>;		/* Tx desc ring start ID */ | ||||
| 			qcom,txdesc-rings = <12>;		/* Total number of Tx desc rings to be provisioned */ | ||||
| 			qcom,txcmpl-ring-start = <4>;		/* Tx complete ring start ID */ | ||||
| 			qcom,txcmpl-rings = <12>;		/* Total number of Tx complete rings to be provisioned */ | ||||
| 			qcom,rxfill-ring-start = <4>;		/* Rx fill ring start ID */ | ||||
| 			qcom,rxfill-rings = <4>;		/* Total number of Rx fill rings to be provisioned */ | ||||
| 			qcom,rxdesc-ring-start = <12>;		/* Rx desc ring start ID */ | ||||
| 			qcom,rxdesc-rings = <4>;		/* Total number of Rx desc rings to be provisioned */ | ||||
| 			qcom,rx-page-mode = <0>;		/* Rx fill ring page mode */ | ||||
| 			qcom,tx-map-priority-level = <1>;	/* Tx priority level per port */ | ||||
| 			qcom,rx-map-priority-level = <1>;	/* Rx priority level per core */ | ||||
| 			qcom,ppeds-num = <2>;			/* Number of PPEDS nodes */ | ||||
| 			/* PPE-DS node format: <Rx-fill Tx-cmpl Rx Tx Queue-base Queue-count> */ | ||||
| 			qcom,ppeds-map = <1 1 1 1 32 8>,	/* PPEDS Node#0 ring and queue map */ | ||||
| 					<2 2 2 2 40 8>;		/* PPEDS Node#1 ring and queue map */ | ||||
| 			qcom,txdesc-map = <8 9 10 11>,		/* Port0 per-core Tx ring map */ | ||||
| 					  <12 13 14 15>,	/* Port1 per-core Tx ring map */ | ||||
| 					  <4 5 6 7>;		/* used only for packets from  vp*/ | ||||
| 			qcom,txdesc-fc-grp-map = <1 2>;		/* Per GMAC flow control group map */ | ||||
| 			qcom,rxfill-map = <4 5 6 7>;		/* Per-core Rx fill ring map */ | ||||
| 			qcom,rxdesc-map = <12 13 14 15>;	/* Per-core Rx desc ring map */ | ||||
| 			qcom,rx-queue-start = <0>;		/* Rx queue start */ | ||||
| 			qcom,rx-ring-queue-map = <0 8 16 24>,	/* Priority 0 queues per-core Rx ring map */ | ||||
| 						<1 9 17 25>,	/* Priority 1 queues per-core Rx ring map */ | ||||
| 						<2 10 18 26>,	/* Priority 2 queues per-core Rx ring map */ | ||||
| 						<3 11 19 27>,	/* Priority 3 queues per-core Rx ring map */ | ||||
| 						<4 12 20 28>,	/* Priority 4 queues per-core Rx ring map */ | ||||
| 						<5 13 21 29>,	/* Priority 5 queues per-core Rx ring map */ | ||||
| 						<6 14 22 30>,	/* Priority 6 queues per-core Rx ring map */ | ||||
| 						<7 15 23 31>;	/* Priority 7 queues per-core Rx ring map */ | ||||
| 			interrupts = <0 163 4>,			/* Tx complete ring id #4 IRQ info */ | ||||
| 				   <0 164 4>,			/* Tx complete ring id #5 IRQ info */ | ||||
| 				   <0 165 4>,			/* Tx complete ring id #6 IRQ info */ | ||||
| 				   <0 166 4>,			/* Tx complete ring id #7 IRQ info */ | ||||
| 				   <0 167 4>,			/* Tx complete ring id #8 IRQ info */ | ||||
| 				   <0 168 4>,			/* Tx complete ring id #9 IRQ info */ | ||||
| 				   <0 169 4>,			/* Tx complete ring id #10 IRQ info */ | ||||
| 				   <0 170 4>,			/* Tx complete ring id #11 IRQ info */ | ||||
| 				   <0 171 4>,			/* Tx complete ring id #12 IRQ info */ | ||||
| 				   <0 172 4>,			/* Tx complete ring id #13 IRQ info */ | ||||
| 				   <0 173 4>,			/* Tx complete ring id #14 IRQ info */ | ||||
| 				   <0 174 4>,			/* Tx complete ring id #15 IRQ info */ | ||||
| 				   <0 139 4>,			/* Rx desc ring id #12 IRQ info */ | ||||
| 				   <0 140 4>,			/* Rx desc ring id #13 IRQ info */ | ||||
| 				   <0 141 4>,			/* Rx desc ring id #14 IRQ info */ | ||||
| 				   <0 142 4>,			/* Rx desc ring id #15 IRQ info */ | ||||
| 				   <0 191 4>,			/* Misc error IRQ info */ | ||||
| 				<0 160 4>,			/* PPEDS Node #1(TxComp ring id #1) TxComplete IRQ info */ | ||||
| 				<0 128 4>,			/* PPEDS Node #1(Rx Desc ring id #1) Rx Desc IRQ info */ | ||||
| 				<0 152 4>,			/* PPEDS Node #1(RxFill Desc ring id #1) Rx Fill IRQ info */ | ||||
| 				<0 161 4>,			/* PPEDS Node #2(TxComp ring id #2) TxComplete IRQ info */ | ||||
| 				<0 129 4>,			/* PPEDS Node #2(Rx Desc ring id #2) Rx Desc IRQ info */ | ||||
| 				<0 153 4>;			/* PPEDS Node #2(RxFill Desc ring id #2) Rx Fill IRQ info */ | ||||
| 		}; | ||||
|  | ||||
| 		serial@78af000 { | ||||
| 			pinctrl-0 = <&serial_0_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		serial@78b0000 { | ||||
| 			pinctrl-0 = <&serial_1_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
| 		 | ||||
| 		i2c_0: i2c@78b7000 { | ||||
| 			status = "ok"; | ||||
| 			pinctrl-0 = <&i2c_0_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 		}; | ||||
|  | ||||
| 		 | ||||
| 		spi@78b5000 { | ||||
| 			pinctrl-0 = <&spi_0_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			cs-select = <0>; | ||||
| 			status = "ok"; | ||||
|  | ||||
| 			m25p80@0 { | ||||
| 				compatible = "n25q128a11"; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				reg = <0>; | ||||
| 				spi-max-frequency = <50000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 		 | ||||
| 		/*tpm*/ | ||||
| 		spi@78b6000 { | ||||
| 			pinctrl-0 = <&spi_1_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			cs-select = <0>; | ||||
| 			status = "ok"; | ||||
|  | ||||
| 			tpm: spi-tpm@0 { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				compatible = "st,st33htpm-spi"; | ||||
| 				reg = <0>; | ||||
| 				spi-max-frequency = <20000000>; | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		dma@7984000 { | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		nand@79b0000 { | ||||
| 			pinctrl-0 = <&qspi_nand_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		usb3@8A00000 { | ||||
| 			status = "ok"; | ||||
| 			qcom,select-utmi-as-pipe-clk; | ||||
| 			dwc3@8A00000 { | ||||
| 				/delete-property/ #phy-cells; | ||||
| 				/delete-property/ phys; | ||||
| 				/delete-property/ phy-names; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		hs_m31phy@7b000 { | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		phy_x2@4b1000 { | ||||
| 			status = "ok"; | ||||
| 		}; | ||||
|  | ||||
| 		wsi: wsi { | ||||
| 			id = <0>; | ||||
| 			num_chip = <3>; | ||||
| 		}; | ||||
|  | ||||
| 		pcie@18000000 { | ||||
| 			status = "ok"; | ||||
| 			pcie1_rp { | ||||
| 				reg = <0 0 0 0 0>; | ||||
|  | ||||
| 				qcom,mhi@1 { | ||||
| 					reg = <0 0 0 0 0>; | ||||
| 					qti,disable-rddm-prealloc; | ||||
| 					qti,rddm-seg-len = <0x1000>; | ||||
| #if defined(__CNSS2__) | ||||
| 					qrtr_node_id = <0x31>; | ||||
| 					memory-region = <0>, <&mhi_region1>; | ||||
| #else | ||||
| 					memory-region = <&qcn9224_pcie1>; | ||||
| 					qcom,board_id = <0x100f>; | ||||
| 					qcom,wsi = <&wsi>; | ||||
| #endif | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 	}; | ||||
| }; | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -8,6 +8,18 @@ define Device/cig_wf198 | ||||
|   IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata | ||||
|   IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand | ||||
|   IMAGE/nand-factory.ubi := append-ubi | ||||
|   DEVICE_PACKAGES := ath12k-wifi-cig-wf198 | ||||
|   DEVICE_PACKAGES := ath12k-wifi-cig-wf198 ath12k-firmware-qcn92xx-split-phy ath12k-firmware-ipq53xx | ||||
| endef | ||||
| TARGET_DEVICES += cig_wf198 | ||||
|  | ||||
| define Device/sercomm_ap72tip | ||||
|   DEVICE_TITLE := Sercomm AP72 TIP | ||||
|   DEVICE_DTS := ipq5332-sercomm-ap72tip | ||||
|   DEVICE_DTS_CONFIG := config@mi01.2-qcn9160-c1 | ||||
|   IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi | ||||
|   IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata | ||||
|   IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand | ||||
|   IMAGE/nand-factory.ubi := append-ubi | ||||
|   DEVICE_PACKAGES := ath12k-wifi-sercomm-ap72tip ath12k-firmware-qcn92xx-split-phy ath12k-firmware-ipq53xx | ||||
| endef | ||||
| TARGET_DEVICES += sercomm_ap72tip | ||||
|   | ||||
							
								
								
									
										40
									
								
								feeds/ipq95xx/ipq53xx/patches/300-pwm.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								feeds/ipq95xx/ipq53xx/patches/300-pwm.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| Index: linux-5.4.213-qsdk-b2d40c94fad765a48c03f492d669aeecbbb9b617/drivers/pwm/pwm-ipq.c | ||||
| =================================================================== | ||||
| --- linux-5.4.213-qsdk-b2d40c94fad765a48c03f492d669aeecbbb9b617.orig/drivers/pwm/pwm-ipq.c | ||||
| +++ linux-5.4.213-qsdk-b2d40c94fad765a48c03f492d669aeecbbb9b617/drivers/pwm/pwm-ipq.c | ||||
| @@ -110,6 +110,7 @@ struct ipq_pwm_chip { | ||||
|   | ||||
|  static ssize_t count; | ||||
|  static uint32_t used_pwm[MAX_PWM_DEVICES]; | ||||
| +//static uint32_t dft_pwm[MAX_PWM_DEVICES]; | ||||
|   | ||||
|  static const uint32_t pwm_ctrl_register[] = { | ||||
|  	ADSS_GLB_PWM0_CTRL_REG, | ||||
| @@ -330,6 +331,7 @@ static int ipq_pwm_probe(struct platform | ||||
|  	struct device *dev; | ||||
|  	unsigned int base_index; | ||||
|  	int ret; | ||||
| +	//unsigned int i; | ||||
|  	const void *dev_data; | ||||
|  	unsigned long src_freq = SRC_FREQ; | ||||
|  	struct resource *res = NULL; | ||||
| @@ -387,6 +389,19 @@ static int ipq_pwm_probe(struct platform | ||||
|  		dev_err(dev, "pwmchip_add() failed: %d\n", ret); | ||||
|  		return ret; | ||||
|  	} | ||||
| +	 | ||||
| +	/*count = of_property_count_u32_elems(dev->of_node, "dft-pwm-status"); | ||||
| +        if (!of_property_read_u32_array(dev->of_node, "dft-pwm-status", | ||||
| +                        dft_pwm, count)) { | ||||
| +            for(i = 0; i < count; i++) { | ||||
| +                if(dft_pwm[i] > 0) { | ||||
| +                    ipq_pwm_request(&(pwm->chip), &(pwm->chip.pwms[i])); | ||||
| +                    ipq_pwm_config(&(pwm->chip), &(pwm->chip.pwms[i]), 500000000, 1000000000); | ||||
| +                } | ||||
| +            } | ||||
| +        }*/ | ||||
| +	ipq_pwm_request(&(pwm->chip), &(pwm->chip.pwms[1])); | ||||
| +	ipq_pwm_config(&(pwm->chip), &(pwm->chip.pwms[1]), 500000000, 1000000000); | ||||
|   | ||||
|  	return 0; | ||||
|  } | ||||
							
								
								
									
										42
									
								
								feeds/ipq95xx/ipq53xx/patches/301-button.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								feeds/ipq95xx/ipq53xx/patches/301-button.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| Index: linux-5.4.213-qsdk-b2d40c94fad765a48c03f492d669aeecbbb9b617/arch/arm64/boot/dts/qcom/ipq5332.dtsi | ||||
| =================================================================== | ||||
| --- linux-5.4.213-qsdk-b2d40c94fad765a48c03f492d669aeecbbb9b617.orig/arch/arm64/boot/dts/qcom/ipq5332.dtsi | ||||
| +++ linux-5.4.213-qsdk-b2d40c94fad765a48c03f492d669aeecbbb9b617/arch/arm64/boot/dts/qcom/ipq5332.dtsi | ||||
| @@ -918,15 +918,6 @@ | ||||
|  				}; | ||||
|  			}; | ||||
|   | ||||
| -			button_pins: button_pins { | ||||
| -				wps_button { | ||||
| -					pins = "gpio35"; | ||||
| -					function = "gpio"; | ||||
| -					drive-strength = <8>; | ||||
| -					bias-pull-up; | ||||
| -				}; | ||||
| -			}; | ||||
| - | ||||
|  			bt_pins: bt_pins { | ||||
|  				PTA_0 { | ||||
|  					pins = "gpio49"; | ||||
| @@ -2577,21 +2568,6 @@ | ||||
|  		device-license-termination; | ||||
|  	}; | ||||
|   | ||||
| -	gpio_keys { | ||||
| -		compatible = "gpio-keys"; | ||||
| -		pinctrl-0 = <&button_pins>; | ||||
| -		pinctrl-names = "default"; | ||||
| -		status = "ok"; | ||||
| - | ||||
| -		button@1 { | ||||
| -			label = "wps"; | ||||
| -			linux,code = <KEY_WPS_BUTTON>; | ||||
| -			gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; | ||||
| -			linux,input-type = <1>; | ||||
| -			debounce-interval = <60>; | ||||
| -		}; | ||||
| -	}; | ||||
| - | ||||
|  	pmu { | ||||
|  		compatible = "arm,cortex-a53-pmu"; | ||||
|  		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; | ||||
							
								
								
									
										66
									
								
								feeds/ipq95xx/ipq53xx/patches/302-aq-phy.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								feeds/ipq95xx/ipq53xx/patches/302-aq-phy.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| Index: linux-5.4.213-qsdk-b2d40c94fad765a48c03f492d669aeecbbb9b617/drivers/net/phy/aquantia_main.c | ||||
| =================================================================== | ||||
| --- linux-5.4.213-qsdk-b2d40c94fad765a48c03f492d669aeecbbb9b617.orig/drivers/net/phy/aquantia_main.c | ||||
| +++ linux-5.4.213-qsdk-b2d40c94fad765a48c03f492d669aeecbbb9b617/drivers/net/phy/aquantia_main.c | ||||
| @@ -31,6 +31,9 @@ | ||||
|  #define PHY_ID_AQCS109	0x03a1b5c2 | ||||
|  #define PHY_ID_AQR405	0x03a1b4b0 | ||||
|   | ||||
| +#define PHY_ID_AQR114C       0x31c31c22 | ||||
| +#define PHY_ID_AQR114C_B1    0x31c31c23 | ||||
| + | ||||
|  #define MDIO_PHYXS_VEND_IF_STATUS		0xe812 | ||||
|  #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK	GENMASK(7, 3) | ||||
|  #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_KR	0 | ||||
| @@ -1101,6 +1104,42 @@ static struct phy_driver aqr_driver[] = | ||||
|  	.ack_interrupt	= aqr_ack_interrupt, | ||||
|  	.read_status	= aqr_read_status, | ||||
|  }, | ||||
| +{ | ||||
| +       PHY_ID_MATCH_MODEL(PHY_ID_AQR114C), | ||||
| +       .name           = "Aquantia AQR114C", | ||||
| +       .probe          = aqr107_probe, | ||||
| +       .config_init    = aqr107_config_init, | ||||
| +       .config_aneg    = aqr_config_aneg, | ||||
| +       .config_intr    = aqr_config_intr, | ||||
| +       .ack_interrupt  = aqr_ack_interrupt, | ||||
| +       .read_status    = aqr107_read_status, | ||||
| +       .get_tunable    = aqr107_get_tunable, | ||||
| +       .set_tunable    = aqr107_set_tunable, | ||||
| +       .suspend        = aqr107_suspend, | ||||
| +       .resume         = aqr107_resume, | ||||
| +       .get_sset_count = aqr107_get_sset_count, | ||||
| +       .get_strings    = aqr107_get_strings, | ||||
| +       .get_stats      = aqr107_get_stats, | ||||
| +       .link_change_notify = aqr107_link_change_notify, | ||||
| +}, | ||||
| +{ | ||||
| +       PHY_ID_MATCH_MODEL(PHY_ID_AQR114C_B1), | ||||
| +       .name           = "Aquantia AQR114C_B1", | ||||
| +       .probe          = aqr107_probe, | ||||
| +       .config_init    = aqr107_config_init, | ||||
| +       .config_aneg    = aqr_config_aneg, | ||||
| +       .config_intr    = aqr_config_intr, | ||||
| +       .ack_interrupt  = aqr_ack_interrupt, | ||||
| +       .read_status    = aqr107_read_status, | ||||
| +       .get_tunable    = aqr107_get_tunable, | ||||
| +       .set_tunable    = aqr107_set_tunable, | ||||
| +       .suspend        = aqr107_suspend, | ||||
| +       .resume         = aqr107_resume, | ||||
| +       .get_sset_count = aqr107_get_sset_count, | ||||
| +       .get_strings    = aqr107_get_strings, | ||||
| +       .get_stats      = aqr107_get_stats, | ||||
| +       .link_change_notify = aqr107_link_change_notify, | ||||
| +}, | ||||
|  }; | ||||
|   | ||||
|  module_phy_driver(aqr_driver); | ||||
| @@ -1120,6 +1159,8 @@ static struct mdio_device_id __maybe_unu | ||||
|  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, | ||||
|  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQCS109) }, | ||||
|  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, | ||||
| +        { PHY_ID_MATCH_MODEL(PHY_ID_AQR114C) }, | ||||
| +        { PHY_ID_MATCH_MODEL(PHY_ID_AQR114C_B1) }, | ||||
|  	{ } | ||||
|  }; | ||||
|   | ||||
							
								
								
									
										28
									
								
								feeds/ipq95xx/qca-ssdk/patches/101-aq_phy.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								feeds/ipq95xx/qca-ssdk/patches/101-aq_phy.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| Index: qca-ssdk-09cba788ef5680e3e5b9deaa376da8d6bc13a7ec/include/hsl/phy/hsl_phy.h | ||||
| =================================================================== | ||||
| --- qca-ssdk-09cba788ef5680e3e5b9deaa376da8d6bc13a7ec.orig/include/hsl/phy/hsl_phy.h | ||||
| +++ qca-ssdk-09cba788ef5680e3e5b9deaa376da8d6bc13a7ec/include/hsl/phy/hsl_phy.h | ||||
| @@ -609,6 +609,9 @@ typedef struct { | ||||
|  #define AQUANTIA_PHY_113C_B0    0x31c31C12 | ||||
|  #define AQUANTIA_PHY_113C_B1    0x31c31C13 | ||||
|  #define AQUANTIA_PHY_112C       0x03a1b792 | ||||
| +/*sercomm*/ | ||||
| +#define AQUANTIA_PHY_114C       0x31c31c22  | ||||
| +#define AQUANTIA_PHY_114C_B1    0x31c31c23  | ||||
|  #define RTL_PHY                 0X001CCAF3 | ||||
|   | ||||
|  #define PHY_805XV2              0x004DD082 | ||||
| Index: qca-ssdk-09cba788ef5680e3e5b9deaa376da8d6bc13a7ec/src/hsl/phy/hsl_phy.c | ||||
| =================================================================== | ||||
| --- qca-ssdk-09cba788ef5680e3e5b9deaa376da8d6bc13a7ec.orig/src/hsl/phy/hsl_phy.c | ||||
| +++ qca-ssdk-09cba788ef5680e3e5b9deaa376da8d6bc13a7ec/src/hsl/phy/hsl_phy.c | ||||
| @@ -285,6 +286,9 @@ phy_type_t hsl_phytype_get_by_phyid(a_ui | ||||
|  		case AQUANTIA_PHY_113C_B0: | ||||
|  		case AQUANTIA_PHY_113C_B1: | ||||
|  		case AQUANTIA_PHY_112C: | ||||
| +		/*sercomm*/ | ||||
| +		case AQUANTIA_PHY_114C: | ||||
| +		case AQUANTIA_PHY_114C_B1: | ||||
|  			phytype = AQUANTIA_PHY_CHIP; | ||||
|  			break; | ||||
|  		case QCA8030_PHY: | ||||
| @@ -702,7 +702,7 @@ index 18cafe60a2..a860c557de 100644 | ||||
|  		echo "generic patches directory is present. please move your patches to the pending directory" ; \ | ||||
|  		exit 1; \ | ||||
|  	fi | ||||
| +ifneq ($(CONFIG_TARGET_ipq807x)$(CONFIG_TARGET_ipq60xx)$(CONFIG_TARGET_ipq50xx)$(CONFIG_TARGET_ipq95xx),y) | ||||
| +ifneq ($(CONFIG_TARGET_ipq807x)$(CONFIG_TARGET_ipq60xx)$(CONFIG_TARGET_ipq50xx)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx),y) | ||||
|  	$(call PatchDir,$(LINUX_DIR),$(GENERIC_BACKPORT_DIR),generic-backport/) | ||||
|  	$(call PatchDir,$(LINUX_DIR),$(GENERIC_PATCH_DIR),generic/) | ||||
|  	$(call PatchDir,$(LINUX_DIR),$(GENERIC_HACK_DIR),generic-hack/) | ||||
| @@ -714,7 +714,7 @@ index 18cafe60a2..a860c557de 100644 | ||||
|  		echo "All kernel patches must start with either generic/ or platform/"; \ | ||||
|  		false; \ | ||||
|  	} | ||||
| +ifneq ($(CONFIG_TARGET_ipq807x)$(CONFIG_TARGET_ipq60xx)$(CONFIG_TARGET_ipq50xx)$(CONFIG_TARGET_ipq95xx),y) | ||||
| +ifneq ($(CONFIG_TARGET_ipq807x)$(CONFIG_TARGET_ipq60xx)$(CONFIG_TARGET_ipq50xx)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx),y) | ||||
|  	$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_BACKPORT_DIR),generic-backport/) | ||||
|  	$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_PATCH_DIR),generic/) | ||||
|  	$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_HACK_DIR),generic-hack/) | ||||
| @@ -749,7 +749,7 @@ index b5e3e7ff6f..36e1377617 100644 | ||||
|  endif | ||||
|   | ||||
|  GENERIC_PLATFORM_DIR := $(TOPDIR)/target/linux/generic | ||||
| +ifeq ($(CONFIG_TARGET_ipq807x)$(CONFIG_TARGET_ipq60xx)$(CONFIG_TARGET_ipq50xx)$(CONFIG_TARGET_ipq95xx),y) | ||||
| +ifeq ($(CONFIG_TARGET_ipq807x)$(CONFIG_TARGET_ipq60xx)$(CONFIG_TARGET_ipq50xx)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx),y) | ||||
| +GENERIC_BACKPORT_DIR := | ||||
| +GENERIC_PATCH_DIR := | ||||
| +GENERIC_HACK_DIR := | ||||
| @@ -765,7 +765,7 @@ index b5e3e7ff6f..36e1377617 100644 | ||||
|  __config_list = $(firstword $(wildcard $(call __config_name_list,$(1)))) | ||||
|  find_kernel_config=$(if $(__config_list),$(__config_list),$(lastword $(__config_name_list))) | ||||
|   | ||||
| +ifeq ($(CONFIG_TARGET_ipq807x)$(CONFIG_TARGET_ipq60xx)$(CONFIG_TARGET_ipq50xx)$(CONFIG_TARGET_ipq95xx),y) | ||||
| +ifeq ($(CONFIG_TARGET_ipq807x)$(CONFIG_TARGET_ipq60xx)$(CONFIG_TARGET_ipq50xx)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx),y) | ||||
| +GENERIC_LINUX_CONFIG:=$(GENERIC_PLATFORM_DIR)/config-5.4-qsdk | ||||
| +else | ||||
|  GENERIC_LINUX_CONFIG = $(call find_kernel_config,$(GENERIC_PLATFORM_DIR)) | ||||
|   | ||||
| @@ -16,7 +16,7 @@ index dc89de2035..dd1d0760f8 100644 | ||||
|    endef | ||||
|  endif | ||||
|   | ||||
| +ifeq ($(CONFIG_LINUX_4_4)$(CONFIG_TARGET_ipq95xx),y) | ||||
| +ifeq ($(CONFIG_LINUX_4_4)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx),y) | ||||
| +  define Package/base-files/ipq807x-support | ||||
| +	rm -f $(1)/lib/upgrade/nand.sh | ||||
| +  endef | ||||
|   | ||||
| @@ -20,7 +20,7 @@ index e2fe4c8bad..4bdd955832 100644 | ||||
|  	-DUCI_SUPPORT=OFF \ | ||||
|  	-DULOOP_SUPPORT=OFF | ||||
|   | ||||
| +ifeq ($(CONFIG_TARGET_ipq95xx),y) | ||||
| +ifeq ($(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx),y) | ||||
| +TARGET_CFLAGS += -DQCA_WIFI_7 | ||||
| +endif | ||||
| + | ||||
|   | ||||
| @@ -21,7 +21,7 @@ index daf1f1740a..ec9733780d 100644 | ||||
| +LINUX_KERNEL_HASH-5.4.158 = 6e018fecdc8fc24553756e582d83b82d65b10a6b03ef36262a24911f839b8d59 | ||||
| +endif | ||||
| + | ||||
| +ifeq ($(CONFIG_TARGET_ipq95xx),y) | ||||
| +ifeq ($(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx),y) | ||||
| +LINUX_VERSION-5.4 = .213 | ||||
| +LINUX_KERNEL_HASH-5.4.213 = d13de2f5e02569eebeb40ee9373fc0b4d0bf6b69595b38ea95c1f878a5bd0447 | ||||
| +endif | ||||
|   | ||||
| @@ -58,7 +58,7 @@ index 5cae355e68..a999d58f93 100644 | ||||
| +	-DDEBUG_SUPPORT=ON \ | ||||
| +	-DLOG_SUPPORT=OFF | ||||
|   | ||||
|  ifeq ($(CONFIG_TARGET_ipq95xx),y) | ||||
|  ifeq ($(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx),y) | ||||
|  TARGET_CFLAGS += -DQCA_WIFI_7 | ||||
| @@ -73,115 +85,40 @@ define Package/libucode | ||||
|    DEPENDS:=+libjson-c | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 John Crispin
					John Crispin