| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- #include "spi_mem_chip_i.h"
- const SPIMemChipVendorName spi_mem_chip_vendor_names[] = {
- {"Adesto", SPIMemChipVendorADESTO},
- {"AMIC", SPIMemChipVendorAMIC},
- {"Boya", SPIMemChipVendorBoya},
- {"EON", SPIMemChipVendorEON},
- {"PFlash", SPIMemChipVendorPFLASH},
- {"Terra", SPIMemChipVendorTERRA},
- {"Generalplus", SPIMemChipVendorGeneralplus},
- {"Deutron", SPIMemChipVendorDEUTRON},
- {"EFST", SPIMemChipVendorEFST},
- {"Excel Semi.", SPIMemChipVendorEXCELSEMI},
- {"Fidelix", SPIMemChipVendorFIDELIX},
- {"GigaDevice", SPIMemChipVendorGIGADEVICE},
- {"ICE", SPIMemChipVendorICE},
- {"Intel", SPIMemChipVendorINTEL},
- {"KHIC", SPIMemChipVendorKHIC},
- {"Macronix", SPIMemChipVendorMACRONIX},
- {"Micron", SPIMemChipVendorMICRON},
- {"Mshine", SPIMemChipVendorMSHINE},
- {"Nantronics", SPIMemChipVendorNANTRONICS},
- {"Nexflash", SPIMemChipVendorNEXFLASH},
- {"Numonyx", SPIMemChipVendorNUMONYX},
- {"PCT", SPIMemChipVendorPCT},
- {"Spansion", SPIMemChipVendorSPANSION},
- {"SST", SPIMemChipVendorSST},
- {"ST", SPIMemChipVendorST},
- {"Winbond", SPIMemChipVendorWINBOND},
- {"Zempro", SPIMemChipVendorZEMPRO},
- {"Zbit", SPIMemChipVendorZbit},
- {"Berg Micro.", SPIMemChipVendorBerg_Micro},
- {"Atmel", SPIMemChipVendorATMEL},
- {"ACE", SPIMemChipVendorACE},
- {"ATO", SPIMemChipVendorATO},
- {"Douqi", SPIMemChipVendorDOUQI},
- {"Fremont", SPIMemChipVendorFremont},
- {"Fudan", SPIMemChipVendorFudan},
- {"Genitop", SPIMemChipVendorGenitop},
- {"Paragon", SPIMemChipVendorParagon},
- {"XTX", SPIMemChipVendorXTX},
- {"XMC", SPIMemChipVendorXMC},
- {"Unknown", SPIMemChipVendorUnknown}};
- static const char* spi_mem_chip_search_vendor_name(SPIMemChipVendor vendor_enum) {
- const SPIMemChipVendorName* vendor = spi_mem_chip_vendor_names;
- while(vendor->vendor_enum != SPIMemChipVendorUnknown && vendor->vendor_enum != vendor_enum)
- vendor++;
- return vendor->vendor_name;
- }
- bool spi_mem_chip_find_all(SPIMemChip* chip_info, found_chips_t found_chips) {
- const SPIMemChip* chip_info_arr;
- found_chips_reset(found_chips);
- for(chip_info_arr = SPIMemChips; chip_info_arr->model_name != NULL; chip_info_arr++) {
- if(chip_info->vendor_id != chip_info_arr->vendor_id) continue;
- if(chip_info->type_id != chip_info_arr->type_id) continue;
- if(chip_info->capacity_id != chip_info_arr->capacity_id) continue;
- found_chips_push_back(found_chips, chip_info_arr);
- }
- if(found_chips_size(found_chips)) return true;
- return false;
- }
- void spi_mem_chip_copy_chip_info(SPIMemChip* dest, const SPIMemChip* src) {
- memcpy(dest, src, sizeof(SPIMemChip));
- }
- size_t spi_mem_chip_get_size(SPIMemChip* chip) {
- return (chip->size);
- }
- const char* spi_mem_chip_get_vendor_name(const SPIMemChip* chip) {
- return (spi_mem_chip_search_vendor_name(chip->vendor_enum));
- }
- const char* spi_mem_chip_get_vendor_name_by_enum(uint32_t vendor_enum) {
- return (spi_mem_chip_search_vendor_name(vendor_enum));
- }
- const char* spi_mem_chip_get_model_name(const SPIMemChip* chip) {
- return (chip->model_name);
- }
- uint8_t spi_mem_chip_get_vendor_id(SPIMemChip* chip) {
- return (chip->vendor_id);
- }
- uint8_t spi_mem_chip_get_type_id(SPIMemChip* chip) {
- return (chip->type_id);
- }
- uint8_t spi_mem_chip_get_capacity_id(SPIMemChip* chip) {
- return (chip->capacity_id);
- }
- SPIMemChipWriteMode spi_mem_chip_get_write_mode(SPIMemChip* chip) {
- return (chip->write_mode);
- }
- size_t spi_mem_chip_get_page_size(SPIMemChip* chip) {
- return (chip->page_size);
- }
- uint32_t spi_mem_chip_get_vendor_enum(const SPIMemChip* chip) {
- return ((uint32_t)chip->vendor_enum);
- }
|