GNU Linux-libre 4.14.302-gnu1
[releases.git] / include / linux / mfd / tc6393xb.h
1 /*
2  * Toshiba TC6393XB SoC support
3  *
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
8  *
9  * Based on code written by Sharp/Lineo for 2.4 kernels
10  * Based on locomo.c
11  *
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.
15  */
16
17 #ifndef MFD_TC6393XB_H
18 #define MFD_TC6393XB_H
19
20 #include <linux/fb.h>
21
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 */
26
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);
31
32         int     irq_base;       /* base for subdevice irqs */
33         int     gpio_base;
34         int     (*setup)(struct platform_device *dev);
35         void    (*teardown)(struct platform_device *dev);
36
37         struct tmio_nand_data   *nand_data;
38         struct tmio_fb_data     *fb_data;
39
40         unsigned resume_restore : 1; /* make special actions
41                                         to preserve the state
42                                         on suspend/resume */
43 };
44
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);
48
49 /*
50  * Relative to irq_base
51  */
52 #define IRQ_TC6393_NAND         0
53 #define IRQ_TC6393_MMC          1
54 #define IRQ_TC6393_OHCI         2
55 #define IRQ_TC6393_FB           4
56
57 #define TC6393XB_NR_IRQS        8
58
59 #endif