1 /* 2 * arch/arm/plat-omap/include/mach/onenand.h 3 * 4 * Copyright (C) 2006 Nokia Corporation 5 * Author: Juha Yrjola 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 */ 11 12 #include <linux/mtd/mtd.h> 13 #include <linux/mtd/partitions.h> 14 15 #define ONENAND_SYNC_READ (1 << 0) 16 #define ONENAND_SYNC_READWRITE (1 << 1) 17 18 struct onenand_freq_info { 19 u16 maf_id; 20 u16 dev_id; 21 u16 ver_id; 22 }; 23 24 struct omap_onenand_platform_data { 25 int cs; 26 int gpio_irq; 27 struct mtd_partition *parts; 28 int nr_parts; 29 int (*onenand_setup)(void __iomem *, int *freq_ptr); 30 int (*get_freq)(const struct onenand_freq_info *freq_info, 31 bool *clk_dep); 32 int dma_channel; 33 u8 flags; 34 u8 regulator_can_sleep; 35 u8 skip_initial_unlocking; 36 }; 37 38 #define ONENAND_MAX_PARTITIONS 8 39 40 #if defined(CONFIG_MTD_ONENAND_OMAP2) || \ 41 defined(CONFIG_MTD_ONENAND_OMAP2_MODULE) 42 43 extern void gpmc_onenand_init(struct omap_onenand_platform_data *d); 44 45 #else 46 47 #define board_onenand_data NULL 48 gpmc_onenand_init(struct omap_onenand_platform_data * d)49static inline void gpmc_onenand_init(struct omap_onenand_platform_data *d) 50 { 51 } 52 53 #endif 54