blob: d6557ae4ecc5516f1a1b2bdf6a11aabb8d0bd8c2 [file] [log] [blame]
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02001/*
Manish V Badarkheef507e42020-06-05 08:41:42 +01002 * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef __FWU_NVM_H__
8#define __FWU_NVM_H__
9
10#include <nvm.h>
11#include <platform_def.h>
12
13#define FIP_IMAGE_UPDATE_DONE_FLAG (0xDEADBEEF)
Manish V Badarkheef507e42020-06-05 08:41:42 +010014
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020015#define FWU_TFTF_TESTCASE_BUFFER_OFFSET \
16 (TFTF_NVM_OFFSET + TFTF_STATE_OFFSET(testcase_buffer))
17
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020018/* Writes the buffer to the flash at offset with length equal to
19 * size
20 * Returns: STATUS_FAIL, STATUS_SUCCESS, STATUS_OUT_OF_RESOURCES
21 */
22STATUS fwu_nvm_write(unsigned long long offset, const void *buffer, size_t size);
23
24/* Reads the flash into buffer at offset with length equal to
25 * size
26 * Returns: STATUS_FAIL, STATUS_SUCCESS, STATUS_OUT_OF_RESOURCES
27 */
28STATUS fwu_nvm_read(unsigned long long offset, void *buffer, size_t size);
29
30/*
31 * This function is used to replace the original fip.bin
32 * by the backup fip.bin passed through fip_addr argument.
33 */
34STATUS fwu_update_fip(unsigned long fip_addr);
35
36#endif /* __FWU_NVM_H__ */