2 * Toshiba TC6393XB SoC support
4 * Copyright(c) 2005-2006 Chris Humbert
5 * Copyright(c) 2005 Dirk Opfer
6 * Copyright(c) 2005 Ian Molton <spyro@f2s.com>
7 * Copyright(c) 2007 Dmitry Baryshkov
9 * Based on code written by Sharp/Lineo for 2.4 kernels
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License version 2 as
14 * published by the Free Software Foundation.
17 #ifndef MFD_TC6393XB_H
18 #define MFD_TC6393XB_H
22 /* Also one should provide the CK3P6MI clock */
23 struct tc6393xb_platform_data
{
24 u16 scr_pll2cr
; /* PLL2 Control */
25 u16 scr_gper
; /* GP Enable */
27 int (*enable
)(struct platform_device
*dev
);
28 int (*disable
)(struct platform_device
*dev
);
29 int (*suspend
)(struct platform_device
*dev
);
30 int (*resume
)(struct platform_device
*dev
);
32 int irq_base
; /* base for subdevice irqs */
34 int (*setup
)(struct platform_device
*dev
);
35 void (*teardown
)(struct platform_device
*dev
);
37 struct tmio_nand_data
*nand_data
;
38 struct tmio_fb_data
*fb_data
;
40 unsigned resume_restore
: 1; /* make special actions
45 extern int tc6393xb_lcd_mode(struct platform_device
*fb
,
46 const struct fb_videomode
*mode
);
47 extern int tc6393xb_lcd_set_power(struct platform_device
*fb
, bool on
);
50 * Relative to irq_base
52 #define IRQ_TC6393_NAND 0
53 #define IRQ_TC6393_MMC 1
54 #define IRQ_TC6393_OHCI 2
55 #define IRQ_TC6393_FB 4
57 #define TC6393XB_NR_IRQS 8