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
					
				
					 10 changed files with 45 additions and 44 deletions
				
			
		| 
						 | 
				
			
			@ -66,7 +66,7 @@
 | 
			
		|||
	/* Private Interface - For use in library only: */
 | 
			
		||||
	#if !defined(__DOXYGEN__)
 | 
			
		||||
		/* Macros: */
 | 
			
		||||
			#define DATAFLASH_CHIPCS_MASK                (1 << 4)
 | 
			
		||||
			#define DATAFLASH_CHIPCS_MASK                DATAFLASH_CHIP1
 | 
			
		||||
			#define DATAFLASH_CHIPCS_DDR                 DDRB
 | 
			
		||||
			#define DATAFLASH_CHIPCS_PORT                PORTB
 | 
			
		||||
	#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -77,10 +77,10 @@
 | 
			
		|||
			#define DATAFLASH_TOTALCHIPS                 1
 | 
			
		||||
 | 
			
		||||
			/** 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. */
 | 
			
		||||
			#define DATAFLASH_CHIP1                      0
 | 
			
		||||
			#define DATAFLASH_CHIP1                      (1 << 4)
 | 
			
		||||
 | 
			
		||||
			/** Internal main memory page size for the board's dataflash IC. */
 | 
			
		||||
			#define DATAFLASH_PAGE_SIZE                  512
 | 
			
		||||
| 
						 | 
				
			
			@ -133,12 +133,12 @@
 | 
			
		|||
			/** 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).
 | 
			
		||||
			 *          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);
 | 
			
		||||
				return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			/** 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)
 | 
			
		||||
			{
 | 
			
		||||
				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. */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue