[ar71xx] add definitions for some magic values in the spi_vsc7385 driver
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 11 Jul 2009 14:56:54 +0000 (14:56 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 11 Jul 2009 14:56:54 +0000 (14:56 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16779 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ar71xx/files/drivers/spi/spi_vsc7385.c

index c270b0f05a9e82720983f9150570c6711fb55be3..14952c663b834fae176193f7ec22f25edfe5a889 100644 (file)
 #define VSC73XX_ICPU_CTRL_CLK_EN       (1 << 1)
 #define VSC73XX_ICPU_CTRL_SRST         (1 << 0)
 
+#define VSC73XX_ICPU_CHIPID_ID_SHIFT   12
+#define VSC73XX_ICPU_CHIPID_ID_MASK    0xffff
+#define VSC73XX_ICPU_CHIPID_REV_SHIFT  28
+#define VSC73XX_ICPU_CHIPID_REV_MASK   0xf
+#define VSC73XX_ICPU_CHIPID_ID_7385    0x7385
+#define VSC73XX_ICPU_CHIPID_ID_7395    0x7395
+
 #define VSC73XX_CMD_MODE_READ          0
 #define VSC73XX_CMD_MODE_WRITE         1
 #define VSC73XX_CMD_MODE_SHIFT         4
@@ -494,16 +501,18 @@ static int vsc7385_detect(struct vsc7385 *vsc)
                return err;
        }
 
-       id = (t >> 12) & 0xffff;
+       id = (t >> VSC73XX_ICPU_CHIPID_ID_SHIFT) & VSC73XX_ICPU_CHIPID_ID_MASK;
        switch (id) {
-       case 0x7385:
+       case VSC73XX_ICPU_CHIPID_ID_7385:
+       case VSC73XX_ICPU_CHIPID_ID_7395:
                break;
        default:
                dev_err(&spi->dev, "unsupported chip, id=%04x\n", id);
                return -ENODEV;
        }
 
-       rev = (t >> 28) & 0xf;
+       rev = (t >> VSC73XX_ICPU_CHIPID_REV_SHIFT) &
+             VSC73XX_ICPU_CHIPID_REV_MASK;
        dev_info(&spi->dev, "VSC%04X (rev. %d) switch found \n", id, rev);
 
        return 0;