mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 16:07:39 +00:00
ucc_geth: handle passing of RX-only and TX-only internal delay PHY connection type parameters
Extend the RGMII-Internal Delay specification case to include TX-only and RX-only variants. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Tested-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Li Yang <leoli@freescale.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
9daf5a7695
commit
bd0ceaab86
1 changed files with 10 additions and 0 deletions
|
@ -1460,6 +1460,8 @@ static int adjust_enet_interface(struct ucc_geth_private *ugeth)
|
|||
if ((ugeth->phy_interface == PHY_INTERFACE_MODE_RMII) ||
|
||||
(ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII) ||
|
||||
(ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_ID) ||
|
||||
(ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_RXID) ||
|
||||
(ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_TXID) ||
|
||||
(ugeth->phy_interface == PHY_INTERFACE_MODE_RTBI)) {
|
||||
upsmr |= UPSMR_RPM;
|
||||
switch (ugeth->max_speed) {
|
||||
|
@ -1557,6 +1559,8 @@ static void adjust_link(struct net_device *dev)
|
|||
if ((ugeth->phy_interface == PHY_INTERFACE_MODE_RMII) ||
|
||||
(ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII) ||
|
||||
(ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_ID) ||
|
||||
(ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_RXID) ||
|
||||
(ugeth->phy_interface == PHY_INTERFACE_MODE_RGMII_TXID) ||
|
||||
(ugeth->phy_interface == PHY_INTERFACE_MODE_RTBI)) {
|
||||
if (phydev->speed == SPEED_10)
|
||||
upsmr |= UPSMR_R10M;
|
||||
|
@ -3795,6 +3799,10 @@ static phy_interface_t to_phy_interface(const char *phy_connection_type)
|
|||
return PHY_INTERFACE_MODE_RGMII;
|
||||
if (strcasecmp(phy_connection_type, "rgmii-id") == 0)
|
||||
return PHY_INTERFACE_MODE_RGMII_ID;
|
||||
if (strcasecmp(phy_connection_type, "rgmii-txid") == 0)
|
||||
return PHY_INTERFACE_MODE_RGMII_TXID;
|
||||
if (strcasecmp(phy_connection_type, "rgmii-rxid") == 0)
|
||||
return PHY_INTERFACE_MODE_RGMII_RXID;
|
||||
if (strcasecmp(phy_connection_type, "rtbi") == 0)
|
||||
return PHY_INTERFACE_MODE_RTBI;
|
||||
|
||||
|
@ -3889,6 +3897,8 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
|
|||
case PHY_INTERFACE_MODE_GMII:
|
||||
case PHY_INTERFACE_MODE_RGMII:
|
||||
case PHY_INTERFACE_MODE_RGMII_ID:
|
||||
case PHY_INTERFACE_MODE_RGMII_RXID:
|
||||
case PHY_INTERFACE_MODE_RGMII_TXID:
|
||||
case PHY_INTERFACE_MODE_TBI:
|
||||
case PHY_INTERFACE_MODE_RTBI:
|
||||
max_speed = SPEED_1000;
|
||||
|
|
Loading…
Reference in a new issue