0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 struct ili9320_reg {
0014 unsigned short address;
0015 unsigned short value;
0016 };
0017
0018 struct ili9320;
0019
0020 struct ili9320_client {
0021 const char *name;
0022 int (*init)(struct ili9320 *ili, struct ili9320_platdata *cfg);
0023
0024 };
0025
0026 struct ili9320_spi {
0027 struct spi_device *dev;
0028 struct spi_message message;
0029 struct spi_transfer xfer[2];
0030
0031 unsigned char id;
0032 unsigned char buffer_addr[4];
0033 unsigned char buffer_data[4];
0034 };
0035
0036
0037 struct ili9320 {
0038 union {
0039 struct ili9320_spi spi;
0040 } access;
0041
0042 struct device *dev;
0043 struct lcd_device *lcd;
0044 struct ili9320_client *client;
0045 struct ili9320_platdata *platdata;
0046
0047 int power;
0048 int initialised;
0049
0050 unsigned short display1;
0051 unsigned short power1;
0052
0053 int (*write)(struct ili9320 *ili, unsigned int reg, unsigned int val);
0054 };
0055
0056
0057
0058
0059 extern int ili9320_write(struct ili9320 *ili,
0060 unsigned int reg, unsigned int value);
0061
0062 extern int ili9320_write_regs(struct ili9320 *ili,
0063 const struct ili9320_reg *values,
0064 int nr_values);
0065
0066
0067
0068 extern int ili9320_probe_spi(struct spi_device *spi,
0069 struct ili9320_client *cli);
0070
0071 extern void ili9320_remove(struct ili9320 *lcd);
0072 extern void ili9320_shutdown(struct ili9320 *lcd);
0073
0074
0075
0076 extern int ili9320_suspend(struct ili9320 *lcd);
0077 extern int ili9320_resume(struct ili9320 *lcd);