spi.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef _spi_h
  2. #define _spi_h
  3. #include <asm/types.h>
  4. #include <Customization.h>
  5. #include <drv_extern_spi_module_name.h>
  6. #include "drv_spi_flashalloc_external.h"
  7. #if (CONFIG_CHIPID != 0x330)
  8. #ifdef CONFIG_SUPPORT_DEBUG_MESSAGE
  9. #define SPI_DBG 1
  10. #else
  11. #define SPI_DBG 0
  12. #endif
  13. #if SPI_DBG
  14. #define DBG_SPI( args... ) printf( args )
  15. #else
  16. #define DBG_SPI( args... )
  17. #endif
  18. #endif
  19. #define SPI_OPERATION 0xbe0a0020
  20. #define SPI_ADDR_START 0xbe0a0040
  21. #define SPI_DRAM_ADDR 0xbe0a0060
  22. #define SPI_STATUS 0xbe0a0080
  23. #define DFLASH_ADDRBASE 0xbf000000
  24. #define SPIDMA_CPYSIZE (0x100) /* 256 byte per SPI-DMA action */
  25. #define SPIDMA_MAXSIZE (0x400000) /* Max-size for SPI-DMA action */
  26. #define TAG_LENGTH 12
  27. #define Max_BINsz_SP 16384 //16M
  28. typedef struct _mtab_array_s
  29. {
  30. char sys_tag[TAG_LENGTH]; /* ascii */
  31. unsigned int size;
  32. unsigned int addr;
  33. }mtab_array_s;
  34. #define boot_flashaddr 0x9c000000
  35. #define boot_flashsizeaddr 0x9c000008
  36. #define option_flashaddr Transform_addr(0x9c000000+SPI_OPTION_DATA_ADDR)
  37. #define Option_IRset_flashaddr (option_flashaddr + 72) // 0~71 Aus GPIO table
  38. extern u32 Transform_addr(u32 addr);
  39. extern void spi_dma_read(char *dest, char *source, unsigned int size);
  40. extern bool spi_dmawrite(unsigned int dest, unsigned int src, unsigned int size);
  41. extern int spi_erase(unsigned int addr, int erase_size);
  42. #endif //_spi_h