ath79: mikrotik: enable SFP on RB922UAGS-5HPaCD
This patch enables the SFP cage on the MikroTik RouterBOARD 922UAGS-5HPacD. GPIO16 (tx-disable-gpios) should be governed by the SFP driver to enable or disable transmission, but no change is observed. Therefore, it is left as output high to ensure the SFP module is forced to transmit. Tested on a RouterBOARD 922UAGS-5HPacD board, with a CISCO GLC-LH-SMD 1310nm module and an unbranded GLC-T RJ45 Gigabit module. PC=>router iperf3 tests deliver 440/300 Mbps up/down, both via regular eth0 port or SFP port with RJ45 module. Bridge between eth0 and eth1 delivers 950 Mbps symmetric. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
This commit is contained in:
		 Roger Pueyo Centelles
					Roger Pueyo Centelles
				
			
				
					committed by
					
						 Koen Vandeputte
						Koen Vandeputte
					
				
			
			
				
	
			
			
			 Koen Vandeputte
						Koen Vandeputte
					
				
			
						parent
						
							41948c9c1b
						
					
				
				
					commit
					4387fe00cb
				
			| @@ -23,6 +23,27 @@ | |||||||
| 			gpios = <&gpio 13 GPIO_ACTIVE_HIGH>; | 			gpios = <&gpio 13 GPIO_ACTIVE_HIGH>; | ||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
|  | 	i2c: i2c { | ||||||
|  | 		compatible = "i2c-gpio"; | ||||||
|  |  | ||||||
|  | 		sda-gpios = <&gpio 18 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; | ||||||
|  | 		scl-gpios = <&gpio 19 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; | ||||||
|  | 		i2c-gpio,delay-us = <5>; | ||||||
|  | 		i2c-gpio,timeout-ms = <1>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	sfp1: sfp { | ||||||
|  | 		compatible = "sff,sfp"; | ||||||
|  |  | ||||||
|  | 		i2c-bus = <&i2c>; | ||||||
|  | 		maximum-power-milliwatt = <1000>; | ||||||
|  | 		los-gpios = <&gpio 21 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		mod-def0-gpios = <&gpio 17 GPIO_ACTIVE_LOW>; | ||||||
|  | 		tx-disable-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		// Toggling GPIO16 actually enables/disables the transmitter, | ||||||
|  | 		// but the SFP driver does not seem to be using it. | ||||||
|  | 		}; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| &pcie0 { | &pcie0 { | ||||||
| @@ -55,3 +76,30 @@ | |||||||
| &usb_phy1 { | &usb_phy1 { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | &mdio1 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	phy_sfp: ethernet-phy@0 { | ||||||
|  | 		reg = <0>; | ||||||
|  | 		phy-mode = "sgmii"; | ||||||
|  | 		sfp = <&sfp1>; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ð1 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	phy-handle = <&phy_sfp>; | ||||||
|  | 	pll-data = <0x03000000 0x00000101 0x00001616>; | ||||||
|  | 	qca955x-sgmii-fixup; | ||||||
|  |  | ||||||
|  | 	gmac-config { | ||||||
|  | 		device = <&gmac>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	fixed-link { | ||||||
|  | 		speed = <1000>; | ||||||
|  | 		full-duplex; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|   | |||||||
| @@ -22,7 +22,8 @@ define Device/mikrotik_routerboard-922uags-5hpacd | |||||||
|   $(Device/mikrotik_nand) |   $(Device/mikrotik_nand) | ||||||
|   SOC := qca9558 |   SOC := qca9558 | ||||||
|   DEVICE_MODEL := RouterBOARD 922UAGS-5HPacD |   DEVICE_MODEL := RouterBOARD 922UAGS-5HPacD | ||||||
|   DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2 |   DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2 \ | ||||||
|  | 	kmod-i2c-gpio kmod-sfp | ||||||
|   SUPPORTED_DEVICES += rb-922uags-5hpacd |   SUPPORTED_DEVICES += rb-922uags-5hpacd | ||||||
| endef | endef | ||||||
| TARGET_DEVICES += mikrotik_routerboard-922uags-5hpacd | TARGET_DEVICES += mikrotik_routerboard-922uags-5hpacd | ||||||
|   | |||||||
| @@ -15,7 +15,6 @@ ath79_setup_interfaces() | |||||||
| 			"0@eth1" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3" | 			"0@eth1" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3" | ||||||
| 		;; | 		;; | ||||||
| 	mikrotik,routerboard-921gs-5hpacd-15s|\ | 	mikrotik,routerboard-921gs-5hpacd-15s|\ | ||||||
| 	mikrotik,routerboard-922uags-5hpacd|\ |  | ||||||
| 	mikrotik,routerboard-lhg-2nd|\ | 	mikrotik,routerboard-lhg-2nd|\ | ||||||
| 	mikrotik,routerboard-sxt-5nd-r2|\ | 	mikrotik,routerboard-sxt-5nd-r2|\ | ||||||
| 	mikrotik,routerboard-wap-g-5hact2hnd|\ | 	mikrotik,routerboard-wap-g-5hact2hnd|\ | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ CONFIG_MTD_UBI=y | |||||||
| CONFIG_MTD_UBI_BLOCK=y | CONFIG_MTD_UBI_BLOCK=y | ||||||
| CONFIG_MTD_UBI_WL_THRESHOLD=4096 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||||||
| CONFIG_MTD_UBI_BEB_LIMIT=20 | CONFIG_MTD_UBI_BEB_LIMIT=20 | ||||||
|  | CONFIG_NET_DSA=y | ||||||
| CONFIG_NET_SWITCHDEV=y | CONFIG_NET_SWITCHDEV=y | ||||||
| CONFIG_PCI_AR71XX=y | CONFIG_PCI_AR71XX=y | ||||||
| CONFIG_PHY_AR7100_USB=y | CONFIG_PHY_AR7100_USB=y | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user