parent
2496efde24
commit
a1e329b41b
@ -0,0 +1,48 @@ |
||||
/*
|
||||
* (C) Copyright 2002 |
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
||||
* |
||||
* See file CREDITS for list of people who contributed to this |
||||
* project. |
||||
* |
||||
* 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. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this program; if not, write to the Free Software |
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
||||
* MA 02111-1307 USA |
||||
*/ |
||||
|
||||
#ifndef _PCIPPC2_FPGA_H_ |
||||
#define _PCIPPC2_FPGA_H_ |
||||
|
||||
#define FPGA_VENDOR_ID 0x1310 |
||||
#define FPGA_DEVICE_ID 0x000d |
||||
|
||||
#define HW_FPGA0_INT 0x0000 |
||||
#define HW_FPGA0_UART1 0x0080 |
||||
#define HW_FPGA0_UART2 0x0100 |
||||
#define HW_FPGA0_RTC 0x2000 |
||||
#define HW_FPGA0_DOC 0x4000 |
||||
#define HW_FPGA1_RTC 0x0000 |
||||
#define HW_FPGA1_DOC 0x4000 |
||||
|
||||
#define HW_FPGA0_INT_INTR_MASK 0x30 |
||||
#define HW_FPGA0_INT_INTR_STATUS 0x34 |
||||
#define HW_FPGA0_INT_INTR_EOI 0x40 |
||||
#define HW_FPGA0_INT_SERIAL_CONFIG 0x5c |
||||
|
||||
#define HW_FPGA0_WDT_CTRL 0x44 |
||||
#define HW_FPGA0_WDT_PROG 0x48 |
||||
#define HW_FPGA0_WDT_VAL 0x4c |
||||
#define HW_FPGA0_WDT_REFRESH 0x50 |
||||
|
||||
#endif |
@ -0,0 +1,105 @@ |
||||
|
||||
/* Defines for NAND Flash Translation Layer */ |
||||
/* (c) 1999 Machine Vision Holdings, Inc. */ |
||||
/* Author: David Woodhouse <dwmw2@mvhi.com> */ |
||||
/* $Id: nftl.h,v 1.10 2000/12/29 00:25:38 dwmw2 Exp $ */ |
||||
|
||||
#ifndef __MTD_NFTL_H__ |
||||
#define __MTD_NFTL_H__ |
||||
|
||||
/* Block Control Information */ |
||||
|
||||
struct nftl_bci { |
||||
unsigned char ECCSig[6]; |
||||
__u8 Status; |
||||
__u8 Status1; |
||||
}__attribute__((packed)); |
||||
|
||||
/* Unit Control Information */ |
||||
|
||||
struct nftl_uci0 { |
||||
__u16 VirtUnitNum; |
||||
__u16 ReplUnitNum; |
||||
__u16 SpareVirtUnitNum; |
||||
__u16 SpareReplUnitNum; |
||||
} __attribute__((packed)); |
||||
|
||||
struct nftl_uci1 { |
||||
__u32 WearInfo; |
||||
__u16 EraseMark; |
||||
__u16 EraseMark1; |
||||
} __attribute__((packed)); |
||||
|
||||
struct nftl_uci2 { |
||||
__u16 FoldMark; |
||||
__u16 FoldMark1; |
||||
__u32 unused; |
||||
} __attribute__((packed)); |
||||
|
||||
union nftl_uci { |
||||
struct nftl_uci0 a; |
||||
struct nftl_uci1 b; |
||||
struct nftl_uci2 c; |
||||
}; |
||||
|
||||
struct nftl_oob { |
||||
struct nftl_bci b; |
||||
union nftl_uci u; |
||||
}; |
||||
|
||||
/* NFTL Media Header */ |
||||
|
||||
struct NFTLMediaHeader { |
||||
char DataOrgID[6]; |
||||
__u16 NumEraseUnits; |
||||
__u16 FirstPhysicalEUN; |
||||
__u32 FormattedSize; |
||||
unsigned char UnitSizeFactor; |
||||
} __attribute__((packed)); |
||||
|
||||
#define MAX_ERASE_ZONES (8192 - 512) |
||||
|
||||
#define ERASE_MARK 0x3c69 |
||||
#define SECTOR_FREE 0xff |
||||
#define SECTOR_USED 0x55 |
||||
#define SECTOR_IGNORE 0x11 |
||||
#define SECTOR_DELETED 0x00 |
||||
|
||||
#define FOLD_MARK_IN_PROGRESS 0x5555 |
||||
|
||||
#define ZONE_GOOD 0xff |
||||
#define ZONE_BAD_ORIGINAL 0 |
||||
#define ZONE_BAD_MARKED 7 |
||||
|
||||
/* these info are used in ReplUnitTable */ |
||||
#define BLOCK_NIL 0xffff /* last block of a chain */ |
||||
#define BLOCK_FREE 0xfffe /* free block */ |
||||
#define BLOCK_NOTEXPLORED 0xfffd /* non explored block, only used during mounting */ |
||||
#define BLOCK_RESERVED 0xfffc /* bios block or bad block */ |
||||
|
||||
struct NFTLrecord { |
||||
struct DiskOnChip *mtd; |
||||
__u16 MediaUnit, SpareMediaUnit; |
||||
__u32 EraseSize; |
||||
struct NFTLMediaHeader MediaHdr; |
||||
int usecount; |
||||
unsigned char heads; |
||||
unsigned char sectors; |
||||
unsigned short cylinders; |
||||
__u16 numvunits; |
||||
__u16 lastEUN; /* should be suppressed */ |
||||
__u16 numfreeEUNs; |
||||
__u16 LastFreeEUN; /* To speed up finding a free EUN */ |
||||
__u32 long nr_sects; |
||||
int head,sect,cyl; |
||||
__u16 *EUNtable; /* [numvunits]: First EUN for each virtual unit */ |
||||
__u16 *ReplUnitTable; /* [numEUNs]: ReplUnitNumber for each */ |
||||
unsigned int nb_blocks; /* number of physical blocks */ |
||||
unsigned int nb_boot_blocks; /* number of blocks used by the bios */ |
||||
}; |
||||
|
||||
#define MAX_NFTLS 16 |
||||
#define MAX_SECTORS_PER_UNIT 32 |
||||
#define NFTL_PARTN_BITS 4 |
||||
|
||||
#endif /* __MTD_NFTL_H__ */ |
Loading…
Reference in new issue