#elif defined(CONFIG_S5PC1XX)
#define MEM_ADDR(fba, fpa, fsa) (((fba) << 13 | (fpa) << 7 | \
(fsa) << 5) & 0x3ffffff)
-#define MEM_ADDR2(fba, fpa, fsa) ((1 << 24 | (fba) << 13 | (fpa) << 7 | \
- (fsa) << 5) & 0x3ffffff)
#endif
#define GET_FBA(mem_addr) ((mem_addr) & 0x3ff000)
int fba, fpa, fsa = 0;
int mem_addr;
int i, ret, count;
- int dev_id, ddp;
fba = (int) (addr >> this->erase_shift);
fpa = (int) (addr >> this->page_shift);
fpa &= this->page_mask;
- dev_id = DEVICE_ID0_REG;
- ddp = dev_id & ONENAND_DEVICE_IS_DDP;
-
- if (ddp)
- mem_addr = MEM_ADDR2(fba, fpa, fsa);
- else
- mem_addr = MEM_ADDR(fba, fpa, fsa);
+ mem_addr = MEM_ADDR(fba, fpa, fsa);
if (cmd != ONENAND_CMD_READOOB)
DPRINTK("cmd 0x%x, addr 0x%x, fba %d, fpa %d, len 0x%x", cmd, (unsigned int) addr, fba, fpa, len);
void s3c_set_width_regs(struct onenand_chip *this)
{
- int dev_id, ddp, density;
+ int dev_id, density;
int dbs_dfs, fba, fpa, fsa;
dev_id = DEVICE_ID0_REG;
- ddp = dev_id & ONENAND_DEVICE_IS_DDP;
density = (dev_id >> ONENAND_DEVICE_DENSITY_SHIFT) & 0xf;
dbs_dfs = 0;
fpa = 6;
fsa = 2;
- if (ddp) {
- dbs_dfs = 1;
- fba--;
- }
-
FBA_WIDTH0_REG = fba;
FPA_WIDTH0_REG = fpa;
FSA_WIDTH0_REG = fsa;