aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/Board
diff options
context:
space:
mode:
Diffstat (limited to 'LUFA/Drivers/Board')
-rw-r--r--LUFA/Drivers/Board/AVR8/EVK527/Dataflash.h1
-rw-r--r--LUFA/Drivers/Board/AVR8/STK525/Dataflash.h1
-rw-r--r--LUFA/Drivers/Board/AVR8/STK526/Dataflash.h1
-rw-r--r--LUFA/Drivers/Board/AVR8/USBKEY/Dataflash.h1
-rw-r--r--LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h1
-rw-r--r--LUFA/Drivers/Board/Dataflash.h5
-rw-r--r--LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h16
-rw-r--r--LUFA/Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h16
8 files changed, 18 insertions, 24 deletions
diff --git a/LUFA/Drivers/Board/AVR8/EVK527/Dataflash.h b/LUFA/Drivers/Board/AVR8/EVK527/Dataflash.h
index 007ef94ff..595492fe2 100644
--- a/LUFA/Drivers/Board/AVR8/EVK527/Dataflash.h
+++ b/LUFA/Drivers/Board/AVR8/EVK527/Dataflash.h
@@ -51,6 +51,7 @@
/* Includes: */
#include "../../../../Common/Common.h"
#include "../../../Misc/AT45DB321C.h"
+ #include "../../../Peripheral/SPI.h"
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_DATAFLASH_H)
diff --git a/LUFA/Drivers/Board/AVR8/STK525/Dataflash.h b/LUFA/Drivers/Board/AVR8/STK525/Dataflash.h
index c9d6477fa..67742977c 100644
--- a/LUFA/Drivers/Board/AVR8/STK525/Dataflash.h
+++ b/LUFA/Drivers/Board/AVR8/STK525/Dataflash.h
@@ -51,6 +51,7 @@
/* Includes: */
#include "../../../../Common/Common.h"
#include "../../../Misc/AT45DB321C.h"
+ #include "../../../Peripheral/SPI.h"
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_DATAFLASH_H)
diff --git a/LUFA/Drivers/Board/AVR8/STK526/Dataflash.h b/LUFA/Drivers/Board/AVR8/STK526/Dataflash.h
index ea4c0a021..ce20ff1e7 100644
--- a/LUFA/Drivers/Board/AVR8/STK526/Dataflash.h
+++ b/LUFA/Drivers/Board/AVR8/STK526/Dataflash.h
@@ -51,6 +51,7 @@
/* Includes: */
#include "../../../../Common/Common.h"
#include "../../../Misc/AT45DB642D.h"
+ #include "../../../Peripheral/SPI.h"
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_DATAFLASH_H)
diff --git a/LUFA/Drivers/Board/AVR8/USBKEY/Dataflash.h b/LUFA/Drivers/Board/AVR8/USBKEY/Dataflash.h
index 1e34a3953..5b71d7d88 100644
--- a/LUFA/Drivers/Board/AVR8/USBKEY/Dataflash.h
+++ b/LUFA/Drivers/Board/AVR8/USBKEY/Dataflash.h
@@ -51,6 +51,7 @@
/* Includes: */
#include "../../../../Common/Common.h"
#include "../../../Misc/AT45DB642D.h"
+ #include "../../../Peripheral/SPI.h"
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_DATAFLASH_H)
diff --git a/LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h b/LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h
index 62532ced1..c9bdbdc3a 100644
--- a/LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h
+++ b/LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h
@@ -60,6 +60,7 @@
/* Includes: */
#include "../../../../Common/Common.h"
#include "../../../Misc/AT45DB642D.h"
+ #include "../../../Peripheral/SPI.h"
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_DATAFLASH_H)
diff --git a/LUFA/Drivers/Board/Dataflash.h b/LUFA/Drivers/Board/Dataflash.h
index 2e1336bf6..a5ae29dc8 100644
--- a/LUFA/Drivers/Board/Dataflash.h
+++ b/LUFA/Drivers/Board/Dataflash.h
@@ -123,7 +123,6 @@
/* Includes: */
#include "../../Common/Common.h"
- #include "../Peripheral/SPI.h"
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
@@ -148,7 +147,9 @@
/* Inline Functions: */
/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
*
- * \note The microcontroller's SPI driver must be initialized before any of the dataflash commands are used.
+ * \note The microcontroller's physical interface driver connected to the Dataflash IC must be initialized before
+ * any of the dataflash commands are used. This is usually a SPI hardware port, but on some devices/boards may
+ * be a USART operating in SPI Master mode.
*/
static inline void Dataflash_Init(void);
diff --git a/LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h b/LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h
index c263853ee..abc8d85d1 100644
--- a/LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h
+++ b/LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h
@@ -51,6 +51,7 @@
/* Includes: */
#include "../../../../Common/Common.h"
#include "../../../Misc/AT45DB642D.h"
+ #include "../../../Peripheral/SerialSPI.h"
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_DATAFLASH_H)
@@ -100,9 +101,7 @@
static inline uint8_t Dataflash_TransferByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
static inline uint8_t Dataflash_TransferByte(const uint8_t Byte)
{
- // TODO: USART in SPI mode on PORT D
- #warning The Dataflash driver for the selected board is currently incomplete and non-functional.
- return 0;
+ return SerialSPI_TransferByte(&USARTD0, Byte);
}
/** Sends a byte to the currently selected dataflash IC, and ignores the next byte from the dataflash.
@@ -112,7 +111,7 @@
static inline void Dataflash_SendByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
static inline void Dataflash_SendByte(const uint8_t Byte)
{
- return; // TODO
+ SerialSPI_SendByte(&USARTD0, Byte);
}
/** Sends a dummy byte to the currently selected dataflash IC, and returns the next byte from the dataflash.
@@ -122,7 +121,7 @@
static inline uint8_t Dataflash_ReceiveByte(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
static inline uint8_t Dataflash_ReceiveByte(void)
{
- return 0; // TODO
+ return SerialSPI_ReceiveByte(&USARTD0);
}
/** Determines the currently selected dataflash chip.
@@ -170,10 +169,7 @@
if (PageAddress >= (DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS))
return;
- if (PageAddress & 0x01)
- Dataflash_SelectChip(DATAFLASH_CHIP2);
- else
- Dataflash_SelectChip(DATAFLASH_CHIP1);
+ Dataflash_SelectChip(DATAFLASH_CHIP1);
}
/** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
@@ -207,8 +203,6 @@
static inline void Dataflash_SendAddressBytes(uint16_t PageAddress,
const uint16_t BufferByte)
{
- PageAddress >>= 1;
-
Dataflash_SendByte(PageAddress >> 5);
Dataflash_SendByte((PageAddress << 3) | (BufferByte >> 8));
Dataflash_SendByte(BufferByte);
diff --git a/LUFA/Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h b/LUFA/Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h
index 74a215b6c..e12f969e6 100644
--- a/LUFA/Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h
+++ b/LUFA/Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h
@@ -51,6 +51,7 @@
/* Includes: */
#include "../../../../Common/Common.h"
#include "../../../Misc/AT45DB642D.h"
+ #include "../../../Peripheral/SerialSPI.h"
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_DATAFLASH_H)
@@ -100,9 +101,7 @@
static inline uint8_t Dataflash_TransferByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
static inline uint8_t Dataflash_TransferByte(const uint8_t Byte)
{
- // TODO: USART in SPI mode on PORT C
- #warning The Dataflash driver for the selected board is currently incomplete and non-functional.
- return 0;
+ return SerialSPI_TransferByte(&USARTE0, Byte);
}
/** Sends a byte to the currently selected dataflash IC, and ignores the next byte from the dataflash.
@@ -112,7 +111,7 @@
static inline void Dataflash_SendByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
static inline void Dataflash_SendByte(const uint8_t Byte)
{
- return; // TODO
+ SerialSPI_SendByte(&USARTE0, Byte);
}
/** Sends a dummy byte to the currently selected dataflash IC, and returns the next byte from the dataflash.
@@ -122,7 +121,7 @@
static inline uint8_t Dataflash_ReceiveByte(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
static inline uint8_t Dataflash_ReceiveByte(void)
{
- return 0; // TODO
+ return SerialSPI_ReceiveByte(&USARTE0);
}
/** Determines the currently selected dataflash chip.
@@ -170,10 +169,7 @@
if (PageAddress >= (DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS))
return;
- if (PageAddress & 0x01)
- Dataflash_SelectChip(DATAFLASH_CHIP2);
- else
- Dataflash_SelectChip(DATAFLASH_CHIP1);
+ Dataflash_SelectChip(DATAFLASH_CHIP1);
}
/** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
@@ -207,8 +203,6 @@
static inline void Dataflash_SendAddressBytes(uint16_t PageAddress,
const uint16_t BufferByte)
{
- PageAddress >>= 1;
-
Dataflash_SendByte(PageAddress >> 5);
Dataflash_SendByte((PageAddress << 3) | (BufferByte >> 8));
Dataflash_SendByte(BufferByte);