1*cd9d2305SAnton Vorontsov /* 2*cd9d2305SAnton Vorontsov * FSL UPM NAND driver 3*cd9d2305SAnton Vorontsov * 4*cd9d2305SAnton Vorontsov * Copyright (C) 2007 MontaVista Software, Inc. 5*cd9d2305SAnton Vorontsov * Anton Vorontsov <avorontsov@ru.mvista.com> 6*cd9d2305SAnton Vorontsov * 7*cd9d2305SAnton Vorontsov * This program is free software; you can redistribute it and/or 8*cd9d2305SAnton Vorontsov * modify it under the terms of the GNU General Public License as 9*cd9d2305SAnton Vorontsov * published by the Free Software Foundation; either version 2 of 10*cd9d2305SAnton Vorontsov * the License, or (at your option) any later version. 11*cd9d2305SAnton Vorontsov */ 12*cd9d2305SAnton Vorontsov 13*cd9d2305SAnton Vorontsov #ifndef __LINUX_MTD_NAND_FSL_UPM 14*cd9d2305SAnton Vorontsov #define __LINUX_MTD_NAND_FSL_UPM 15*cd9d2305SAnton Vorontsov 16*cd9d2305SAnton Vorontsov #include <linux/mtd/nand.h> 17*cd9d2305SAnton Vorontsov 18*cd9d2305SAnton Vorontsov struct fsl_upm { 19*cd9d2305SAnton Vorontsov const u32 *array; 20*cd9d2305SAnton Vorontsov void __iomem *mdr; 21*cd9d2305SAnton Vorontsov void __iomem *mxmr; 22*cd9d2305SAnton Vorontsov void __iomem *mar; 23*cd9d2305SAnton Vorontsov void __iomem *io_addr; 24*cd9d2305SAnton Vorontsov }; 25*cd9d2305SAnton Vorontsov 26*cd9d2305SAnton Vorontsov struct fsl_upm_nand { 27*cd9d2305SAnton Vorontsov struct fsl_upm upm; 28*cd9d2305SAnton Vorontsov 29*cd9d2305SAnton Vorontsov int width; 30*cd9d2305SAnton Vorontsov int upm_cmd_offset; 31*cd9d2305SAnton Vorontsov int upm_addr_offset; 32*cd9d2305SAnton Vorontsov int wait_pattern; 33*cd9d2305SAnton Vorontsov int (*dev_ready)(void); 34*cd9d2305SAnton Vorontsov int chip_delay; 35*cd9d2305SAnton Vorontsov }; 36*cd9d2305SAnton Vorontsov 37*cd9d2305SAnton Vorontsov extern int fsl_upm_nand_init(struct nand_chip *chip, struct fsl_upm_nand *fun); 38*cd9d2305SAnton Vorontsov 39*cd9d2305SAnton Vorontsov #endif 40