mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 14:04:26 -04:00 
			
		
		
		
	generic: add support for vsc8504 phy
adds support for vsc8504 phy. patch have use on 5.4 kernel and has to be dropped after since phy is supported by CONFIG_MICROSEMI_PHY on newer LTS kernels. Tested-by: Johannes Kimmel <fff@bareminimum.eu> Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
This commit is contained in:
		
							parent
							
								
									c8a81ada58
								
							
						
					
					
						commit
						b9898cd78a
					
				
							
								
								
									
										57
									
								
								target/linux/generic/hack-5.4/703-add_vsc8504_support.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								target/linux/generic/hack-5.4/703-add_vsc8504_support.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | |||||||
|  | From: Roman Kuzmitskii <damex.pp@icloud.com> | ||||||
|  | Date: Thu, 05 Nov 2020 02:00:00 +0000 | ||||||
|  | Subject: [PATCH] net: phy: vitesse: add vsc8504 support | ||||||
|  | 
 | ||||||
|  | This patch adds support for vsc8504 phy. | ||||||
|  | That phy is changed owner: | ||||||
|  |  vitesse -> microsemi -> microchip | ||||||
|  | So is its driver in kernel was changed and rewritten. | ||||||
|  | 
 | ||||||
|  | there is no need to upstream this patch. | ||||||
|  | this vsc8504 is supported by newer kernels out of box. | ||||||
|  | support could be enabled by CONFIG_MICROSEMI_PHY. | ||||||
|  | 
 | ||||||
|  | Tested-by: Johannes Kimmel <fff@bareminimum.eu> | ||||||
|  | Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com> | ||||||
|  | --- a/drivers/net/phy/vitesse.c
 | ||||||
|  | +++ b/drivers/net/phy/vitesse.c
 | ||||||
|  | @@ -61,6 +61,7 @@
 | ||||||
|  |   | ||||||
|  |  #define PHY_ID_VSC8234			0x000fc620 | ||||||
|  |  #define PHY_ID_VSC8244			0x000fc6c0 | ||||||
|  | +#define PHY_ID_VSC8504			0x000704c2
 | ||||||
|  |  #define PHY_ID_VSC8572			0x000704d0 | ||||||
|  |  #define PHY_ID_VSC8601			0x00070420 | ||||||
|  |  #define PHY_ID_VSC7385			0x00070450 | ||||||
|  | @@ -292,6 +293,7 @@
 | ||||||
|  |  		err = phy_write(phydev, MII_VSC8244_IMASK, | ||||||
|  |  			(phydev->drv->phy_id == PHY_ID_VSC8234 || | ||||||
|  |  			 phydev->drv->phy_id == PHY_ID_VSC8244 || | ||||||
|  | +			 phydev->drv->phy_id == PHY_ID_VSC8504 ||
 | ||||||
|  |  			 phydev->drv->phy_id == PHY_ID_VSC8572 || | ||||||
|  |  			 phydev->drv->phy_id == PHY_ID_VSC8601) ? | ||||||
|  |  				MII_VSC8244_IMASK_MASK : | ||||||
|  | @@ -402,6 +404,15 @@
 | ||||||
|  |  	.ack_interrupt	= &vsc824x_ack_interrupt, | ||||||
|  |  	.config_intr	= &vsc82xx_config_intr, | ||||||
|  |  }, { | ||||||
|  | +	.phy_id         = PHY_ID_VSC8504,
 | ||||||
|  | +	.name           = "Vitesse VSC8504",
 | ||||||
|  | +	.phy_id_mask    = 0x000ffff0,
 | ||||||
|  | +	/* PHY_GBIT_FEATURES */
 | ||||||
|  | +	.config_init    = &vsc824x_config_init,
 | ||||||
|  | +	.config_aneg    = &vsc82x4_config_aneg,
 | ||||||
|  | +	.ack_interrupt  = &vsc824x_ack_interrupt,
 | ||||||
|  | +	.config_intr    = &vsc82xx_config_intr,
 | ||||||
|  | +}, {
 | ||||||
|  |  	.phy_id         = PHY_ID_VSC8572, | ||||||
|  |  	.name           = "Vitesse VSC8572", | ||||||
|  |  	.phy_id_mask    = 0x000ffff0, | ||||||
|  | @@ -488,6 +499,7 @@
 | ||||||
|  |  static struct mdio_device_id __maybe_unused vitesse_tbl[] = { | ||||||
|  |  	{ PHY_ID_VSC8234, 0x000ffff0 }, | ||||||
|  |  	{ PHY_ID_VSC8244, 0x000fffc0 }, | ||||||
|  | +	{ PHY_ID_VSC8504, 0x000ffff0 },
 | ||||||
|  |  	{ PHY_ID_VSC8572, 0x000ffff0 }, | ||||||
|  |  	{ PHY_ID_VSC7385, 0x000ffff0 }, | ||||||
|  |  	{ PHY_ID_VSC7388, 0x000ffff0 }, | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user