Azure Sphere MT3620 M4 API Reference Manual
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
os_hal_spim.h
1 /*
2  * (C) 2005-2020 MediaTek Inc. All rights reserved.
3  *
4  * Copyright Statement:
5  *
6  * This MT3620 driver software/firmware and related documentation
7  * ("MediaTek Software") are protected under relevant copyright laws.
8  * The information contained herein is confidential and proprietary to
9  * MediaTek Inc. ("MediaTek"). You may only use, reproduce, modify, or
10  * distribute (as applicable) MediaTek Software if you have agreed to and been
11  * bound by this Statement and the applicable license agreement with MediaTek
12  * ("License Agreement") and been granted explicit permission to do so within
13  * the License Agreement ("Permitted User"). If you are not a Permitted User,
14  * please cease any access or use of MediaTek Software immediately.
15  *
16  * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
17  * THAT MEDIATEK SOFTWARE RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
18  * PROVIDED TO RECEIVER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS
19  * ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
21  * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
22  * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
23  * INCORPORATED IN, OR SUPPLIED WITH MEDIATEK SOFTWARE, AND RECEIVER AGREES TO
24  * LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
25  * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
26  * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
27  * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
28  * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
29  * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
30  * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO MEDIATEK SOFTWARE RELEASED
31  * HEREUNDER WILL BE ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
32  * RECEIVER TO MEDIATEK DURING THE PRECEDING TWELVE (12) MONTHS FOR SUCH
33  * MEDIATEK SOFTWARE AT ISSUE.
34  */
35 
36 #ifndef __OS_HAL_SPIM_H__
37 #define __OS_HAL_SPIM_H__
38 
39 #include "mhal_spim.h"
40 
115 typedef enum {
128 } spim_num;
129 
149 typedef int (*spi_usr_complete_callback) (void *context);
150 
160 #ifdef __cplusplus
161 extern "C" {
162 #endif
163 
174 
185 
196 
236  struct mtk_spi_config *config,
237  struct mtk_spi_transfer *xfer);
238 
253  struct mtk_spi_config *config,
254  struct mtk_spi_transfer *xfer,
255  spi_usr_complete_callback complete,
256  void *context);
257 
258 #ifdef __cplusplus
259 }
260 #endif
261 
271 #endif
Use ISU0 as SPIM port.
Definition: os_hal_spim.h:117
int(* spi_usr_complete_callback)(void *context)
This defines the callback function prototype.
Definition: os_hal_spim.h:149
int mtk_os_hal_spim_ctlr_init(spim_num bus_num)
Init SPIM controller.
Use ISU4 as SPIM port.
Definition: os_hal_spim.h:125
I/O INTERFACE between SPI OS-HAL and M-HAL.
Definition: mhal_spim.h:281
Use ISU3as SPIM port.
Definition: os_hal_spim.h:123
The common configuration can be set for the SPIM HW.
Definition: mhal_spim.h:261
int mtk_os_hal_spim_transfer(spim_num bus_num, struct mtk_spi_config *config, struct mtk_spi_transfer *xfer)
use FIFO or DMA mode to do one blocking/synchronous SPI data transfer.
int mtk_os_hal_spim_dump_reg(spim_num bus_num)
Dump SPIM register value.
Use ISU1 as SPIM port.
Definition: os_hal_spim.h:119
spim_num
Definition: os_hal_spim.h:115
The maximum ISU number (invalid)
Definition: os_hal_spim.h:127
int mtk_os_hal_spim_async_transfer(spim_num bus_num, struct mtk_spi_config *config, struct mtk_spi_transfer *xfer, spi_usr_complete_callback complete, void *context)
use FIFO or DMA mode to do one asynchronous SPI transfer.
Use ISU2 as SPIM port.
Definition: os_hal_spim.h:121
int mtk_os_hal_spim_ctlr_deinit(spim_num bus_num)
Deinit SPIM controller.