1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Toshiba TC6393XB SoC support
5 * Copyright(c) 2005-2006 Chris Humbert
6 * Copyright(c) 2005 Dirk Opfer
8 * Copyright(c) 2007 Dmitry Baryshkov
10 * Based on code written by Sharp/Lineo for 2.4 kernels
14 #ifndef MFD_TC6393XB_H
15 #define MFD_TC6393XB_H
19 /* Also one should provide the CK3P6MI clock */
20 struct tc6393xb_platform_data {
21 u16 scr_pll2cr; /* PLL2 Control */
22 u16 scr_gper; /* GP Enable */
24 int (*enable)(struct platform_device *dev);
25 int (*disable)(struct platform_device *dev);
26 int (*suspend)(struct platform_device *dev);
27 int (*resume)(struct platform_device *dev);
29 int irq_base; /* base for subdevice irqs */
31 int (*setup)(struct platform_device *dev);
32 void (*teardown)(struct platform_device *dev);
34 struct tmio_nand_data *nand_data;
35 struct tmio_fb_data *fb_data;
37 unsigned resume_restore : 1; /* make special actions
42 extern int tc6393xb_lcd_mode(struct platform_device *fb,
43 const struct fb_videomode *mode);
44 extern int tc6393xb_lcd_set_power(struct platform_device *fb, bool on);
47 * Relative to irq_base
49 #define IRQ_TC6393_NAND 0
50 #define IRQ_TC6393_MMC 1
51 #define IRQ_TC6393_OHCI 2
52 #define IRQ_TC6393_FB 4
54 #define TC6393XB_NR_IRQS 8