| /* |
| * Copyright (c) 2013-2018 Arm Limited. All rights reserved. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| * |
| * Licensed under the Apache License, Version 2.0 (the License); you may |
| * not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an AS IS BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #include "Driver_SPI.h" |
| |
| #define ARM_SPI_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2, 0) /* driver version */ |
| |
| /* Driver Version */ |
| static const ARM_DRIVER_VERSION DriverVersion = { |
| ARM_SPI_API_VERSION, |
| ARM_SPI_DRV_VERSION |
| }; |
| |
| /* Driver Capabilities */ |
| static const ARM_SPI_CAPABILITIES DriverCapabilities = { |
| 1, /* Simplex Mode (Master and Slave) */ |
| 1, /* TI Synchronous Serial Interface */ |
| 1, /* Microwire Interface */ |
| 0 /* Signal Mode Fault event: \ref ARM_SPI_EVENT_MODE_FAULT */ |
| }; |
| |
| // |
| // Functions |
| // |
| |
| ARM_DRIVER_VERSION ARM_SPI_GetVersion(void) |
| { |
| } |
| |
| ARM_SPI_CAPABILITIES ARM_SPI_GetCapabilities(void) |
| { |
| } |
| |
| int32_t ARM_SPI_Initialize(ARM_SPI_SignalEvent_t cb_event) |
| { |
| } |
| |
| int32_t ARM_SPI_Uninitialize(void) |
| { |
| } |
| |
| int32_t ARM_SPI_PowerControl(ARM_POWER_STATE state) |
| { |
| switch (state) |
| { |
| case ARM_POWER_OFF: |
| break; |
| |
| case ARM_POWER_LOW: |
| break; |
| |
| case ARM_POWER_FULL: |
| break; |
| |
| default: |
| return ARM_DRIVER_ERROR_UNSUPPORTED; |
| } |
| } |
| |
| int32_t ARM_SPI_Send(const void *data, uint32_t num) |
| { |
| } |
| |
| int32_t ARM_SPI_Receive(void *data, uint32_t num) |
| { |
| } |
| |
| int32_t ARM_SPI_Transfer(const void *data_out, void *data_in, uint32_t num) |
| { |
| } |
| |
| uint32_t ARM_SPI_GetDataCount(void) |
| { |
| } |
| |
| int32_t ARM_SPI_Control(uint32_t control, uint32_t arg) |
| { |
| switch (control & ARM_SPI_CONTROL_Msk) |
| { |
| default: |
| return ARM_DRIVER_ERROR_UNSUPPORTED; |
| |
| case ARM_SPI_MODE_INACTIVE: // SPI Inactive |
| return ARM_DRIVER_OK; |
| |
| case ARM_SPI_MODE_MASTER: // SPI Master (Output on MOSI, Input on MISO); arg = Bus Speed in bps |
| break; |
| |
| case ARM_SPI_MODE_SLAVE: // SPI Slave (Output on MISO, Input on MOSI) |
| break; |
| |
| case ARM_SPI_MODE_MASTER_SIMPLEX: // SPI Master (Output/Input on MOSI); arg = Bus Speed in bps |
| case ARM_SPI_MODE_SLAVE_SIMPLEX: // SPI Slave (Output/Input on MISO) |
| return ARM_SPI_ERROR_MODE; |
| |
| case ARM_SPI_SET_BUS_SPEED: // Set Bus Speed in bps; arg = value |
| break; |
| |
| case ARM_SPI_GET_BUS_SPEED: // Get Bus Speed in bps |
| break; |
| |
| case ARM_SPI_SET_DEFAULT_TX_VALUE: // Set default Transmit value; arg = value |
| break; |
| |
| case ARM_SPI_CONTROL_SS: // Control Slave Select; arg = 0:inactive, 1:active |
| break; |
| |
| case ARM_SPI_ABORT_TRANSFER: // Abort current data transfer |
| break; |
| } |
| } |
| |
| ARM_SPI_STATUS ARM_SPI_GetStatus(void) |
| { |
| } |
| |
| void ARM_SPI_SignalEvent(uint32_t event) |
| { |
| // function body |
| } |
| |
| // End SPI Interface |
| |
| ARM_DRIVER_SPI Driver_SPI = { |
| ARM_SPI_GetVersion, |
| ARM_SPI_GetCapabilities, |
| ARM_SPI_Initialize, |
| ARM_SPI_Uninitialize, |
| ARM_SPI_PowerControl, |
| ARM_SPI_Send, |
| ARM_SPI_Receive, |
| ARM_SPI_Transfer, |
| ARM_SPI_GetDataCount, |
| ARM_SPI_Control, |
| ARM_SPI_GetStatus |
| }; |