libnile
Loading...
Searching...
No Matches
flash_layout.h File Reference
#include <wonderful.h>
#include <stdbool.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  nile_flash_version_t
 Firmware flash version data structure. More...
struct  nile_flash_manifest_t
 Firmware flash version manifest data structure. More...

Macros

#define NILE_FLASH_LAYOUT_FPGA_FACTORY_ADDR   0x000000
#define NILE_FLASH_LAYOUT_IPL1_FACTORY_ADDR   0x008000
#define NILE_FLASH_LAYOUT_IPL1_RECOVERY_ADDR   0x00C000
#define NILE_FLASH_LAYOUT_MANIFEST_FACTORY_ADDR   0x00F000
#define NILE_FLASH_LAYOUT_RECOVERY_FACTORY_ADDR   0x010000
#define NILE_FLASH_LAYOUT_FACTORY_SIZE   0x040000
#define NILE_FLASH_LAYOUT_FPGA_SIZE   0x008000
#define NILE_FLASH_LAYOUT_IPL1_ADDR   0x040000
#define NILE_FLASH_LAYOUT_IPL1_SIZE   0x004000
#define NILE_FLASH_LAYOUT_MANIFEST_ADDR   0x04F000
#define NILE_FLASH_LAYOUT_RECOVERY_ADDR   0x050000
#define NILE_FLASH_LAYOUT_RECOVERY_SIZE   0x030000
#define NILE_FLASH_LAYOUT_FPGA0_ADDR   0x080000
#define NILE_FLASH_LAYOUT_FPGA1_ADDR   0x088000
#define NILE_FLASH_LAYOUT_FPGA2_ADDR   0x090000
#define NILE_FLASH_LAYOUT_FPGA3_ADDR   0x098000
#define NILE_FLASH_MANIFEST_ID   0x5746

Functions

static bool nile_flash_layout_read_version (void __far *buffer, size_t size)
static bool nile_flash_layout_read_version_factory (void __far *buffer, size_t size)
bool nile_flash_layout_version_at_least (uint16_t major, uint16_t minor, uint16_t patch)
bool nile_flash_layout_version_compatible (uint16_t major, uint16_t minor, uint16_t patch, uint16_t first_incompatible_major)

Macro Definition Documentation

◆ NILE_FLASH_LAYOUT_FACTORY_SIZE

#define NILE_FLASH_LAYOUT_FACTORY_SIZE   0x040000

Definition at line 33 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_FPGA0_ADDR

#define NILE_FLASH_LAYOUT_FPGA0_ADDR   0x080000

Definition at line 41 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_FPGA1_ADDR

#define NILE_FLASH_LAYOUT_FPGA1_ADDR   0x088000

Definition at line 42 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_FPGA2_ADDR

#define NILE_FLASH_LAYOUT_FPGA2_ADDR   0x090000

Definition at line 43 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_FPGA3_ADDR

#define NILE_FLASH_LAYOUT_FPGA3_ADDR   0x098000

Definition at line 44 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_FPGA_FACTORY_ADDR

#define NILE_FLASH_LAYOUT_FPGA_FACTORY_ADDR   0x000000

Definition at line 28 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_FPGA_SIZE

#define NILE_FLASH_LAYOUT_FPGA_SIZE   0x008000

Definition at line 35 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_IPL1_ADDR

#define NILE_FLASH_LAYOUT_IPL1_ADDR   0x040000

Definition at line 36 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_IPL1_FACTORY_ADDR

#define NILE_FLASH_LAYOUT_IPL1_FACTORY_ADDR   0x008000

Definition at line 29 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_IPL1_RECOVERY_ADDR

#define NILE_FLASH_LAYOUT_IPL1_RECOVERY_ADDR   0x00C000

Definition at line 30 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_IPL1_SIZE

#define NILE_FLASH_LAYOUT_IPL1_SIZE   0x004000

Definition at line 37 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_MANIFEST_ADDR

#define NILE_FLASH_LAYOUT_MANIFEST_ADDR   0x04F000

Definition at line 38 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_MANIFEST_FACTORY_ADDR

#define NILE_FLASH_LAYOUT_MANIFEST_FACTORY_ADDR   0x00F000

Definition at line 31 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_RECOVERY_ADDR

#define NILE_FLASH_LAYOUT_RECOVERY_ADDR   0x050000

Definition at line 39 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_RECOVERY_FACTORY_ADDR

#define NILE_FLASH_LAYOUT_RECOVERY_FACTORY_ADDR   0x010000

Definition at line 32 of file flash_layout.h.

◆ NILE_FLASH_LAYOUT_RECOVERY_SIZE

#define NILE_FLASH_LAYOUT_RECOVERY_SIZE   0x030000

Definition at line 40 of file flash_layout.h.

◆ NILE_FLASH_MANIFEST_ID

#define NILE_FLASH_MANIFEST_ID   0x5746

Definition at line 51 of file flash_layout.h.

Function Documentation

◆ nile_flash_layout_read_version()

bool nile_flash_layout_read_version ( void __far * buffer,
size_t size )
inlinestatic

Definition at line 74 of file flash_layout.h.

◆ nile_flash_layout_read_version_factory()

bool nile_flash_layout_read_version_factory ( void __far * buffer,
size_t size )
inlinestatic

Definition at line 78 of file flash_layout.h.

◆ nile_flash_layout_version_at_least()

bool nile_flash_layout_version_at_least ( uint16_t major,
uint16_t minor,
uint16_t patch )

◆ nile_flash_layout_version_compatible()

bool nile_flash_layout_version_compatible ( uint16_t major,
uint16_t minor,
uint16_t patch,
uint16_t first_incompatible_major )