summaryrefslogtreecommitdiff
path: root/aoc_firmware.h
blob: eef92fd70122eeee6933db4940b4e454e5b287f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Google Whitechapel AoC Firmware loading support
 *
 * Copyright (c) 2019 Google LLC
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#include <linux/firmware.h>

#define AOC_FIRMWARE_OFFSET_INVALID 0xffffffff

bool _aoc_fw_is_compatible(const struct firmware *fw);

bool _aoc_fw_is_valid(const struct firmware *fw);

u32 _aoc_fw_bootloader_offset(const struct firmware *fw);

u32 _aoc_fw_ipc_offset(const struct firmware *fw);

/* Returns firmware version, or 0 on error */
u32 _aoc_fw_version(const struct firmware *fw);

/* Returns firmware build date, or NULL on error */
const char *_aoc_fw_builddate(const struct firmware *fw);

bool _aoc_fw_commit(const struct firmware *fw, void *dest);