[brcm63xx] fix SPI register definitions
authorFlorian Fainelli <florian@openwrt.org>
Thu, 15 Jan 2009 22:53:32 +0000 (22:53 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Thu, 15 Jan 2009 22:53:32 +0000 (22:53 +0000)
SVN-Revision: 14048

target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_regs.h

index cdc44fc4cbe2b93c4a007cf917242b956bec7d1b..6a922436c5062c7d39dcde070ce2a272068da824 100644 (file)
  * _REG relative to RSET_SPI
  *************************************************************************/
 
-#define SPI_MSG_CTL                    0x00
+/* BCM 6338 SPI core */
+#define SPI_BCM_6338_SPI_CMD           0x00
+#define SPI_BCM_6338_SPI_INT_STATUS    0x02
+#define SPI_BCM_6338_SPI_MASK_INT_ST   0x03
+#define SPI_BCM_6338_SPI_INT_MASK      0x04
+#define SPI_BCM_6338_SPI_ST            0x05
+#define SPI_BCM_6338_SPI_CLK_CFG       0x06
+#define SPI_BCM_6338_SPI_FILL_BYTE     0x07
+#define SPI_BCM_6338_SPI_MSG_TAIL      0x09
+#define SPI_BCM_6338_SPI_RX_TAIL       0x0b
+#define SPI_BCM_6338_SPI_MSG_CTL       0x40
+#define SPI_BCM_6338_SPI_MSG_DATA      0x41
+#define SPI_BCM_6338_SPI_MSG_DATA_SIZE 0x3f
+#define SPI_BCM_6338_SPI_RX_DATA       0x80
+#define SPI_BCM_6338_SPI_RX_DATA_SIZE  0x3f
+
+/* BCM 6348 SPI core */
+#define SPI_BCM_6348_SPI_CMD1          0x00
+#define SPI_BCM_6348_SPI_CMD2          0x04
+#define SPI_BCM_6348_SPI_TAIL          0x08
+#define SPI_BCM_6348_SPI_MSG_DATA      0x40
+#define SPI_BCM_6348_SPI_MSG_DATA_SIZE 0x3f
+#define SPI_BCM_6348_SPI_RX_DATA       0x80
+#define SPI_BCM_6348_SPI_RX_DATA_SIZE  0x3f
+
+/* BCM 6358 SPI core */
+#define SPI_BCM_6358_MSG_CTL           0x00
+
+#define SPI_BCM_6358_SPI_MSG_DATA      0x02
+#define SPI_BCM_6358_SPI_MSG_DATA_SIZE 0x21e
+
+#define SPI_BCM_6358_SPI_RX_FIFO       0x400
+#define SPI_BCM_6358_SPI_RX_FIFO_SIZE  0x220
+
+#define SPI_BCM_6358_SPI_CMD           0x700
+
+#define SPI_BCM_6358_SPI_INT_STATUS    0x702
+#define SPI_BCM_6358_SPI_MASK_INT_ST   0x703
+
+#define SPI_BCM_6358_SPI_INT_MASK      0x704
+
+#define SPI_BCM_6358_SPI_STATUS                0x705
+
+#define SPI_BCM_6358_SPI_CLK_CFG       0x706
+
+#define SPI_BCM_6358_SPI_FILL_BYTE     0x707
+#define SPI_BCM_6358_SPI_MSG_TAIL      0x709
+#define SPI_BCM_6358_SPI_RX_TAIL       0x70B
+
+/* Shared SPI definitions */
+
+/* Message configuration */
 #define SPI_FD_RW                      0
 #define SPI_HD_W                       1
 #define SPI_HD_R                       2
 #define SPI_MSG_TYPE_SHIFT             14
-#define SPI_BYTE_CNT_SHIFT             0
 
-#define SPI_MSG_DATA                   0x02
-#define SPI_MSG_DATA_SIZE              0x21e
-
-#define SPI_RX_FIFO                    0x400
-#define SPI_RX_FIFO_SIZE               0x220
-
-#define SPI_CMD                                0x700
+/* Command */
 #define SPI_CMD_NOOP                   0
 #define SPI_CMD_SOFT_RESET             1
 #define SPI_CMD_HARD_RESET             2
 #define SPI_DEV_ID_2                   2
 #define SPI_DEV_ID_3                   3
 
-#define SPI_INT_STATUS                 0x702
-#define SPI_MASK_INT_STATUS            0x703
-
-#define SPI_INT_MASK                   0x704
+/* Interrupt mask */
 #define SPI_INTR_CMD_DONE              0x01
 #define SPI_INTR_RX_OVERFLOW           0x02
 #define SPI_INTR_TX_UNDERFLOW          0x04
 #define SPI_INTR_RX_UNDERFLOW          0x10
 #define SPI_INTR_CLEAR_ALL             0x1f
 
-#define SPI_STATUS                     0x705
+/* Status */
 #define SPI_RX_EMPTY                   0x02
 #define SPI_CMD_BUSY                   0x04
 #define SPI_SERIAL_BUSY                        0x08
 
-#define SPI_CLK_CFG                    0x706
+/* Clock configuration */
 #define SPI_CLK_0_391MHZ               1
 #define SPI_CLK_0_781MHZ               2 /* default */
 #define SPI_CLK_1_563MHZ               3
 #define SPI_SSOFFTIME_SHIFT            3
 #define SPI_BYTE_SWAP                  0x80
 
-#define SPI_FILL_BYTE                  0x707
-#define SPI_MSG_TAIL                   0x709
-#define SPI_RX_TAIL                    0x70B
 
 #endif /* BCM63XX_REGS_H_ */