panther_nvm_lock.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*====================================================================*
  2. *
  3. * Copyright (c) 2013 Qualcomm Atheros, Inc.
  4. *
  5. * All rights reserved.
  6. *
  7. *====================================================================*/
  8. /*====================================================================*
  9. *
  10. * void panther_nvm_lock (struct panther_nvm_header * header);
  11. *
  12. * example function to update a panther/lynx NVM image header
  13. * after the image has been modified; this assumes that image
  14. * immediately follows the header in memory;
  15. *
  16. * Contributor(s):
  17. * Charles Maier <cmaier@qca.qualcomm.com>
  18. *
  19. *--------------------------------------------------------------------*/
  20. #ifndef PANTHER_NVM_LOCK_SOURCE
  21. #define PANTHER_NVM_LOCK_SOURCE
  22. #include "../tools/memory.h"
  23. #include "../nvm/nvm.h"
  24. void panther_nvm_lock (struct panther_nvm_header * header)
  25. {
  26. header->ImageChecksum = checksum32 ((char *) (header) + sizeof (* header), LE32TOH (header->ImageLength), 0);
  27. header->HeaderChecksum = checksum32 (header, sizeof (* header), header->HeaderChecksum);
  28. return;
  29. }
  30. #endif