libnile
Loading...
Searching...
No Matches
flash_layout.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2025 Adrian "asie" Siekierka
3
*
4
* This software is provided 'as-is', without any express or implied
5
* warranty. In no event will the authors be held liable for any damages
6
* arising from the use of this software.
7
*
8
* Permission is granted to anyone to use this software for any purpose,
9
* including commercial applications, and to alter it and redistribute it
10
* freely, subject to the following restrictions:
11
*
12
* 1. The origin of this software must not be misrepresented; you must not
13
* claim that you wrote the original software. If you use this software
14
* in a product, an acknowledgment in the product documentation would be
15
* appreciated but is not required.
16
*
17
* 2. Altered source versions must be plainly marked as such, and must not be
18
* misrepresented as being the original software.
19
*
20
* 3. This notice may not be removed or altered from any source distribution.
21
*/
22
23
#ifndef NILE_FLASH_LAYOUT_H_
24
#define NILE_FLASH_LAYOUT_H_
25
26
#include <wonderful.h>
27
28
#define NILE_FLASH_LAYOUT_FPGA_FACTORY_ADDR 0x000000
29
#define NILE_FLASH_LAYOUT_IPL1_FACTORY_ADDR 0x008000
30
#define NILE_FLASH_LAYOUT_IPL1_RECOVERY_ADDR 0x00C000
31
#define NILE_FLASH_LAYOUT_MANIFEST_FACTORY_ADDR 0x00F000
32
#define NILE_FLASH_LAYOUT_RECOVERY_FACTORY_ADDR 0x010000
33
#define NILE_FLASH_LAYOUT_FACTORY_SIZE 0x040000
34
35
#define NILE_FLASH_LAYOUT_FPGA_SIZE 0x008000
36
#define NILE_FLASH_LAYOUT_IPL1_ADDR 0x040000
37
#define NILE_FLASH_LAYOUT_IPL1_SIZE 0x004000
38
#define NILE_FLASH_LAYOUT_MANIFEST_ADDR 0x04F000
39
#define NILE_FLASH_LAYOUT_RECOVERY_ADDR 0x050000
40
#define NILE_FLASH_LAYOUT_RECOVERY_SIZE 0x030000
41
#define NILE_FLASH_LAYOUT_FPGA0_ADDR 0x080000
42
#define NILE_FLASH_LAYOUT_FPGA1_ADDR 0x088000
43
#define NILE_FLASH_LAYOUT_FPGA2_ADDR 0x090000
44
#define NILE_FLASH_LAYOUT_FPGA3_ADDR 0x098000
45
46
#define NILE_FLASH_MANIFEST_ID 0x5746
47
48
#ifndef __ASSEMBLER__
49
50
#include <stdint.h>
51
52
typedef
struct
__attribute__((packed)) {
53
uint16_t
id
;
54
uint16_t
major
;
55
uint16_t
minor
;
56
uint16_t
patch
;
57
uint8_t
reserved
[3];
58
uint8_t
partial_install
;
59
uint8_t
commit_id
[20];
60
uint8_t
digest
[32];
61
}
nile_flash_manifest_t
;
62
63
#endif
64
65
#endif
/* NILE_FLASH_LAYOUT_H_ */
nile_flash_manifest_t
Definition
flash_layout.h:52
nile_flash_manifest_t::digest
uint8_t digest[32]
Definition
flash_layout.h:60
nile_flash_manifest_t::id
uint16_t id
Definition
flash_layout.h:53
nile_flash_manifest_t::major
uint16_t major
Definition
flash_layout.h:54
nile_flash_manifest_t::commit_id
uint8_t commit_id[20]
Definition
flash_layout.h:59
nile_flash_manifest_t::reserved
uint8_t reserved[3]
Definition
flash_layout.h:57
nile_flash_manifest_t::minor
uint16_t minor
Definition
flash_layout.h:55
nile_flash_manifest_t::patch
uint16_t patch
Definition
flash_layout.h:56
nile_flash_manifest_t::partial_install
uint8_t partial_install
0x00 if install successful, non-0x00 if partial
Definition
flash_layout.h:58
include
nile
flash_layout.h
Generated by
1.14.0