summaryrefslogtreecommitdiff
path: root/tools/src/firmware.h
blob: 1a3375bc0567272064004dd9b4f3a30c1502b558 (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
31
32
33
34
35
36
37
/* SPDX-License-Identifier: MIT */

#ifndef __FIRMWARE_H__
#define __FIRMWARE_H__

#include "types.h"

enum fw_version {
    V_UNKNOWN,
    V12_1,
    V12_2,
    V12_3,
    V12_3_1,
    V12_4,
    V12_5,
    // V12_6,
    V13_0B4,
    V13_0,
    NUM_FW_VERSIONS,
};

struct fw_version_info {
    enum fw_version version;
    const char *string;
    u32 num[4];
    size_t num_length;
    const char *iboot;
};

extern struct fw_version_info os_firmware;
extern struct fw_version_info system_firmware;
extern const struct fw_version_info fw_versions[NUM_FW_VERSIONS];

int firmware_init(void);
int firmware_set_fdt(void *fdt, int node, const char *prop, const struct fw_version_info *ver);

#endif