*  directory.\r
  */\r
  \r
+/** \ingroup Group_BoardDrivers\r
+ *  @defgroup Group_Dataflash Dataflash Driver - LUFA/Drivers/Board/Dataflash.h\r
+ *\r
+ *  \section Sec_Dependencies Module Source Dependencies\r
+ *  The following files must be built with any user project that uses this module:\r
+ *    - None\r
+ *\r
+ *  \section Module Description\r
+ *  Functions, macros, variables, enums and types related to the control of board Dataflash ICs.\r
+ *\r
+ *  If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project\r
+ *  directory. Otherwise, it will include the appropriate built in board driver header file.\r
+ *\r
+ *  @{\r
+ */\r
+ \r
 #ifndef __DATAFLASH_H__\r
 #define __DATAFLASH_H__\r
 \r
        #endif\r
 \r
        /* Includes: */\r
-       #include "../AT90USBXXX/SPI.h"\r
+       #include "../Peripheral/SPI.h"\r
        #include "../../Common/Common.h"\r
                \r
        /* Enable C linkage for C++ Compilers: */\r
                #endif\r
 \r
        /* Public Interface - May be used in end-application: */\r
-               /* Macros: */\r
-                       /** Returns the mask of the currently selected Dataflash chip, either DATAFLASH_NO_CHIP or a\r
-                        *  DATAFLASH_CHIPn mask (where n is the chip number).\r
-                        */\r
-                       #define Dataflash_GetSelectedChip()          (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK)\r
+               /* Pseudo-Function Macros: */\r
+                       #if defined(__DOXYGEN__)\r
+                               /** Determines the currently selected dataflash chip.\r
+                                *\r
+                                *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected\r
+                                *  or a DATAFLASH_CHIPn mask (where n is the chip number).\r
+                                */\r
+                               static inline uint8_t Dataflash_GetSelectedChip(void);\r
+\r
+                               /** Selects the given dataflash chip.\r
+                                *\r
+                                *  \param  ChipMask  Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is\r
+                                *          the chip number).\r
+                                */\r
+                               static inline void Dataflash_SelectChip(uint8_t ChipMask);\r
+\r
+                               /** Deselects the current dataflash chip, so that no dataflash is selected. */\r
+                               static inline void Dataflash_DeselectChip(void);\r
+                       #else\r
+                               #define Dataflash_GetSelectedChip()          (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK)\r
 \r
-                       /** Selects the dataflash chip given as a chip mask, in the form of DATAFLASH_CHIPn (where n\r
-                        *  is the chip number).\r
-                        */\r
-                       #define Dataflash_SelectChip(mask)   MACROS{ DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT \\r
-                                                                    & ~DATAFLASH_CHIPCS_MASK) | mask);              }MACROE\r
+                               #define Dataflash_SelectChip(mask)   MACROS{ DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT \\r
+                                                                                                                        & ~DATAFLASH_CHIPCS_MASK) | mask);              }MACROE\r
+                               \r
+                               #define Dataflash_DeselectChip()             Dataflash_SelectChip(DATAFLASH_NO_CHIP)\r
+                       #endif\r
                        \r
-                       /** Deselects the current dataflash chip, so that no dataflash is selected. */\r
-                       #define Dataflash_DeselectChip()             Dataflash_SelectChip(DATAFLASH_NO_CHIP)\r
-\r
                /* Inline Functions: */\r
                        /** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.\r
                         *\r
                #endif\r
        \r
 #endif\r
+\r
+/** @} */\r