Blame view

kernel/linux-imx6_3.14.28/include/linux/mfd/tc6393xb.h 1.51 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
  /*
   * 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