usb:smsx95xx LED activity for USB net driver
authorSuriyan Ramasami <suriyan.r@gmail.com>
Tue, 8 Oct 2013 03:30:58 +0000 (20:30 -0700)
committerMarek Vasut <marex@denx.de>
Sun, 20 Oct 2013 21:42:40 +0000 (23:42 +0200)
Add LED activity for SMSX95XX USB Ether driver.

Signed-off-by: “Suriyan Ramasami" <suriyan.r@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
drivers/usb/eth/smsc95xx.c

index 15fd9a9f785de9ce20a8b185e68d910fde83598c..7bf0a340788494872e18e16b4513a11b4de0e4bf 100644 (file)
 
 /* SMSC LAN95xx based USB 2.0 Ethernet Devices */
 
+/* LED defines */
+#define LED_GPIO_CFG                   (0x24)
+#define LED_GPIO_CFG_SPD_LED           (0x01000000)
+#define LED_GPIO_CFG_LNK_LED           (0x00100000)
+#define LED_GPIO_CFG_FDX_LED           (0x00010000)
+
 /* Tx command words */
 #define TX_CMD_A_FIRST_SEG_            0x00002000
 #define TX_CMD_A_LAST_SEG_             0x00001000
@@ -591,6 +597,14 @@ static int smsc95xx_init(struct eth_device *eth, bd_t *bd)
                return ret;
        debug("ID_REV = 0x%08x\n", read_buf);
 
+       /* Configure GPIO pins as LED outputs */
+       write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_LNK_LED |
+               LED_GPIO_CFG_FDX_LED;
+       ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, write_buf);
+       if (ret < 0)
+               return ret;
+       debug("LED_GPIO_CFG set\n");
+
        /* Init Tx */
        write_buf = 0;
        ret = smsc95xx_write_reg(dev, FLOW, write_buf);