1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * FSL UPM NAND driver 4 * 5 * Copyright (C) 2007 MontaVista Software, Inc. 6 * Anton Vorontsov <avorontsov@ru.mvista.com> 7 */ 8 9#ifndef __LINUX_MTD_NAND_FSL_UPM 10#define __LINUX_MTD_NAND_FSL_UPM 11 12#include <linux/mtd/rawnand.h> 13 14#define FSL_UPM_WAIT_RUN_PATTERN 0x1 15#define FSL_UPM_WAIT_WRITE_BYTE 0x2 16#define FSL_UPM_WAIT_WRITE_BUFFER 0x4 17 18struct fsl_upm { 19 void __iomem *mdr; 20 void __iomem *mxmr; 21 void __iomem *mar; 22 void __iomem *io_addr; 23}; 24 25struct fsl_upm_nand { 26 struct fsl_upm upm; 27 28 int width; 29 int upm_cmd_offset; 30 int upm_addr_offset; 31 int upm_mar_chip_offset; 32 int wait_flags; 33 int (*dev_ready)(int chip_nr); 34 int chip_delay; 35 int chip_offset; 36 int chip_nr; 37 38 /* no need to fill */ 39 int last_ctrl; 40}; 41 42extern int fsl_upm_nand_init(struct nand_chip *chip, struct fsl_upm_nand *fun); 43 44#endif 45