| /* | |
| * Toshiba TC6393XB SoC support | |
| * | |
| * Copyright(c) 2005-2006 Chris Humbert | |
| * Copyright(c) 2005 Dirk Opfer | |
| * Copyright(c) 2005 Ian Molton <spyro@f2s.com> | |
| * Copyright(c) 2007 Dmitry Baryshkov | |
| * | |
| * Based on code written by Sharp/Lineo for 2.4 kernels | |
| * Based on locomo.c | |
| * | |
| * This program is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License version 2 as | |
| * published by the Free Software Foundation. | |
| */ | |
| #ifndef MFD_TC6393XB_H | |
| #define MFD_TC6393XB_H | |
| #include <linux/fb.h> | |
| /* Also one should provide the CK3P6MI clock */ | |
| struct tc6393xb_platform_data { | |
| u16 scr_pll2cr; /* PLL2 Control */ | |
| u16 scr_gper; /* GP Enable */ | |
| int (*enable)(struct platform_device *dev); | |
| int (*disable)(struct platform_device *dev); | |
| int (*suspend)(struct platform_device *dev); | |
| int (*resume)(struct platform_device *dev); | |
| int irq_base; /* base for subdevice irqs */ | |
| int gpio_base; | |
| int (*setup)(struct platform_device *dev); | |
| void (*teardown)(struct platform_device *dev); | |
| struct tmio_nand_data *nand_data; | |
| struct tmio_fb_data *fb_data; | |
| unsigned resume_restore : 1; /* make special actions | |
| to preserve the state | |
| on suspend/resume */ | |
| }; | |
| extern int tc6393xb_lcd_mode(struct platform_device *fb, | |
| const struct fb_videomode *mode); | |
| extern int tc6393xb_lcd_set_power(struct platform_device *fb, bool on); | |
| /* | |
| * Relative to irq_base | |
| */ | |
| #define IRQ_TC6393_NAND 0 | |
| #define IRQ_TC6393_MMC 1 | |
| #define IRQ_TC6393_OHCI 2 | |
| #define IRQ_TC6393_FB 4 | |
| #define TC6393XB_NR_IRQS 8 | |
| #endif |