linux/include/video/omap-panel-data.h
<<
>>
Prefs
   1/*
   2 * Header containing platform_data structs for omap panels
   3 *
   4 * Copyright (C) 2013 Texas Instruments
   5 * Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
   6 *         Archit Taneja <archit@ti.com>
   7 *
   8 * Copyright (C) 2011 Texas Instruments
   9 * Author: Mayuresh Janorkar <mayur@ti.com>
  10 *
  11 * Copyright (C) 2010 Canonical Ltd.
  12 * Author: Bryan Wu <bryan.wu@canonical.com>
  13 *
  14 * This program is free software; you can redistribute it and/or modify it
  15 * under the terms of the GNU General Public License version 2 as published by
  16 * the Free Software Foundation.
  17 *
  18 * This program is distributed in the hope that it will be useful, but WITHOUT
  19 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  20 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  21 * more details.
  22 *
  23 * You should have received a copy of the GNU General Public License along with
  24 * this program.  If not, see <http://www.gnu.org/licenses/>.
  25 */
  26
  27#ifndef __OMAP_PANEL_DATA_H
  28#define __OMAP_PANEL_DATA_H
  29
  30struct omap_dss_device;
  31
  32/**
  33 * struct panel_generic_dpi_data - panel driver configuration data
  34 * @name: panel name
  35 * @platform_enable: platform specific panel enable function
  36 * @platform_disable: platform specific panel disable function
  37 * @num_gpios: number of gpios connected to panel
  38 * @gpios: gpio numbers on the platform
  39 * @gpio_invert: configure gpio as active high or low
  40 */
  41struct panel_generic_dpi_data {
  42        const char *name;
  43        int (*platform_enable)(struct omap_dss_device *dssdev);
  44        void (*platform_disable)(struct omap_dss_device *dssdev);
  45
  46        int num_gpios;
  47        int gpios[10];
  48        bool gpio_invert[10];
  49};
  50
  51/**
  52 * struct panel_n8x0_data - N800 panel driver configuration data
  53 */
  54struct panel_n8x0_data {
  55        int (*platform_enable)(struct omap_dss_device *dssdev);
  56        void (*platform_disable)(struct omap_dss_device *dssdev);
  57        int panel_reset;
  58        int ctrl_pwrdown;
  59};
  60
  61/**
  62 * struct nokia_dsi_panel_data - Nokia DSI panel driver configuration data
  63 * @name: panel name
  64 * @use_ext_te: use external TE
  65 * @ext_te_gpio: external TE GPIO
  66 * @esd_interval: interval of ESD checks, 0 = disabled (ms)
  67 * @ulps_timeout: time to wait before entering ULPS, 0 = disabled (ms)
  68 * @use_dsi_backlight: true if panel uses DSI command to control backlight
  69 * @pin_config: DSI pin configuration
  70 */
  71
  72struct nokia_dsi_panel_data {
  73        const char *name;
  74
  75        int reset_gpio;
  76
  77        bool use_ext_te;
  78        int ext_te_gpio;
  79
  80        unsigned esd_interval;
  81        unsigned ulps_timeout;
  82
  83        bool use_dsi_backlight;
  84
  85        struct omap_dsi_pin_config pin_config;
  86};
  87
  88/**
  89 * struct picodlp_panel_data - picodlp panel driver configuration data
  90 * @picodlp_adapter_id: i2c_adapter number for picodlp
  91 */
  92struct picodlp_panel_data {
  93        int picodlp_adapter_id;
  94        int emu_done_gpio;
  95        int pwrgood_gpio;
  96};
  97
  98/**
  99 * struct tfp410_platform_data - tfp410 panel driver configuration data
 100 * @i2c_bus_num: i2c bus id for the panel
 101 * @power_down_gpio: gpio number for PD pin (or -1 if not available)
 102 */
 103struct tfp410_platform_data {
 104        int i2c_bus_num;
 105        int power_down_gpio;
 106};
 107
 108/**
 109 * sharp ls panel driver configuration data
 110 * @resb_gpio: reset signal
 111 * @ini_gpio: power on control
 112 * @mo_gpio: selection for resolution(VGA/QVGA)
 113 * @lr_gpio: selection for horizontal scanning direction
 114 * @ud_gpio: selection for vertical scanning direction
 115 */
 116struct panel_sharp_ls037v7dw01_data {
 117        int resb_gpio;
 118        int ini_gpio;
 119        int mo_gpio;
 120        int lr_gpio;
 121        int ud_gpio;
 122};
 123
 124/**
 125 * acx565akm panel driver configuration data
 126 * @reset_gpio: reset signal
 127 */
 128struct panel_acx565akm_data {
 129        int reset_gpio;
 130};
 131
 132/**
 133 * nec nl8048 panel driver configuration data
 134 * @res_gpio: reset signal
 135 * @qvga_gpio: selection for resolution(QVGA/WVGA)
 136 */
 137struct panel_nec_nl8048_data {
 138        int res_gpio;
 139        int qvga_gpio;
 140};
 141
 142/**
 143 * tpo td043 panel driver configuration data
 144 * @nreset_gpio: reset signal
 145 */
 146struct panel_tpo_td043_data {
 147        int nreset_gpio;
 148};
 149
 150#endif /* __OMAP_PANEL_DATA_H */
 151