/* * linux/include/asm-arm/sharp_nand_param.h * * Definitions of the NAND partition accessed via logical address (SHARP) * * Copyright (C) 2002 SHARP * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * Change Log * */ #ifndef _SHARP_NAND_PARAM_H_INCLUDED #define _SHARP_NAND_PARAM_H_INCLUDED // // Parameter Area Map // #define PARAM_BLOCK_ADJVALUE 0x00040000 #define PARAM_BLOCK_BOOTFLAG 0x00044000 #define PARAM_BLOCK_VERSION 0x00048000 #define PARAM_BLOCK_CLOCK 0x0004C000 #define PARAM_BLOCK_ROMOUNT 0x00050000 #define PARAM_BLOCK_RWMOUNT 0x00054000 #define PARAM_BLOCK_RSV_58 0x00058000 #define PARAM_BLOCK_RSV_5C 0x0005C000 #define PARAM_BLOCK_PARTITIONINFO1 0x00060000 #define PARAM_BLOCK_PARTITIONINFO2 0x00064000 #define PARAM_BLOCK_MODEL 0x00068000 #define PARAM_BLOCK_RSV_6C 0x0006C000 #define PARAM_BLOCK_MVERSION 0x00070000 #define PARAM_BLOCK_RSV_74_ 0x00074000 // can not use this block #define PARAM_BLOCK_RSV_78 0x00078000 // can not use this block because of BUG // // BOOTFLAG // #define COLLIE_BOOT_DIAG_REMOTE_FLAG "DIAR" #define COLLIE_BOOT_DIAG_NORMAL_FLAG "DIAG" #define COLLIE_BOOT_DIAG_SERVICE_FLAG "DIAS" #define COLLIE_BOOT_MNTE_NORMAL_FLAG "MNTE" #define COLLIE_BOOT_MNTE_UPDTUSB_FLAG "MUSB" #define COLLIE_BOOT_MNTE_UPDTCF_FLAG "MNCF" #define COLLIE_BOOT_MNTE_UPDTSD_FLAG "MNSD" #define COLLIE_BOOT_FLAG_LEN (4) // // VERSION // typedef struct PARAM_VERSION_ENTRY { unsigned long magic; unsigned char name[12]; unsigned long prgid; unsigned long startadr; unsigned long endadr; unsigned long lpflag; unsigned char pex_str[6]; unsigned char pex_ver[8]; unsigned short sum; } PARAM_VERSION_ENTRY; #define PARAM_VERSION_MAGIC 0xaa55aa55 #define PARAM_VERSION_LOG_FLAG 0x4c4c4c4c //LLLL #define PARAM_VERSION_PHY_FLAG 0x50505050 //!LLLL #define PARAM_VERSION_EX_STR "SHARP!" #define PARAM_PROGRAM_ID_GENERAL 0 #define PARAM_PROGRAM_ID_MAINTE 1 #define PARAM_PROGRAM_ID_DIAG 2 #define PARAM_PROGRAM_ID_2ND_KERNEL 3 #define PARAM_PROGRAM_ID_2ND_FS 4 #define PARAM_PROGRAM_ID_1ST_KERNEL 5 #define PARAM_PROGRAM_ID_1ST_FSRO 6 #define PARAM_PROGRAM_ID_1ST_FSRW 7 #define PARAM_VERSION_ENTRY_MAX 24 #define PARAM_VERSION_VALID_OFS 0x1000 // // PARTITIONINFO1,2 // typedef struct NAND_PARTITION_INFO { unsigned long startadr; unsigned long endadr; unsigned char magic[4]; unsigned long reserve; } NAND_PARTITION_INFO; #define PARAM_PARTITIONINFO_BOOT "BOOT" #define PARAM_PARTITIONINFO_FSRO "FSRO" #define PARAM_PARTITIONINFO_FSRW "FSRW" #endif