mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 00:20:51 +07:00
smsc75xx: let EEPROM determine GPIO/LED settings
This patch allows the GPIO/LED settings to be configured by the EEPROM if present, and only sets the default values (LED outputs for link/activity) when an EEPROM is not detected. Signed-off-by: Steve Glendinning <steve.glendinning@shawell.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4f94a929e4
commit
97138a1ca7
@ -903,15 +903,20 @@ static int smsc75xx_reset(struct usbnet *dev)
|
|||||||
|
|
||||||
netif_dbg(dev, ifup, dev->net, "ID_REV = 0x%08x", buf);
|
netif_dbg(dev, ifup, dev->net, "ID_REV = 0x%08x", buf);
|
||||||
|
|
||||||
/* Configure GPIO pins as LED outputs */
|
ret = smsc75xx_read_reg(dev, E2P_CMD, &buf);
|
||||||
ret = smsc75xx_read_reg(dev, LED_GPIO_CFG, &buf);
|
check_warn_return(ret, "Failed to read E2P_CMD: %d", ret);
|
||||||
check_warn_return(ret, "Failed to read LED_GPIO_CFG: %d", ret);
|
|
||||||
|
|
||||||
buf &= ~(LED_GPIO_CFG_LED2_FUN_SEL | LED_GPIO_CFG_LED10_FUN_SEL);
|
/* only set default GPIO/LED settings if no EEPROM is detected */
|
||||||
buf |= LED_GPIO_CFG_LEDGPIO_EN | LED_GPIO_CFG_LED2_FUN_SEL;
|
if (!(buf & E2P_CMD_LOADED)) {
|
||||||
|
ret = smsc75xx_read_reg(dev, LED_GPIO_CFG, &buf);
|
||||||
|
check_warn_return(ret, "Failed to read LED_GPIO_CFG: %d", ret);
|
||||||
|
|
||||||
ret = smsc75xx_write_reg(dev, LED_GPIO_CFG, buf);
|
buf &= ~(LED_GPIO_CFG_LED2_FUN_SEL | LED_GPIO_CFG_LED10_FUN_SEL);
|
||||||
check_warn_return(ret, "Failed to write LED_GPIO_CFG: %d", ret);
|
buf |= LED_GPIO_CFG_LEDGPIO_EN | LED_GPIO_CFG_LED2_FUN_SEL;
|
||||||
|
|
||||||
|
ret = smsc75xx_write_reg(dev, LED_GPIO_CFG, buf);
|
||||||
|
check_warn_return(ret, "Failed to write LED_GPIO_CFG: %d", ret);
|
||||||
|
}
|
||||||
|
|
||||||
ret = smsc75xx_write_reg(dev, FLOW, 0);
|
ret = smsc75xx_write_reg(dev, FLOW, 0);
|
||||||
check_warn_return(ret, "Failed to write FLOW: %d", ret);
|
check_warn_return(ret, "Failed to write FLOW: %d", ret);
|
||||||
|
Loading…
Reference in New Issue
Block a user