162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * This file is part of wl1251
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 1998-2007 Texas Instruments Incorporated
662306a36Sopenharmony_ci * Copyright (C) 2008 Nokia Corporation
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef __WL1251_SPI_H__
1062306a36Sopenharmony_ci#define __WL1251_SPI_H__
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include "cmd.h"
1362306a36Sopenharmony_ci#include "acx.h"
1462306a36Sopenharmony_ci#include "reg.h"
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#define WSPI_CMD_READ                 0x40000000
1762306a36Sopenharmony_ci#define WSPI_CMD_WRITE                0x00000000
1862306a36Sopenharmony_ci#define WSPI_CMD_FIXED                0x20000000
1962306a36Sopenharmony_ci#define WSPI_CMD_BYTE_LENGTH          0x1FFE0000
2062306a36Sopenharmony_ci#define WSPI_CMD_BYTE_LENGTH_OFFSET   17
2162306a36Sopenharmony_ci#define WSPI_CMD_BYTE_ADDR            0x0001FFFF
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci#define WSPI_INIT_CMD_CRC_LEN       5
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#define WSPI_INIT_CMD_START         0x00
2662306a36Sopenharmony_ci#define WSPI_INIT_CMD_TX            0x40
2762306a36Sopenharmony_ci/* the extra bypass bit is sampled by the TNET as '1' */
2862306a36Sopenharmony_ci#define WSPI_INIT_CMD_BYPASS_BIT    0x80
2962306a36Sopenharmony_ci#define WSPI_INIT_CMD_FIXEDBUSY_LEN 0x07
3062306a36Sopenharmony_ci#define WSPI_INIT_CMD_EN_FIXEDBUSY  0x80
3162306a36Sopenharmony_ci#define WSPI_INIT_CMD_DIS_FIXEDBUSY 0x00
3262306a36Sopenharmony_ci#define WSPI_INIT_CMD_IOD           0x40
3362306a36Sopenharmony_ci#define WSPI_INIT_CMD_IP            0x20
3462306a36Sopenharmony_ci#define WSPI_INIT_CMD_CS            0x10
3562306a36Sopenharmony_ci#define WSPI_INIT_CMD_WS            0x08
3662306a36Sopenharmony_ci#define WSPI_INIT_CMD_WSPI          0x01
3762306a36Sopenharmony_ci#define WSPI_INIT_CMD_END           0x01
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci#define WSPI_INIT_CMD_LEN           8
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci#define HW_ACCESS_WSPI_FIXED_BUSY_LEN \
4262306a36Sopenharmony_ci		((WL1251_BUSY_WORD_LEN - 4) / sizeof(u32))
4362306a36Sopenharmony_ci#define HW_ACCESS_WSPI_INIT_CMD_MASK  0
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci#endif /* __WL1251_SPI_H__ */
46