xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/ti/wl1251/spi.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * This file is part of wl1251
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (c) 1998-2007 Texas Instruments Incorporated
6*4882a593Smuzhiyun  * Copyright (C) 2008 Nokia Corporation
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #ifndef __WL1251_SPI_H__
10*4882a593Smuzhiyun #define __WL1251_SPI_H__
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #include "cmd.h"
13*4882a593Smuzhiyun #include "acx.h"
14*4882a593Smuzhiyun #include "reg.h"
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun #define WSPI_CMD_READ                 0x40000000
17*4882a593Smuzhiyun #define WSPI_CMD_WRITE                0x00000000
18*4882a593Smuzhiyun #define WSPI_CMD_FIXED                0x20000000
19*4882a593Smuzhiyun #define WSPI_CMD_BYTE_LENGTH          0x1FFE0000
20*4882a593Smuzhiyun #define WSPI_CMD_BYTE_LENGTH_OFFSET   17
21*4882a593Smuzhiyun #define WSPI_CMD_BYTE_ADDR            0x0001FFFF
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun #define WSPI_INIT_CMD_CRC_LEN       5
24*4882a593Smuzhiyun 
25*4882a593Smuzhiyun #define WSPI_INIT_CMD_START         0x00
26*4882a593Smuzhiyun #define WSPI_INIT_CMD_TX            0x40
27*4882a593Smuzhiyun /* the extra bypass bit is sampled by the TNET as '1' */
28*4882a593Smuzhiyun #define WSPI_INIT_CMD_BYPASS_BIT    0x80
29*4882a593Smuzhiyun #define WSPI_INIT_CMD_FIXEDBUSY_LEN 0x07
30*4882a593Smuzhiyun #define WSPI_INIT_CMD_EN_FIXEDBUSY  0x80
31*4882a593Smuzhiyun #define WSPI_INIT_CMD_DIS_FIXEDBUSY 0x00
32*4882a593Smuzhiyun #define WSPI_INIT_CMD_IOD           0x40
33*4882a593Smuzhiyun #define WSPI_INIT_CMD_IP            0x20
34*4882a593Smuzhiyun #define WSPI_INIT_CMD_CS            0x10
35*4882a593Smuzhiyun #define WSPI_INIT_CMD_WS            0x08
36*4882a593Smuzhiyun #define WSPI_INIT_CMD_WSPI          0x01
37*4882a593Smuzhiyun #define WSPI_INIT_CMD_END           0x01
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun #define WSPI_INIT_CMD_LEN           8
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun #define HW_ACCESS_WSPI_FIXED_BUSY_LEN \
42*4882a593Smuzhiyun 		((WL1251_BUSY_WORD_LEN - 4) / sizeof(u32))
43*4882a593Smuzhiyun #define HW_ACCESS_WSPI_INIT_CMD_MASK  0
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun #endif /* __WL1251_SPI_H__ */
46