summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/qspi.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/atsam/libraries/libchip/include/qspi.h')
-rw-r--r--c/src/lib/libbsp/arm/atsam/libraries/libchip/include/qspi.h236
1 files changed, 0 insertions, 236 deletions
diff --git a/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/qspi.h b/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/qspi.h
deleted file mode 100644
index c1f81f6ad6..0000000000
--- a/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/qspi.h
+++ /dev/null
@@ -1,236 +0,0 @@
-/* ---------------------------------------------------------------------------- */
-/* Atmel Microcontroller Software Support */
-/* SAM Software Package License */
-/* ---------------------------------------------------------------------------- */
-/* Copyright (c) 2015, Atmel Corporation */
-/* */
-/* All rights reserved. */
-/* */
-/* Redistribution and use in source and binary forms, with or without */
-/* modification, are permitted provided that the following condition is met: */
-/* */
-/* - Redistributions of source code must retain the above copyright notice, */
-/* this list of conditions and the disclaimer below. */
-/* */
-/* Atmel's name may not be used to endorse or promote products derived from */
-/* this software without specific prior written permission. */
-/* */
-/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
-/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
-/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
-/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
-/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
-/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
-/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
-/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
-/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-/* ---------------------------------------------------------------------------- */
-
-
-/**
- * \file
- *
- * Interface for Serial Peripheral Interface (SPI) controller.
- *
- */
-
-#ifndef _QSPI_
-#define _QSPI_
-/*----------------------------------------------------------------------------
- * Macros
- *----------------------------------------------------------------------------*/
-
-/**
- *
- * Here are several macros which should be used when configuring a SPI
- * peripheral.
- *
- * \section qspi_configuration_macros SPI Configuration Macros
- * - \ref QSPI_PCS
- * - \ref QSPI_SCBR
- * - \ref QSPI_DLYBS
- * - \ref QSPI_DLYBCT
- */
-
-/** Calculates the value of the CSR SCBR field given the baudrate and MCK. */
-#define QSPI_SCBR(baudrate, masterClock) \
- ((uint32_t) (masterClock / baudrate) << 8)
-
-/** Calculates the value of the CSR DLYBS field given the desired delay (in ns) */
-#define QSPI_DLYBS(delay, masterClock) \
- ((uint32_t) (((masterClock / 1000000) * delay) / 1000) << 16)
-
-/** Calculates the value of the CSR DLYBCT field given the desired delay (in ns) */
-#define QSPI_DLYBCT(delay, masterClock) \
- ((uint32_t) (((masterClock / 1000000) * delay) / 32000) << 24)
-
-/*--------------------------------------------------------------------------- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*----------------------------------------------------------------------------
- * Exported functions
- *----------------------------------------------------------------------------*/
-
-/** \brief qspi access modes
- */
-typedef enum {
- CmdAccess = 0,
- ReadAccess,
- WriteAccess
-} Access_t;
-
-/** \brief qspi modes SPI or QSPI
- */
-typedef enum {
- SpiMode = QSPI_MR_SMM_SPI,
- QspiMemMode = QSPI_MR_SMM_MEMORY
-} QspiMode_t;
-
-
-/** \brief qspi clock modes , regarding clock phase and clock polarity
- */
-typedef enum {
- ClockMode_00 = 0,
- ClockMode_10,
- ClockMode_01,
- ClockMode_11
-} QspiClockMode_t;
-
-
-/** \brief qspi status codes
- */
-typedef enum {
- QSPI_SUCCESS = 0,
- QSPI_BUSY,
- QSPI_BUSY_SENDING,
- QSPI_READ_ERROR,
- QSPI_WRITE_ERROR,
- QSPI_UNKNOWN_ERROR,
- QSPI_INIT_ERROR,
- QSPI_INPUT_ERROR,
- QSPI_TOTAL_ERROR
-} QspidStatus_t;
-
-
-/** \brief qspi status regiter bits
- */
-typedef enum {
- IsReceived = QSPI_SR_RDRF,
- IsTxSent = QSPI_SR_TDRE,
- IsTxEmpty = QSPI_SR_TXEMPTY,
- IsOverrun = QSPI_SR_OVRES,
- IsCsRise = QSPI_SR_CSR,
- IsCsAsserted = QSPI_SR_CSS,
- IsEofInst = QSPI_SR_INSTRE,
- IsEnabled = QSPI_SR_QSPIENS
-} QspiStatus_t;
-
-/** \brief qspi command structure
- */
-typedef struct {
- uint8_t Instruction;
- uint8_t Option;
-} QspiMemCmd_t;
-
-/** \brief qspi buffer structure
- */
-typedef struct {
- uint32_t TxDataSize; /* Tx buffer size */
- uint32_t RxDataSize; /* Rx buffer size */
- const void *pDataTx; /* Tx buffer */
- void *pDataRx; /* Rx buffer */
-} QspiBuffer_t;
-
-
-/** \brief qspi frame structure for QSPI mode
- */
-typedef struct {
- union _QspiInstFrame {
- uint32_t val;
- struct _QspiInstFrameBM {
- uint32_t bwidth: 3, /** Width of QSPI Addr , inst data */
- reserved0: 1, /** Reserved*/
- bInstEn: 1, /** Enable Inst */
- bAddrEn: 1, /** Enable Address */
- bOptEn: 1, /** Enable Option */
- bDataEn: 1, /** Enable Data */
- bOptLen: 2, /** Option Length*/
- bAddrLen: 1, /** Addrs Length*/
- reserved1: 1, /** Option Length*/
- bXfrType: 2, /** Transfer type*/
- bContinuesRead: 1, /** Continoues read mode*/
- reserved2: 1, /** Reserved*/
- bDummyCycles: 5, /**< Unicast hash match */
- reserved3: 11; /** Reserved*/
- } bm;
- } InstFrame;
- uint32_t Addr;
-} QspiInstFrame_t;
-
-/** \brief qspi driver structure
- */
-typedef struct {
- uint8_t qspiId; /* QSPI ID */
- Qspi *pQspiHw; /* QSPI Hw instance */
- QspiMode_t qspiMode; /* Qspi mode: SPI or QSPI */
- QspiMemCmd_t qspiCommand; /* Qspi command structure*/
- QspiBuffer_t qspiBuffer; /* Qspi buffer*/
- QspiInstFrame_t *pQspiFrame; /* Qspi QSPI mode Fram register informations*/
-} Qspid_t;
-
-
-void QSPI_SwReset(Qspi *pQspi);
-
-void QSPI_Disable(Qspi *pQspi);
-
-void QSPI_Enable(Qspi *pQspi);
-
-QspidStatus_t QSPI_EndTransfer(Qspi *pQspi);
-
-uint32_t QSPI_GetStatus(Qspi *pQspi, const QspiStatus_t rStatus);
-
-void QSPI_ConfigureClock(Qspi *pQspi, QspiClockMode_t ClockMode,
- uint32_t dwClockCfg);
-
-QspidStatus_t QSPI_SingleReadSPI(Qspid_t *pQspid, uint16_t *const pData);
-
-QspidStatus_t QSPI_MultiReadSPI(Qspid_t *pQspid, uint16_t *
- const pData, uint32_t NumOfBytes);
-
-QspidStatus_t QSPI_SingleWriteSPI(Qspid_t *pQspid, uint16_t const *pData);
-
-QspidStatus_t QSPI_MultiWriteSPI(Qspid_t *pQspid, uint16_t const *pData ,
- uint32_t NumOfBytes);
-
-QspidStatus_t QSPI_EnableIt(Qspi *pQspi, uint32_t dwSources);
-
-QspidStatus_t QSPI_DisableIt(Qspi *pQspi, uint32_t dwSources);
-
-uint32_t QSPI_GetItMask(Qspi *pQspi);
-
-uint32_t QSPI_GetEnabledItStatus(Qspi *pQspi);
-
-QspidStatus_t QSPI_ConfigureInterface(Qspid_t *pQspid, QspiMode_t Mode,
- uint32_t dwConfiguration);
-
-QspidStatus_t QSPI_SendCommand(Qspid_t *pQspi, uint8_t const KeepCfg);
-
-QspidStatus_t QSPI_SendCommandWithData(Qspid_t *pQspi, uint8_t const KeepCfg);
-
-QspidStatus_t QSPI_ReadCommand(Qspid_t *pQspi, uint8_t const KeepCfg);
-
-QspidStatus_t QSPI_EnableMemAccess(Qspid_t *pQspi, uint8_t const KeepCfg,
- uint8_t ScrambleFlag);
-
-QspidStatus_t QSPI_ReadWriteMem(Qspid_t *pQspid, Access_t const ReadWrite);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* #ifndef _QSPI_ */
-