xref: /OK3568_Linux_fs/external/rkwifibt/drivers/infineon/include/bcmspi.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * Broadcom SPI Low-Level Hardware Driver API
3  *
4  * Portions of this code are copyright (c) 2021 Cypress Semiconductor Corporation
5  *
6  * Copyright (C) 1999-2017, Broadcom Corporation
7  *
8  *      Unless you and Broadcom execute a separate written software license
9  * agreement governing use of this software, this software is licensed to you
10  * under the terms of the GNU General Public License version 2 (the "GPL"),
11  * available at http://www.broadcom.com/licenses/GPLv2.php, with the
12  * following added to such license:
13  *
14  *      As a special exception, the copyright holders of this software give you
15  * permission to link this software with independent modules, and to copy and
16  * distribute the resulting executable under terms of your choice, provided that
17  * you also meet, for each linked independent module, the terms and conditions of
18  * the license of that module.  An independent module is a module which is not
19  * derived from this software.  The special exception does not apply to any
20  * modifications of the software.
21  *
22  *      Notwithstanding the above, under no circumstances may you combine this
23  * software in any way with any other Broadcom software provided under a license
24  * other than the GPL, without Broadcom's express prior written consent.
25  *
26  *
27  * <<Broadcom-WL-IPTag/Open:>>
28  *
29  * $Id: bcmspi.h 514727 2014-11-12 03:02:48Z $
30  */
31 #ifndef	_BCM_SPI_H
32 #define	_BCM_SPI_H
33 
34 extern void spi_devintr_off(sdioh_info_t *sd);
35 extern void spi_devintr_on(sdioh_info_t *sd);
36 extern bool spi_start_clock(sdioh_info_t *sd, uint16 new_sd_divisor);
37 extern bool spi_controller_highspeed_mode(sdioh_info_t *sd, bool hsmode);
38 extern bool spi_check_client_intr(sdioh_info_t *sd, int *is_dev_intr);
39 extern bool spi_hw_attach(sdioh_info_t *sd);
40 extern bool spi_hw_detach(sdioh_info_t *sd);
41 extern void spi_sendrecv(sdioh_info_t *sd, uint8 *msg_out, uint8 *msg_in, int msglen);
42 extern void spi_spinbits(sdioh_info_t *sd);
43 extern void spi_waitbits(sdioh_info_t *sd, bool yield);
44 
45 #endif /* _BCM_SPI_H */
46