11/* descriptor.h
22
3- Copyright (c) 2014 , Nikolaj Schlej. All rights reserved.
3+ Copyright (c) 2015 , Nikolaj Schlej. All rights reserved.
44This program and the accompanying materials
55are licensed and made available under the terms and conditions of the BSD License
66which accompanies this distribution. The full text of the license may be found at
@@ -20,7 +20,7 @@ WITHWARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
2020#pragma pack(push,1)
2121
2222// Flash descriptor header
23- typedef struct {
23+ typedef struct _FLASH_DESCRIPTOR_HEADER {
2424 UINT8 FfVector [16 ]; // Must be 16 0xFFs
2525 UINT32 Signature ; // 0x0FF0A55A
2626} FLASH_DESCRIPTOR_HEADER ;
@@ -33,7 +33,7 @@ typedef struct {
3333
3434// Descriptor map
3535// Base fields are storing bits [11:4] of actual base addresses, all other bits are 0
36- typedef struct {
36+ typedef struct _FLASH_DESCRIPTOR_MAP {
3737 UINT8 ComponentBase ; // 0x03 on most machines
3838 UINT8 NumberOfFlashChips ; // Zero-based number of flash chips installed on board
3939 UINT8 RegionBase ; // 0x04 on most machines
@@ -53,7 +53,7 @@ typedef struct {
5353
5454// Component section
5555// Flash parameters DWORD structure
56- typedef struct {
56+ typedef struct _FLASH_PARAMETERS {
5757 UINT8 FirstChipDensity : 3 ;
5858 UINT8 SecondChipDensity : 3 ;
5959 UINT8 ReservedZero0 : 2 ; // Still unknown, zeros in all descriptors I have seen
@@ -81,7 +81,7 @@ typedef struct {
8181#define FLASH_FREQUENCY_50MHZ 0x04
8282
8383// Component section structure
84- typedef struct {
84+ typedef struct _FLASH_DESCRIPTOR_COMPONENT_SECTION {
8585 FLASH_PARAMETERS FlashParameters ;
8686 UINT8 InvalidInstruction0 ; // Instructions for SPI chip, that must not be executed, like FLASH ERASE
8787 UINT8 InvalidInstruction1 ; //
@@ -94,7 +94,7 @@ typedef struct {
9494// Region section
9595// All base and limit register are storing upper part of actual UINT32 base and limit
9696// If limit is zero - region is not present
97- typedef struct {
97+ typedef struct _FLASH_DESCRIPTOR_REGION_SECTION {
9898 UINT16 ReservedZero ; // Still unknown, zero in all descriptors I have seen
9999 UINT16 FlashBlockEraseSize ; // Size of block erased by single BLOCK ERASE command
100100 UINT16 BiosBase ;
@@ -113,7 +113,7 @@ typedef struct {
113113#define FLASH_BLOCK_ERASE_SIZE_64KB 0x000F
114114
115115// Master section
116- typedef struct {
116+ typedef struct _FLASH_DESCRIPTOR_MASTER_SECTION {
117117 UINT16 BiosId ;
118118 UINT8 BiosRead ;
119119 UINT8 BiosWrite ;
@@ -138,14 +138,14 @@ typedef struct {
138138#define FLASH_DESCRIPTOR_UPPER_MAP_BASE 0x0EFC
139139
140140// Descriptor upper map structure
141- typedef struct {
141+ typedef struct _FLASH_DESCRIPTOR_UPPER_MAP {
142142 UINT8 VsccTableBase ; // Base address of VSCC Table for ME, bits [11:4]
143143 UINT8 VsccTableSize ; // Counted in UINT32s
144144 UINT16 ReservedZero ; // Still unknown, zero in all descriptors I have seen
145145} FLASH_DESCRIPTOR_UPPER_MAP ;
146146
147147// VSCC table entry structure
148- typedef struct {
148+ typedef struct _VSCC_TABLE_ENTRY {
149149 UINT8 VendorId ; // JEDEC VendorID byte
150150 UINT8 DeviceId0 ; // JEDEC DeviceID first byte
151151 UINT8 DeviceId1 ; // JEDEC DeviceID second byte
@@ -162,9 +162,9 @@ typedef struct {
162162
163163// Calculate address of data structure addressed by descriptor address format
164164// 8 bit base or limit
165- extern UINT8 * calculateAddress8 (UINT8 * baseAddress , const UINT8 baseOrLimit );
165+ extern const UINT8 * calculateAddress8 (const UINT8 * baseAddress , const UINT8 baseOrLimit );
166166// 16 bit base or limit
167- extern UINT8 * calculateAddress16 (UINT8 * baseAddress , const UINT16 baseOrLimit );
167+ extern const UINT8 * calculateAddress16 (const UINT8 * baseAddress , const UINT16 baseOrLimit );
168168
169169// Calculate offset of region using it's base
170170extern UINT32 calculateRegionOffset (const UINT16 base );
0 commit comments