xref: /openbmc/linux/drivers/net/wireless/ti/wl1251/spi.h (revision 2b27bdcc)
12b27bdccSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
290921014SLuciano Coelho /*
390921014SLuciano Coelho  * This file is part of wl1251
490921014SLuciano Coelho  *
590921014SLuciano Coelho  * Copyright (c) 1998-2007 Texas Instruments Incorporated
690921014SLuciano Coelho  * Copyright (C) 2008 Nokia Corporation
790921014SLuciano Coelho  */
890921014SLuciano Coelho 
990921014SLuciano Coelho #ifndef __WL1251_SPI_H__
1090921014SLuciano Coelho #define __WL1251_SPI_H__
1190921014SLuciano Coelho 
1290921014SLuciano Coelho #include "cmd.h"
1390921014SLuciano Coelho #include "acx.h"
1490921014SLuciano Coelho #include "reg.h"
1590921014SLuciano Coelho 
1690921014SLuciano Coelho #define WSPI_CMD_READ                 0x40000000
1790921014SLuciano Coelho #define WSPI_CMD_WRITE                0x00000000
1890921014SLuciano Coelho #define WSPI_CMD_FIXED                0x20000000
1990921014SLuciano Coelho #define WSPI_CMD_BYTE_LENGTH          0x1FFE0000
2090921014SLuciano Coelho #define WSPI_CMD_BYTE_LENGTH_OFFSET   17
2190921014SLuciano Coelho #define WSPI_CMD_BYTE_ADDR            0x0001FFFF
2290921014SLuciano Coelho 
2390921014SLuciano Coelho #define WSPI_INIT_CMD_CRC_LEN       5
2490921014SLuciano Coelho 
2590921014SLuciano Coelho #define WSPI_INIT_CMD_START         0x00
2690921014SLuciano Coelho #define WSPI_INIT_CMD_TX            0x40
2790921014SLuciano Coelho /* the extra bypass bit is sampled by the TNET as '1' */
2890921014SLuciano Coelho #define WSPI_INIT_CMD_BYPASS_BIT    0x80
2990921014SLuciano Coelho #define WSPI_INIT_CMD_FIXEDBUSY_LEN 0x07
3090921014SLuciano Coelho #define WSPI_INIT_CMD_EN_FIXEDBUSY  0x80
3190921014SLuciano Coelho #define WSPI_INIT_CMD_DIS_FIXEDBUSY 0x00
3290921014SLuciano Coelho #define WSPI_INIT_CMD_IOD           0x40
3390921014SLuciano Coelho #define WSPI_INIT_CMD_IP            0x20
3490921014SLuciano Coelho #define WSPI_INIT_CMD_CS            0x10
3590921014SLuciano Coelho #define WSPI_INIT_CMD_WS            0x08
3690921014SLuciano Coelho #define WSPI_INIT_CMD_WSPI          0x01
3790921014SLuciano Coelho #define WSPI_INIT_CMD_END           0x01
3890921014SLuciano Coelho 
3990921014SLuciano Coelho #define WSPI_INIT_CMD_LEN           8
4090921014SLuciano Coelho 
4190921014SLuciano Coelho #define HW_ACCESS_WSPI_FIXED_BUSY_LEN \
4290921014SLuciano Coelho 		((WL1251_BUSY_WORD_LEN - 4) / sizeof(u32))
4390921014SLuciano Coelho #define HW_ACCESS_WSPI_INIT_CMD_MASK  0
4490921014SLuciano Coelho 
4590921014SLuciano Coelho #endif /* __WL1251_SPI_H__ */
46