1d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin/** @file
2d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin
368dda854c63a2e5d66491d0bdc65b1fc580d8612oliviermartin Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
468dda854c63a2e5d66491d0bdc65b1fc580d8612oliviermartin
5d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin This program and the accompanying materials
6d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin are licensed and made available under the terms and conditions of the BSD License
7d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin which accompanies this distribution.  The full text of the license may be found at
8d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin http://opensource.org/licenses/bsd-license.php
9d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin
10d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin
13d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin **/
14d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin
15d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin#ifndef _NORFLASHPLATFORMLIB_H_
16d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin#define _NORFLASHPLATFORMLIB_H_
17d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin
18d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartintypedef struct {
1968dda854c63a2e5d66491d0bdc65b1fc580d8612oliviermartin  UINTN       DeviceBaseAddress;    // Start address of the Device Base Address (DBA)
2068dda854c63a2e5d66491d0bdc65b1fc580d8612oliviermartin  UINTN       RegionBaseAddress;    // Start address of one single region
2168dda854c63a2e5d66491d0bdc65b1fc580d8612oliviermartin  UINTN       Size;
2268dda854c63a2e5d66491d0bdc65b1fc580d8612oliviermartin  UINTN       BlockSize;
2368dda854c63a2e5d66491d0bdc65b1fc580d8612oliviermartin  EFI_GUID    Guid;
24d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin} NOR_FLASH_DESCRIPTION;
25d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin
26d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartinEFI_STATUS
27d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartinNorFlashPlatformInitialization (
28d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin  VOID
29d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin  );
30d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin
31d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartinEFI_STATUS
32d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartinNorFlashPlatformGetDevices (
33d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin  OUT NOR_FLASH_DESCRIPTION   **NorFlashDescriptions,
34d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin  OUT UINT32                  *Count
35d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin  );
36d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin
37d5e12da4fea90f1293d4731aa8a5da0097f268d5oliviermartin#endif /* _NORFLASHPLATFORMLIB_H_ */
38