25 #define QSPI_INTERRUPT_SOURCE (18) 28 #define QSPI_INTERRUPT_LEVEL (2) 31 #define QSPI_INTERRUPT_PRIORITY (7) 36 #define QSPI_RAM_ENTRIES (16) 37 #define QSPI_RAM_TRANSMIT_START (0x00) 38 #define QSPI_RAM_RECEIVE_START (0x10) 39 #define QSPI_RAM_COMMAND_START (0x20) 58 typedef struct _QmrFields
67 } __attribute__((packed)) QmrFields;
73 } __attribute__((packed)) Qmr;
82 typedef struct _QdlyrFields
88 } __attribute__((packed)) QdlyrFields;
90 typedef union _Qdlyr {
94 } __attribute__((packed)) Qdlyr;
107 typedef struct _QwrFields
117 } __attribute__((packed)) QwrFields;
123 } __attribute__((packed)) Qwr;
138 typedef struct _QirFields
148 uint16_t mbz_04_07 : 4;
154 } __attribute__((packed)) QirFields;
160 } __attribute__((packed)) Qir;
171 typedef struct _QcrFields
177 uint16_t qspi_cs : 4;
178 uint16_t mbz_00_07 : 8;
180 } __attribute__((packed)) QcrFields;
186 } __attribute__((packed)) Qcr;
212 typedef void(QspiIsr)(void);
231 int QspiSetupHardware(BOOL setHighDrive);
252 int QspiAttachChipSelects(uint8_t controlledChipSelects);
273 int QspiDetachChipSelects(uint8_t controlledChipSelects);
295 void QspiAssertChipSelects(uint8_t controlledChipSelects, BOOL isChipSelectActiveLow);
317 void QspiDeassertChipSelects(uint8_t controlledChipSelects, BOOL isChipSelectActiveLow);
335 void QspiSetupIsr(QspiIsr isr);
353 uint8_t QspiGetBaudSetting(
unsigned long baudRateInMhz);
371 unsigned long QspiGetCurrentBaudSetting(
void);
389 void QspiEnableIsr(
void);
407 void QspiDisableIsr(
void);
425 void QspiGetRegisters(
volatile uint16_t **qmrPtr,
426 volatile uint16_t **qdlyrPtr,
427 volatile uint16_t **qwrPtr,
428 volatile uint16_t **qirPtr,
429 volatile uint16_t **qarPtr,
430 volatile uint16_t **qdrPtr);