/* SPDX-License-Identifier: GPL-2.0+ */ /* * FSL UPM NAND driver * * Copyright (C) 2007 MontaVista Software, Inc. * Anton Vorontsov <avorontsov@ru.mvista.com> */ #ifndef __LINUX_MTD_NAND_FSL_UPM #define __LINUX_MTD_NAND_FSL_UPM #include <linux/mtd/rawnand.h> #define FSL_UPM_WAIT_RUN_PATTERN 0x1 #define FSL_UPM_WAIT_WRITE_BYTE 0x2 #define FSL_UPM_WAIT_WRITE_BUFFER 0x4 struct fsl_upm { void __iomem *mdr; void __iomem *mxmr; void __iomem *mar; void __iomem *io_addr; }; struct fsl_upm_nand { struct fsl_upm upm; int width; int upm_cmd_offset; int upm_addr_offset; int upm_mar_chip_offset; int wait_flags; int (*dev_ready)(int chip_nr); int chip_delay; int chip_offset; int chip_nr; /* no need to fill */ int last_ctrl; }; extern int fsl_upm_nand_init(struct nand_chip *chip, struct fsl_upm_nand *fun); #endif