Lines Matching refs:nand
81 struct nuc900_nand *nand; in nuc900_nand_read_byte() local
83 nand = container_of(mtd, struct nuc900_nand, mtd); in nuc900_nand_read_byte()
85 ret = (unsigned char)read_data_reg(nand); in nuc900_nand_read_byte()
94 struct nuc900_nand *nand; in nuc900_nand_read_buf() local
96 nand = container_of(mtd, struct nuc900_nand, mtd); in nuc900_nand_read_buf()
99 buf[i] = (unsigned char)read_data_reg(nand); in nuc900_nand_read_buf()
106 struct nuc900_nand *nand; in nuc900_nand_write_buf() local
108 nand = container_of(mtd, struct nuc900_nand, mtd); in nuc900_nand_write_buf()
111 write_data_reg(nand, buf[i]); in nuc900_nand_write_buf()
114 static int nuc900_check_rb(struct nuc900_nand *nand) in nuc900_check_rb() argument
117 spin_lock(&nand->lock); in nuc900_check_rb()
120 spin_unlock(&nand->lock); in nuc900_check_rb()
127 struct nuc900_nand *nand; in nuc900_nand_devready() local
130 nand = container_of(mtd, struct nuc900_nand, mtd); in nuc900_nand_devready()
132 ready = (nuc900_check_rb(nand)) ? 1 : 0; in nuc900_nand_devready()
140 struct nuc900_nand *nand; in nuc900_nand_command_lp() local
142 nand = container_of(mtd, struct nuc900_nand, mtd); in nuc900_nand_command_lp()
149 write_cmd_reg(nand, command & 0xff); in nuc900_nand_command_lp()
157 write_addr_reg(nand, column); in nuc900_nand_command_lp()
158 write_addr_reg(nand, column >> 8 | ENDADDR); in nuc900_nand_command_lp()
161 write_addr_reg(nand, page_addr); in nuc900_nand_command_lp()
164 write_addr_reg(nand, page_addr >> 8); in nuc900_nand_command_lp()
165 write_addr_reg(nand, page_addr >> 16 | ENDADDR); in nuc900_nand_command_lp()
167 write_addr_reg(nand, page_addr >> 8 | ENDADDR); in nuc900_nand_command_lp()
187 write_cmd_reg(nand, NAND_CMD_STATUS); in nuc900_nand_command_lp()
188 write_cmd_reg(nand, command); in nuc900_nand_command_lp()
190 while (!nuc900_check_rb(nand)) in nuc900_nand_command_lp()
196 write_cmd_reg(nand, NAND_CMD_RNDOUTSTART); in nuc900_nand_command_lp()
201 write_cmd_reg(nand, NAND_CMD_READSTART); in nuc900_nand_command_lp()
219 static void nuc900_nand_enable(struct nuc900_nand *nand) in nuc900_nand_enable() argument
222 spin_lock(&nand->lock); in nuc900_nand_enable()
223 __raw_writel(RESET_FMI, (nand->reg + REG_FMICSR)); in nuc900_nand_enable()
225 val = __raw_readl(nand->reg + REG_FMICSR); in nuc900_nand_enable()
228 __raw_writel(val | NAND_EN, nand->reg + REG_FMICSR); in nuc900_nand_enable()
230 val = __raw_readl(nand->reg + REG_SMCSR); in nuc900_nand_enable()
235 __raw_writel(val, nand->reg + REG_SMCSR); in nuc900_nand_enable()
237 spin_unlock(&nand->lock); in nuc900_nand_enable()