nvram_storage.h 819 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * Copyright (c) 2017 Actions Semiconductor Co., Ltd
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. /**
  7. * @file
  8. * @brief NVRAM storage interface
  9. */
  10. #ifndef __NVRAM_STORAGE_H__
  11. #define __NVRAM_STORAGE_H__
  12. #include <kernel.h>
  13. #include <device.h>
  14. #if defined(CONFIG_BOARD_NANDBOOT) || defined(CONFIG_BOARD_EMMCBOOT)
  15. extern void nvram_storage_flush(struct device *dev);
  16. #else
  17. #define nvram_storage_flush(dev) do{}while(false)
  18. #endif
  19. extern struct device *nvram_storage_init(void);
  20. extern int nvram_storage_read(struct device *dev, uint32_t addr,
  21. void *buf, int32_t size);
  22. extern int nvram_storage_write(struct device *dev, uint32_t addr,
  23. const void *buf, int32_t size);
  24. extern int nvram_storage_erase(struct device *dev, uint32_t addr, int32_t size);
  25. #endif/* #define __NVRAM_STORAGE_H__ */