forked from mfulz_github/qmk_firmware
Fixed incorrect Dataflash functionality in the USBKEY board if the driver is modified for a single Dataflash chip (thanks to Jonathan Oakley).
This commit is contained in:
parent
7fd2349e1a
commit
f3049d958e
@ -66,13 +66,13 @@
|
|||||||
#define DATAFLASH_TOTALCHIPS 1 // TODO: Replace with the number of Dataflashes on the board, max 2
|
#define DATAFLASH_TOTALCHIPS 1 // TODO: Replace with the number of Dataflashes on the board, max 2
|
||||||
|
|
||||||
/** Mask for no dataflash chip selected. */
|
/** Mask for no dataflash chip selected. */
|
||||||
#define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
|
#define DATAFLASH_NO_CHIP 0
|
||||||
|
|
||||||
/** Mask for the first dataflash chip selected. */
|
/** Mask for the first dataflash chip selected. */
|
||||||
#define DATAFLASH_CHIP1 // TODO: Replace with mask to hold /CS of first Dataflash low, and all others high
|
#define DATAFLASH_CHIP1 // TODO: Replace with mask with the pin attached to the first Dataflash /CS set
|
||||||
|
|
||||||
/** Mask for the second dataflash chip selected. */
|
/** Mask for the second dataflash chip selected. */
|
||||||
#define DATAFLASH_CHIP2 // TODO: Replace with mask to hold /CS of second Dataflash low, and all others high
|
#define DATAFLASH_CHIP2 // TODO: Replace with mask with the pin attached to the second Dataflash /CS set
|
||||||
|
|
||||||
/** Internal main memory page size for the board's dataflash ICs. */
|
/** Internal main memory page size for the board's dataflash ICs. */
|
||||||
#define DATAFLASH_PAGE_SIZE // TODO: Replace with the page size for the Dataflash ICs
|
#define DATAFLASH_PAGE_SIZE // TODO: Replace with the page size for the Dataflash ICs
|
||||||
@ -134,7 +134,7 @@
|
|||||||
|
|
||||||
/** Selects the given dataflash chip.
|
/** 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
|
* \param[in] ChipMask Mask of the Dataflash IC to select, in the form of a \c DATAFLASH_CHIPn mask (where n is
|
||||||
* the chip number).
|
* the chip number).
|
||||||
*/
|
*/
|
||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
||||||
|
@ -66,13 +66,13 @@
|
|||||||
#define DATAFLASH_TOTALCHIPS 1 // TODO: Replace with the number of Dataflashes on the board, max 2
|
#define DATAFLASH_TOTALCHIPS 1 // TODO: Replace with the number of Dataflashes on the board, max 2
|
||||||
|
|
||||||
/** Mask for no dataflash chip selected. */
|
/** Mask for no dataflash chip selected. */
|
||||||
#define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
|
#define DATAFLASH_NO_CHIP 0
|
||||||
|
|
||||||
/** Mask for the first dataflash chip selected. */
|
/** Mask for the first dataflash chip selected. */
|
||||||
#define DATAFLASH_CHIP1 // TODO: Replace with mask to hold /CS of first Dataflash low, and all others high
|
#define DATAFLASH_CHIP1 // TODO: Replace with mask with the pin attached to the first Dataflash /CS set
|
||||||
|
|
||||||
/** Mask for the second dataflash chip selected. */
|
/** Mask for the second dataflash chip selected. */
|
||||||
#define DATAFLASH_CHIP2 // TODO: Replace with mask to hold /CS of second Dataflash low, and all others high
|
#define DATAFLASH_CHIP2 // TODO: Replace with mask with the pin attached to the second Dataflash /CS set
|
||||||
|
|
||||||
/** Internal main memory page size for the board's dataflash ICs. */
|
/** Internal main memory page size for the board's dataflash ICs. */
|
||||||
#define DATAFLASH_PAGE_SIZE // TODO: Replace with the page size for the Dataflash ICs
|
#define DATAFLASH_PAGE_SIZE // TODO: Replace with the page size for the Dataflash ICs
|
||||||
@ -130,7 +130,7 @@
|
|||||||
static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
||||||
static inline uint8_t Dataflash_GetSelectedChip(void)
|
static inline uint8_t Dataflash_GetSelectedChip(void)
|
||||||
{
|
{
|
||||||
return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Selects the given dataflash chip.
|
/** Selects the given dataflash chip.
|
||||||
@ -141,7 +141,7 @@
|
|||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
||||||
{
|
{
|
||||||
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
|
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
* - Fixed logic hole breaking USB operations on a USB controller with only one supported USB mode and no USB_DEVICE_ONLY or USB_HOST_ONLY
|
* - Fixed logic hole breaking USB operations on a USB controller with only one supported USB mode and no USB_DEVICE_ONLY or USB_HOST_ONLY
|
||||||
* configuration token set
|
* configuration token set
|
||||||
* - Fixed possible rounding in the VERSION_BCD() macros for some 0.01 step increments (thanks to Oliver Zander)
|
* - Fixed possible rounding in the VERSION_BCD() macros for some 0.01 step increments (thanks to Oliver Zander)
|
||||||
|
* - Fixed incorrect Dataflash functionality in the USBKEY board if the driver is modified for a single Dataflash chip (thanks to Jonathan Oakley)
|
||||||
* - Library Applications:
|
* - Library Applications:
|
||||||
* - Fixed broken RESET_TOGGLES_LIBUSB_COMPAT compile time option in the AVRISP-MKII project
|
* - Fixed broken RESET_TOGGLES_LIBUSB_COMPAT compile time option in the AVRISP-MKII project
|
||||||
* - Fixed incompatibility in the CDC class bootloader on some systems (thanks to Sylvain Munaut)
|
* - Fixed incompatibility in the CDC class bootloader on some systems (thanks to Sylvain Munaut)
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
/* Private Interface - For use in library only: */
|
/* Private Interface - For use in library only: */
|
||||||
#if !defined(__DOXYGEN__)
|
#if !defined(__DOXYGEN__)
|
||||||
/* Macros: */
|
/* Macros: */
|
||||||
#define DATAFLASH_CHIPCS_MASK (1 << 6)
|
#define DATAFLASH_CHIPCS_MASK DATAFLASH_CHIP1
|
||||||
#define DATAFLASH_CHIPCS_DDR DDRE
|
#define DATAFLASH_CHIPCS_DDR DDRE
|
||||||
#define DATAFLASH_CHIPCS_PORT PORTE
|
#define DATAFLASH_CHIPCS_PORT PORTE
|
||||||
#endif
|
#endif
|
||||||
@ -77,10 +77,10 @@
|
|||||||
#define DATAFLASH_TOTALCHIPS 1
|
#define DATAFLASH_TOTALCHIPS 1
|
||||||
|
|
||||||
/** Mask for no dataflash chip selected. */
|
/** Mask for no dataflash chip selected. */
|
||||||
#define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
|
#define DATAFLASH_NO_CHIP 0
|
||||||
|
|
||||||
/** Mask for the first dataflash chip selected. */
|
/** Mask for the first dataflash chip selected. */
|
||||||
#define DATAFLASH_CHIP1 0
|
#define DATAFLASH_CHIP1 (1 << 6)
|
||||||
|
|
||||||
/** Internal main memory page size for the board's dataflash IC. */
|
/** Internal main memory page size for the board's dataflash IC. */
|
||||||
#define DATAFLASH_PAGE_SIZE 512
|
#define DATAFLASH_PAGE_SIZE 512
|
||||||
@ -133,12 +133,12 @@
|
|||||||
/** Determines the currently selected dataflash chip.
|
/** Determines the currently selected dataflash chip.
|
||||||
*
|
*
|
||||||
* \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
|
* \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).
|
* 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) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
||||||
static inline uint8_t Dataflash_GetSelectedChip(void)
|
static inline uint8_t Dataflash_GetSelectedChip(void)
|
||||||
{
|
{
|
||||||
return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Selects the given dataflash chip.
|
/** Selects the given dataflash chip.
|
||||||
@ -149,7 +149,7 @@
|
|||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
||||||
{
|
{
|
||||||
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
|
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
/* Private Interface - For use in library only: */
|
/* Private Interface - For use in library only: */
|
||||||
#if !defined(__DOXYGEN__)
|
#if !defined(__DOXYGEN__)
|
||||||
/* Macros: */
|
/* Macros: */
|
||||||
#define DATAFLASH_CHIPCS_MASK (1 << 4)
|
#define DATAFLASH_CHIPCS_MASK DATAFLASH_CHIP1
|
||||||
#define DATAFLASH_CHIPCS_DDR DDRB
|
#define DATAFLASH_CHIPCS_DDR DDRB
|
||||||
#define DATAFLASH_CHIPCS_PORT PORTB
|
#define DATAFLASH_CHIPCS_PORT PORTB
|
||||||
#endif
|
#endif
|
||||||
@ -77,10 +77,10 @@
|
|||||||
#define DATAFLASH_TOTALCHIPS 1
|
#define DATAFLASH_TOTALCHIPS 1
|
||||||
|
|
||||||
/** Mask for no dataflash chip selected. */
|
/** Mask for no dataflash chip selected. */
|
||||||
#define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
|
#define DATAFLASH_NO_CHIP 0
|
||||||
|
|
||||||
/** Mask for the first dataflash chip selected. */
|
/** Mask for the first dataflash chip selected. */
|
||||||
#define DATAFLASH_CHIP1 0
|
#define DATAFLASH_CHIP1 (1 << 4)
|
||||||
|
|
||||||
/** Internal main memory page size for the board's dataflash IC. */
|
/** Internal main memory page size for the board's dataflash IC. */
|
||||||
#define DATAFLASH_PAGE_SIZE 512
|
#define DATAFLASH_PAGE_SIZE 512
|
||||||
@ -133,12 +133,12 @@
|
|||||||
/** Determines the currently selected dataflash chip.
|
/** Determines the currently selected dataflash chip.
|
||||||
*
|
*
|
||||||
* \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
|
* \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).
|
* 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) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
||||||
static inline uint8_t Dataflash_GetSelectedChip(void)
|
static inline uint8_t Dataflash_GetSelectedChip(void)
|
||||||
{
|
{
|
||||||
return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Selects the given dataflash chip.
|
/** Selects the given dataflash chip.
|
||||||
@ -149,7 +149,7 @@
|
|||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
||||||
{
|
{
|
||||||
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
|
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
/* Private Interface - For use in library only: */
|
/* Private Interface - For use in library only: */
|
||||||
#if !defined(__DOXYGEN__)
|
#if !defined(__DOXYGEN__)
|
||||||
/* Macros: */
|
/* Macros: */
|
||||||
#define DATAFLASH_CHIPCS_MASK (1 << 2)
|
#define DATAFLASH_CHIPCS_MASK DATAFLASH_CHIP1
|
||||||
#define DATAFLASH_CHIPCS_DDR DDRC
|
#define DATAFLASH_CHIPCS_DDR DDRC
|
||||||
#define DATAFLASH_CHIPCS_PORT PORTC
|
#define DATAFLASH_CHIPCS_PORT PORTC
|
||||||
#endif
|
#endif
|
||||||
@ -77,10 +77,10 @@
|
|||||||
#define DATAFLASH_TOTALCHIPS 1
|
#define DATAFLASH_TOTALCHIPS 1
|
||||||
|
|
||||||
/** Mask for no dataflash chip selected. */
|
/** Mask for no dataflash chip selected. */
|
||||||
#define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
|
#define DATAFLASH_NO_CHIP 0
|
||||||
|
|
||||||
/** Mask for the first dataflash chip selected. */
|
/** Mask for the first dataflash chip selected. */
|
||||||
#define DATAFLASH_CHIP1 0
|
#define DATAFLASH_CHIP1 (1 << 2)
|
||||||
|
|
||||||
/** Internal main memory page size for the board's dataflash IC. */
|
/** Internal main memory page size for the board's dataflash IC. */
|
||||||
#define DATAFLASH_PAGE_SIZE 1024
|
#define DATAFLASH_PAGE_SIZE 1024
|
||||||
@ -133,12 +133,12 @@
|
|||||||
/** Determines the currently selected dataflash chip.
|
/** Determines the currently selected dataflash chip.
|
||||||
*
|
*
|
||||||
* \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
|
* \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).
|
* 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) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
||||||
static inline uint8_t Dataflash_GetSelectedChip(void)
|
static inline uint8_t Dataflash_GetSelectedChip(void)
|
||||||
{
|
{
|
||||||
return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Selects the given dataflash chip.
|
/** Selects the given dataflash chip.
|
||||||
@ -149,7 +149,7 @@
|
|||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
||||||
{
|
{
|
||||||
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
|
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
||||||
|
@ -67,7 +67,7 @@
|
|||||||
/* Private Interface - For use in library only: */
|
/* Private Interface - For use in library only: */
|
||||||
#if !defined(__DOXYGEN__)
|
#if !defined(__DOXYGEN__)
|
||||||
/* Macros: */
|
/* Macros: */
|
||||||
#define DATAFLASH_CHIPCS_MASK ((1 << 1) | (1 << 0))
|
#define DATAFLASH_CHIPCS_MASK (DATAFLASH_CHIP1 | DATAFLASH_CHIP2)
|
||||||
#define DATAFLASH_CHIPCS_DDR DDRE
|
#define DATAFLASH_CHIPCS_DDR DDRE
|
||||||
#define DATAFLASH_CHIPCS_PORT PORTE
|
#define DATAFLASH_CHIPCS_PORT PORTE
|
||||||
#endif
|
#endif
|
||||||
@ -78,13 +78,13 @@
|
|||||||
#define DATAFLASH_TOTALCHIPS 2
|
#define DATAFLASH_TOTALCHIPS 2
|
||||||
|
|
||||||
/** Mask for no dataflash chip selected. */
|
/** Mask for no dataflash chip selected. */
|
||||||
#define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
|
#define DATAFLASH_NO_CHIP 0
|
||||||
|
|
||||||
/** Mask for the first dataflash chip selected. */
|
/** Mask for the first dataflash chip selected. */
|
||||||
#define DATAFLASH_CHIP1 (1 << 1)
|
#define DATAFLASH_CHIP1 (1 << 0)
|
||||||
|
|
||||||
/** Mask for the second dataflash chip selected. */
|
/** Mask for the second dataflash chip selected. */
|
||||||
#define DATAFLASH_CHIP2 (1 << 0)
|
#define DATAFLASH_CHIP2 (1 << 1)
|
||||||
|
|
||||||
/** Internal main memory page size for the board's dataflash ICs. */
|
/** Internal main memory page size for the board's dataflash ICs. */
|
||||||
#define DATAFLASH_PAGE_SIZE 1024
|
#define DATAFLASH_PAGE_SIZE 1024
|
||||||
@ -137,12 +137,12 @@
|
|||||||
/** Determines the currently selected dataflash chip.
|
/** Determines the currently selected dataflash chip.
|
||||||
*
|
*
|
||||||
* \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
|
* \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).
|
* 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) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
||||||
static inline uint8_t Dataflash_GetSelectedChip(void)
|
static inline uint8_t Dataflash_GetSelectedChip(void)
|
||||||
{
|
{
|
||||||
return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Selects the given dataflash chip.
|
/** Selects the given dataflash chip.
|
||||||
@ -153,7 +153,7 @@
|
|||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
||||||
{
|
{
|
||||||
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
|
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
||||||
|
@ -83,7 +83,7 @@
|
|||||||
/* Private Interface - For use in library only: */
|
/* Private Interface - For use in library only: */
|
||||||
#if !defined(__DOXYGEN__)
|
#if !defined(__DOXYGEN__)
|
||||||
/* Macros: */
|
/* Macros: */
|
||||||
#define DATAFLASH_CHIPCS_MASK (1 << 5)
|
#define DATAFLASH_CHIPCS_MASK DATAFLASH_CHIP1
|
||||||
#define DATAFLASH_CHIPCS_DDR DDRB
|
#define DATAFLASH_CHIPCS_DDR DDRB
|
||||||
#define DATAFLASH_CHIPCS_PORT PORTB
|
#define DATAFLASH_CHIPCS_PORT PORTB
|
||||||
#endif
|
#endif
|
||||||
@ -94,10 +94,10 @@
|
|||||||
#define DATAFLASH_TOTALCHIPS 1
|
#define DATAFLASH_TOTALCHIPS 1
|
||||||
|
|
||||||
/** Mask for no dataflash chip selected. */
|
/** Mask for no dataflash chip selected. */
|
||||||
#define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
|
#define DATAFLASH_NO_CHIP 0
|
||||||
|
|
||||||
/** Mask for the first dataflash chip selected. */
|
/** Mask for the first dataflash chip selected. */
|
||||||
#define DATAFLASH_CHIP1 0
|
#define DATAFLASH_CHIP1 (1 << 5)
|
||||||
|
|
||||||
#if ((BOARD != BOARD_XPLAIN_REV1) || defined(__DOXYGEN__))
|
#if ((BOARD != BOARD_XPLAIN_REV1) || defined(__DOXYGEN__))
|
||||||
/** Internal main memory page size for the board's dataflash ICs. */
|
/** Internal main memory page size for the board's dataflash ICs. */
|
||||||
@ -156,12 +156,12 @@
|
|||||||
/** Determines the currently selected dataflash chip.
|
/** Determines the currently selected dataflash chip.
|
||||||
*
|
*
|
||||||
* \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
|
* \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).
|
* 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) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
||||||
static inline uint8_t Dataflash_GetSelectedChip(void)
|
static inline uint8_t Dataflash_GetSelectedChip(void)
|
||||||
{
|
{
|
||||||
return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Selects the given dataflash chip.
|
/** Selects the given dataflash chip.
|
||||||
@ -172,7 +172,7 @@
|
|||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
|
||||||
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
|
||||||
{
|
{
|
||||||
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
|
DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
/** Deselects the current dataflash chip, so that no dataflash is selected. */
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
/* Private Interface - For use in library only: */
|
/* Private Interface - For use in library only: */
|
||||||
#if !defined(__DOXYGEN__)
|
#if !defined(__DOXYGEN__)
|
||||||
/* Macros: */
|
/* Macros: */
|
||||||
#define DATAFLASH_CHIPCS_MASK (1 << 4)
|
#define DATAFLASH_CHIPCS_MASK DATAFLASH_CHIP1
|
||||||
#define DATAFLASH_CHIPCS_PORT PORTF
|
#define DATAFLASH_CHIPCS_PORT PORTF
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -134,7 +134,7 @@
|
|||||||
/** Determines the currently selected dataflash chip.
|
/** Determines the currently selected dataflash chip.
|
||||||
*
|
*
|
||||||
* \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
|
* \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).
|
* 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) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
||||||
static inline uint8_t Dataflash_GetSelectedChip(void)
|
static inline uint8_t Dataflash_GetSelectedChip(void)
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
/* Private Interface - For use in library only: */
|
/* Private Interface - For use in library only: */
|
||||||
#if !defined(__DOXYGEN__)
|
#if !defined(__DOXYGEN__)
|
||||||
/* Macros: */
|
/* Macros: */
|
||||||
#define DATAFLASH_CHIPCS_MASK (1 << 2)
|
#define DATAFLASH_CHIPCS_MASK DATAFLASH_CHIP1
|
||||||
#define DATAFLASH_CHIPCS_PORT PORTD
|
#define DATAFLASH_CHIPCS_PORT PORTD
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -136,7 +136,7 @@
|
|||||||
/** Determines the currently selected dataflash chip.
|
/** Determines the currently selected dataflash chip.
|
||||||
*
|
*
|
||||||
* \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
|
* \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).
|
* 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) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
|
||||||
static inline uint8_t Dataflash_GetSelectedChip(void)
|
static inline uint8_t Dataflash_GetSelectedChip(void)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user