+++ /dev/null
-/** @file\r
-\r
- Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
-\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#ifndef FLASH_H\r
-#define FLASH_H\r
-\r
-#include <Uefi.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/IoLib.h>\r
-\r
-#include <Protocol/BlockIo.h>\r
-#include <Protocol/Cpu.h>\r
-#include <Omap3530/Omap3530.h>\r
-\r
-#define PAGE_SIZE(x) ((x) & 0x01)\r
-#define PAGE_SIZE_2K_VAL (0x01UL)\r
-\r
-#define SPARE_AREA_SIZE(x) (((x) >> 2) & 0x01)\r
-#define SPARE_AREA_SIZE_64B_VAL (0x1UL)\r
-\r
-#define BLOCK_SIZE(x) (((x) >> 4) & 0x01)\r
-#define BLOCK_SIZE_128K_VAL (0x01UL)\r
-\r
-#define ORGANIZATION(x) (((x) >> 6) & 0x01)\r
-#define ORGANIZATION_X8 (0x0UL)\r
-#define ORGANIZATION_X16 (0x1UL)\r
-\r
-#define PAGE_SIZE_512B (512)\r
-#define PAGE_SIZE_2K (2048)\r
-#define PAGE_SIZE_4K (4096)\r
-#define SPARE_AREA_SIZE_16B (16)\r
-#define SPARE_AREA_SIZE_64B (64)\r
-\r
-#define BLOCK_SIZE_16K (16*1024)\r
-#define BLOCK_SIZE_128K (128*1024)\r
-\r
-#define BLOCK_COUNT (2048)\r
-#define LAST_BLOCK (BLOCK_COUNT - 1)\r
-\r
-#define ECC_POSITION 2\r
-\r
-//List of commands.\r
-#define RESET_CMD 0xFF\r
-#define READ_ID_CMD 0x90\r
-\r
-#define READ_STATUS_CMD 0x70\r
-\r
-#define PAGE_READ_CMD 0x00\r
-#define PAGE_READ_CONFIRM_CMD 0x30\r
-\r
-#define BLOCK_ERASE_CMD 0x60\r
-#define BLOCK_ERASE_CONFIRM_CMD 0xD0\r
-\r
-#define PROGRAM_PAGE_CMD 0x80\r
-#define PROGRAM_PAGE_CONFIRM_CMD 0x10\r
-\r
-//Nand status register bit definition\r
-#define NAND_SUCCESS (0x0UL << 0)\r
-#define NAND_FAILURE BIT0\r
-\r
-#define NAND_BUSY (0x0UL << 6)\r
-#define NAND_READY BIT6\r
-\r
-#define NAND_RESET_STATUS (0x60UL << 0)\r
-\r
-#define MAX_RETRY_COUNT 1500\r
-\r
-\r
-typedef struct {\r
- UINT8 ManufactureId;\r
- UINT8 DeviceId;\r
- UINT8 BlockAddressStart; //Start of the Block address in actual NAND\r
- UINT8 PageAddressStart; //Start of the Page address in actual NAND\r
-} NAND_PART_INFO_TABLE;\r
-\r
-typedef struct {\r
- UINT8 ManufactureId;\r
- UINT8 DeviceId;\r
- UINT8 Organization; //x8 or x16\r
- UINT32 PageSize;\r
- UINT32 SparePageSize;\r
- UINT32 BlockSize;\r
- UINT32 NumPagesPerBlock;\r
- UINT8 BlockAddressStart; //Start of the Block address in actual NAND\r
- UINT8 PageAddressStart; //Start of the Page address in actual NAND\r
-} NAND_FLASH_INFO;\r
-\r
-#endif //FLASH_H\r