net: gem: Disable PCS autonegotiation in case of fixed-link
Disable PCS autonegotiation if fixed-link node is present in device tree. This way systems with multiple GEM instances with a combination of SGMII-fixed and SGMII-PHY will work. Reported-by: Goran Marinkovic <goran.marinkovic@psi.ch> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
		
							parent
							
								
									7831292fc9
								
							
						
					
					
						commit
						26e62cc971
					
				|  | @ -451,8 +451,12 @@ static int zynq_gem_init(struct udevice *dev) | ||||||
| 		nwconfig |= ZYNQ_GEM_NWCFG_SGMII_ENBL | | 		nwconfig |= ZYNQ_GEM_NWCFG_SGMII_ENBL | | ||||||
| 			    ZYNQ_GEM_NWCFG_PCS_SEL; | 			    ZYNQ_GEM_NWCFG_PCS_SEL; | ||||||
| #ifdef CONFIG_ARM64 | #ifdef CONFIG_ARM64 | ||||||
|  | 	if (priv->phydev->phy_id != PHY_FIXED_ID) | ||||||
| 		writel(readl(®s->pcscntrl) | ZYNQ_GEM_PCS_CTL_ANEG_ENBL, | 		writel(readl(®s->pcscntrl) | ZYNQ_GEM_PCS_CTL_ANEG_ENBL, | ||||||
| 		       ®s->pcscntrl); | 		       ®s->pcscntrl); | ||||||
|  | 	else | ||||||
|  | 		writel(readl(®s->pcscntrl) & ~ZYNQ_GEM_PCS_CTL_ANEG_ENBL, | ||||||
|  | 		       ®s->pcscntrl); | ||||||
| #endif | #endif | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue