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