Seperated out board drivers by architecture in the library internals for better organ...
[pub/lufa.git] / LUFA / Drivers / Board / USBKEY / Dataflash.h
diff --git a/LUFA/Drivers/Board/USBKEY/Dataflash.h b/LUFA/Drivers/Board/USBKEY/Dataflash.h
deleted file mode 100644 (file)
index e54f0d8..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2011.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaim all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *  \brief Board specific Dataflash driver header for the Atmel USBKEY.
- *  \copydetails Group_Dataflash_USBKEY
- *
- *  \note This file should not be included directly. It is automatically included as needed by the dataflash driver
- *        dispatch header located in LUFA/Drivers/Board/Dataflash.h.
- */
-
-/** \ingroup Group_Dataflash
- *  \defgroup Group_Dataflash_USBKEY USBKEY
- *  \brief Board specific Dataflash driver header for the Atmel USBKEY.
- *
- *  Board specific Dataflash driver header for the Atmel USBKEY board.
- *
- *  @{
- */
-
-#ifndef __DATAFLASH_USBKEY_H__
-#define __DATAFLASH_USBKEY_H__
-
-       /* Includes: */
-               #include "../../Misc/AT45DB642D.h"
-
-       /* Preprocessor Checks: */
-               #if !defined(__INCLUDE_FROM_DATAFLASH_H)
-                       #error Do not include this file directly. Include LUFA/Drivers/Board/Dataflash.h instead.
-               #endif
-
-       /* Private Interface - For use in library only: */
-       #if !defined(__DOXYGEN__)
-               /* Macros: */
-                       #define DATAFLASH_CHIPCS_MASK                ((1 << 1) | (1 << 0))
-                       #define DATAFLASH_CHIPCS_DDR                 DDRE
-                       #define DATAFLASH_CHIPCS_PORT                PORTE
-       #endif
-
-       /* Public Interface - May be used in end-application: */
-               /* Macros: */
-                       /** Constant indicating the total number of dataflash ICs mounted on the selected board. */
-                       #define DATAFLASH_TOTALCHIPS                 2
-
-                       /** Mask for no dataflash chip selected. */
-                       #define DATAFLASH_NO_CHIP                    DATAFLASH_CHIPCS_MASK
-
-                       /** Mask for the first dataflash chip selected. */
-                       #define DATAFLASH_CHIP1                      (1 << 1)
-
-                       /** Mask for the second dataflash chip selected. */
-                       #define DATAFLASH_CHIP2                      (1 << 0)
-
-                       /** Internal main memory page size for the board's dataflash ICs. */
-                       #define DATAFLASH_PAGE_SIZE                  1024
-
-                       /** Total number of pages inside each of the board's dataflash ICs. */
-                       #define DATAFLASH_PAGES                      8192
-
-               /* Inline Functions: */
-                       /** Initialises the dataflash driver so that commands and data may be sent to an attached dataflash IC.
-                        *  The microcontroller's SPI driver MUST be initialized before any of the dataflash commands are used.
-                        */
-                       static inline void Dataflash_Init(void)
-                       {
-                               DATAFLASH_CHIPCS_DDR  |= DATAFLASH_CHIPCS_MASK;
-                               DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
-                       }
-
-                       /** Determines the currently selected dataflash chip.
-                        *
-                        *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
-                        *  or a DATAFLASH_CHIPn mask (where n is the chip number).
-                        */
-                       static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
-                       static inline uint8_t Dataflash_GetSelectedChip(void)
-                       {
-                               return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
-                       }
-
-                       /** Selects the given dataflash chip.
-                        *
-                        *  \param[in]  ChipMask  Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is
-                        *              the chip number).
-                        */
-                       static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
-                       static inline void Dataflash_SelectChip(const uint8_t ChipMask)
-                       {
-                               DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
-                       }
-
-                       /** Deselects the current dataflash chip, so that no dataflash is selected. */
-                       static inline void Dataflash_DeselectChip(void) ATTR_ALWAYS_INLINE;
-                       static inline void Dataflash_DeselectChip(void)
-                       {
-                               Dataflash_SelectChip(DATAFLASH_NO_CHIP);
-                       }
-
-                       /** Selects a dataflash IC from the given page number, which should range from 0 to
-                        *  ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one
-                        *  dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside
-                        *  the total number of pages contained in the boards dataflash ICs, all dataflash ICs
-                        *  are deselected.
-                        *
-                        *  \param[in] PageAddress  Address of the page to manipulate, ranging from
-                        *                          ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1).
-                        */
-                       static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress)
-                       {
-                               Dataflash_DeselectChip();
-
-                               if (PageAddress >= (DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS))
-                                 return;
-
-                               if (PageAddress & 0x01)
-                                 Dataflash_SelectChip(DATAFLASH_CHIP2);
-                               else
-                                 Dataflash_SelectChip(DATAFLASH_CHIP1);
-                       }
-
-                       /** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
-                        *  a new command.
-                        */
-                       static inline void Dataflash_ToggleSelectedChipCS(void)
-                       {
-                               uint8_t SelectedChipMask = Dataflash_GetSelectedChip();
-
-                               Dataflash_DeselectChip();
-                               Dataflash_SelectChip(SelectedChipMask);
-                       }
-
-                       /** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
-                        *  memory page program or main memory to buffer transfer.
-                        */
-                       static inline void Dataflash_WaitWhileBusy(void)
-                       {
-                               Dataflash_ToggleSelectedChipCS();
-                               Dataflash_SendByte(DF_CMD_GETSTATUS);
-                               while (!(Dataflash_ReceiveByte() & DF_STATUS_READY));
-                               Dataflash_ToggleSelectedChipCS();
-                       }
-
-                       /** Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with
-                        *  dataflash commands which require a complete 24-byte address.
-                        *
-                        *  \param[in] PageAddress  Page address within the selected dataflash IC
-                        *  \param[in] BufferByte   Address within the dataflash's buffer
-                        */
-                       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);
-                       }
-
-#endif
-
-/** @} */
-