Files
android_kernel_motorola_sm6225/include/linux/uwb/fwupdater.h
T
zhuangnk1 11786f6aae Add Qorvo UWB driver
Add Qorvo UWB driver for Qorvo UWB
chipset QM35725s

Change-Id: I77124d7d242863fd8c8a602db7d4cb59aa96ef57
Signed-off-by: zhuangnk1 <zhuangnk1@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2687911
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Tao Sun <suntao2@motorola.com>
Submit-Approved: Jira Key
2023-08-22 01:33:42 -05:00

63 lines
1.5 KiB
C

// SPDX-License-Identifier: GPL-2.0 OR Apache-2.0
/*
* Copyright 2021 Qorvo US, Inc.
*
*/
#ifndef __FWUPDATER_H__
#define __FWUPDATER_H__
#ifndef __KERNEL__
#include <stdint.h>
#include <stddef.h>
#else
#include <linux/types.h>
#endif
#include "qmrom.h"
#include "qm357xx_fwpkg.h"
enum fw_pkg_error_e {
FW_PKG_SUCESS = 0,
FW_PKG_DOWNLOAD_ERROR,
FW_PKG_MAGIC_NUM_INVALID,
FW_PKG_VERSION_INVALID,
FW_PKG_ENCRYPTION_MODE_INVALID,
FW_PKG_IMG_HDR_MAGIC_NUM_INVALID,
FW_PKG_IMG_HDR_VERSION_INVALID,
FW_PKG_IMG_HDR_CERT_SIZE_INVALID,
FW_PKG_IMG_HDR_IMG_NUM_INVALID,
FW_PKG_PLD_CHK_MAGIC_NUM_INVALID,
FW_PKG_PLD_CHK_VERSION_INVALID,
FW_PKG_PLD_CHK_LENGTH_INVALID,
FW_PKG_HDR_CRYPTO_ERROR,
FW_PKG_HDR_CRYPTO_INVALID,
FW_PKG_HDR_PAYLOAD_SIZE_INVALID,
FW_PKG_IMG_HDR_SIZE_INVALID,
FW_PKG_IMG_HDR_CRYPTO_ERROR,
FW_PKG_IMG_HDR_NUMDESCS_INVALID,
FW_PKG_CERT_CHAIN_SIZE_INVALID,
FW_PKG_CERT_CHAIN_INVALID,
FW_PKG_CERT_INSTALLED_FW_VERSION_INVALID,
FW_PKG_CERT_KEY1_CHECK_INVALID,
FW_PKG_CERT_KEY2_CHECK_INVALID,
FW_PKG_CERT_CONTENT_CHECK_INVALID,
FW_PKG_CERT_CHAIN_CRYPTO_ERROR,
FW_PKG_CERT_CHAIN_IMG_RANGE_INVALID,
FW_PKG_CERT_CHAIN_WRITE_ERROR,
FW_PKG_IMG_CHUNK_CRYPTO_ERROR,
FW_PKG_IMG_CHUNK_WRITE_ERROR,
FW_PKG_IMG_FIXUP_FAILED
};
/*! Firmware Update Status fields */
struct fw_updater_status_t {
uint32_t status;
uint32_t suberror;
} __attribute__((packed));
void run_fwupdater_unit_tests(void *spi_handle);
int run_fwupdater(struct qmrom_handle *handle, char *fwpkg_bin, size_t size);
#endif /* __FWUPDATER_H__ */