diff options
| author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2016-05-31 04:43:12 -0400 |
|---|---|---|
| committer | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2016-06-03 09:06:38 -0400 |
| commit | 62d9e44ee29f42367b3fae3480825a5c742ec3fc (patch) | |
| tree | e74d7c1f862de67cc38e3b7dc65e745eaea4f19d /include/video | |
| parent | 32043da7dcf2af3510d0410b0cacfbcde95e5d26 (diff) | |
omapfb: Create new header file for omapfb DSS implementation
Copy the content of video/omapdss.h to a new (video/omapfb_dss.h) header
file and convert the omapfb drivers to use this new file.
The new header file is needed to complete the separation of omapdrm and
omapfb implementation of DSS.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Diffstat (limited to 'include/video')
| -rw-r--r-- | include/video/omapfb_dss.h | 880 |
1 files changed, 880 insertions, 0 deletions
diff --git a/include/video/omapfb_dss.h b/include/video/omapfb_dss.h new file mode 100644 index 000000000000..65738c47256e --- /dev/null +++ b/include/video/omapfb_dss.h | |||
| @@ -0,0 +1,880 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2016 Texas Instruments, Inc. | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or modify | ||
| 5 | * it under the terms of the GNU General Public License as published by | ||
| 6 | * the Free Software Foundation; either version 2 of the License, or | ||
| 7 | * (at your option) any later version. | ||
| 8 | */ | ||
| 9 | |||
| 10 | #ifndef __OMAPFB_DSS_H | ||
| 11 | #define __OMAPFB_DSS_H | ||
| 12 | |||
| 13 | #include <linux/list.h> | ||
| 14 | #include <linux/kobject.h> | ||
| 15 | #include <linux/device.h> | ||
| 16 | #include <linux/interrupt.h> | ||
| 17 | #include <linux/platform_data/omapdss.h> | ||
| 18 | |||
| 19 | #include <video/videomode.h> | ||
| 20 | |||
| 21 | #define DISPC_IRQ_FRAMEDONE (1 << 0) | ||
| 22 | #define DISPC_IRQ_VSYNC (1 << 1) | ||
| 23 | #define DISPC_IRQ_EVSYNC_EVEN (1 << 2) | ||
| 24 | #define DISPC_IRQ_EVSYNC_ODD (1 << 3) | ||
| 25 | #define DISPC_IRQ_ACBIAS_COUNT_STAT (1 << 4) | ||
| 26 | #define DISPC_IRQ_PROG_LINE_NUM (1 << 5) | ||
| 27 | #define DISPC_IRQ_GFX_FIFO_UNDERFLOW (1 << 6) | ||
| 28 | #define DISPC_IRQ_GFX_END_WIN (1 << 7) | ||
| 29 | #define DISPC_IRQ_PAL_GAMMA_MASK (1 << 8) | ||
| 30 | #define DISPC_IRQ_OCP_ERR (1 << 9) | ||
| 31 | #define DISPC_IRQ_VID1_FIFO_UNDERFLOW (1 << 10) | ||
| 32 | #define DISPC_IRQ_VID1_END_WIN (1 << 11) | ||
| 33 | #define DISPC_IRQ_VID2_FIFO_UNDERFLOW (1 << 12) | ||
| 34 | #define DISPC_IRQ_VID2_END_WIN (1 << 13) | ||
| 35 | #define DISPC_IRQ_SYNC_LOST (1 << 14) | ||
| 36 | #define DISPC_IRQ_SYNC_LOST_DIGIT (1 << 15) | ||
| 37 | #define DISPC_IRQ_WAKEUP (1 << 16) | ||
| 38 | #define DISPC_IRQ_SYNC_LOST2 (1 << 17) | ||
| 39 | #define DISPC_IRQ_VSYNC2 (1 << 18) | ||
| 40 | #define DISPC_IRQ_VID3_END_WIN (1 << 19) | ||
| 41 | #define DISPC_IRQ_VID3_FIFO_UNDERFLOW (1 << 20) | ||
| 42 | #define DISPC_IRQ_ACBIAS_COUNT_STAT2 (1 << 21) | ||
| 43 | #define DISPC_IRQ_FRAMEDONE2 (1 << 22) | ||
| 44 | #define DISPC_IRQ_FRAMEDONEWB (1 << 23) | ||
| 45 | #define DISPC_IRQ_FRAMEDONETV (1 << 24) | ||
| 46 | #define DISPC_IRQ_WBBUFFEROVERFLOW (1 << 25) | ||
| 47 | #define DISPC_IRQ_WBUNCOMPLETEERROR (1 << 26) | ||
| 48 | #define DISPC_IRQ_SYNC_LOST3 (1 << 27) | ||
| 49 | #define DISPC_IRQ_VSYNC3 (1 << 28) | ||
| 50 | #define DISPC_IRQ_ACBIAS_COUNT_STAT3 (1 << 29) | ||
| 51 | #define DISPC_IRQ_FRAMEDONE3 (1 << 30) | ||
| 52 | |||
| 53 | struct omap_dss_device; | ||
| 54 | struct omap_overlay_manager; | ||
| 55 | struct dss_lcd_mgr_config; | ||
| 56 | struct snd_aes_iec958; | ||
| 57 | struct snd_cea_861_aud_if; | ||
| 58 | struct hdmi_avi_infoframe; | ||
| 59 | |||
| 60 | enum omap_display_type { | ||
| 61 | OMAP_DISPLAY_TYPE_NONE = 0, | ||
| 62 | OMAP_DISPLAY_TYPE_DPI = 1 << 0, | ||
| 63 | OMAP_DISPLAY_TYPE_DBI = 1 << 1, | ||
| 64 | OMAP_DISPLAY_TYPE_SDI = 1 << 2, | ||
| 65 | OMAP_DISPLAY_TYPE_DSI = 1 << 3, | ||
| 66 | OMAP_DISPLAY_TYPE_VENC = 1 << 4, | ||
| 67 | OMAP_DISPLAY_TYPE_HDMI = 1 << 5, | ||
| 68 | OMAP_DISPLAY_TYPE_DVI = 1 << 6, | ||
| 69 | }; | ||
| 70 | |||
| 71 | enum omap_plane { | ||
| 72 | OMAP_DSS_GFX = 0, | ||
| 73 | OMAP_DSS_VIDEO1 = 1, | ||
| 74 | OMAP_DSS_VIDEO2 = 2, | ||
| 75 | OMAP_DSS_VIDEO3 = 3, | ||
| 76 | OMAP_DSS_WB = 4, | ||
| 77 | }; | ||
| 78 | |||
| 79 | enum omap_channel { | ||
| 80 | OMAP_DSS_CHANNEL_LCD = 0, | ||
| 81 | OMAP_DSS_CHANNEL_DIGIT = 1, | ||
| 82 | OMAP_DSS_CHANNEL_LCD2 = 2, | ||
| 83 | OMAP_DSS_CHANNEL_LCD3 = 3, | ||
| 84 | OMAP_DSS_CHANNEL_WB = 4, | ||
| 85 | }; | ||
| 86 | |||
| 87 | enum omap_color_mode { | ||
| 88 | OMAP_DSS_COLOR_CLUT1 = 1 << 0, /* BITMAP 1 */ | ||
| 89 | OMAP_DSS_COLOR_CLUT2 = 1 << 1, /* BITMAP 2 */ | ||
| 90 | OMAP_DSS_COLOR_CLUT4 = 1 << 2, /* BITMAP 4 */ | ||
| 91 | OMAP_DSS_COLOR_CLUT8 = 1 << 3, /* BITMAP 8 */ | ||
| 92 | OMAP_DSS_COLOR_RGB12U = 1 << 4, /* RGB12, 16-bit container */ | ||
| 93 | OMAP_DSS_COLOR_ARGB16 = 1 << 5, /* ARGB16 */ | ||
| 94 | OMAP_DSS_COLOR_RGB16 = 1 << 6, /* RGB16 */ | ||
| 95 | OMAP_DSS_COLOR_RGB24U = 1 << 7, /* RGB24, 32-bit container */ | ||
| 96 | OMAP_DSS_COLOR_RGB24P = 1 << 8, /* RGB24, 24-bit container */ | ||
| 97 | OMAP_DSS_COLOR_YUV2 = 1 << 9, /* YUV2 4:2:2 co-sited */ | ||
| 98 | OMAP_DSS_COLOR_UYVY = 1 << 10, /* UYVY 4:2:2 co-sited */ | ||
| 99 | OMAP_DSS_COLOR_ARGB32 = 1 << 11, /* ARGB32 */ | ||
| 100 | OMAP_DSS_COLOR_RGBA32 = 1 << 12, /* RGBA32 */ | ||
| 101 | OMAP_DSS_COLOR_RGBX32 = 1 << 13, /* RGBx32 */ | ||
| 102 | OMAP_DSS_COLOR_NV12 = 1 << 14, /* NV12 format: YUV 4:2:0 */ | ||
| 103 | OMAP_DSS_COLOR_RGBA16 = 1 << 15, /* RGBA16 - 4444 */ | ||
| 104 | OMAP_DSS_COLOR_RGBX16 = 1 << 16, /* RGBx16 - 4444 */ | ||
| 105 | OMAP_DSS_COLOR_ARGB16_1555 = 1 << 17, /* ARGB16 - 1555 */ | ||
| 106 | OMAP_DSS_COLOR_XRGB16_1555 = 1 << 18, /* xRGB16 - 1555 */ | ||
| 107 | }; | ||
| 108 | |||
| 109 | enum omap_dss_load_mode { | ||
| 110 | OMAP_DSS_LOAD_CLUT_AND_FRAME = 0, | ||
| 111 | OMAP_DSS_LOAD_CLUT_ONLY = 1, | ||
| 112 | OMAP_DSS_LOAD_FRAME_ONLY = 2, | ||
| 113 | OMAP_DSS_LOAD_CLUT_ONCE_FRAME = 3, | ||
| 114 | }; | ||
| 115 | |||
| 116 | enum omap_dss_trans_key_type { | ||
| 117 | OMAP_DSS_COLOR_KEY_GFX_DST = 0, | ||
| 118 | OMAP_DSS_COLOR_KEY_VID_SRC = 1, | ||
| 119 | }; | ||
| 120 | |||
| 121 | enum omap_rfbi_te_mode { | ||
| 122 | OMAP_DSS_RFBI_TE_MODE_1 = 1, | ||
| 123 | OMAP_DSS_RFBI_TE_MODE_2 = 2, | ||
| 124 | }; | ||
| 125 | |||
| 126 | enum omap_dss_signal_level { | ||
| 127 | OMAPDSS_SIG_ACTIVE_LOW, | ||
| 128 | OMAPDSS_SIG_ACTIVE_HIGH, | ||
| 129 | }; | ||
| 130 | |||
| 131 | enum omap_dss_signal_edge { | ||
| 132 | OMAPDSS_DRIVE_SIG_FALLING_EDGE, | ||
| 133 | OMAPDSS_DRIVE_SIG_RISING_EDGE, | ||
| 134 | }; | ||
| 135 | |||
| 136 | enum omap_dss_venc_type { | ||
| 137 | OMAP_DSS_VENC_TYPE_COMPOSITE, | ||
| 138 | OMAP_DSS_VENC_TYPE_SVIDEO, | ||
| 139 | }; | ||
| 140 | |||
| 141 | enum omap_dss_dsi_pixel_format { | ||
| 142 | OMAP_DSS_DSI_FMT_RGB888, | ||
| 143 | OMAP_DSS_DSI_FMT_RGB666, | ||
| 144 | OMAP_DSS_DSI_FMT_RGB666_PACKED, | ||
| 145 | OMAP_DSS_DSI_FMT_RGB565, | ||
| 146 | }; | ||
| 147 | |||
| 148 | enum omap_dss_dsi_mode { | ||
| 149 | OMAP_DSS_DSI_CMD_MODE = 0, | ||
| 150 | OMAP_DSS_DSI_VIDEO_MODE, | ||
| 151 | }; | ||
| 152 | |||
| 153 | enum omap_display_caps { | ||
| 154 | OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE = 1 << 0, | ||
| 155 | OMAP_DSS_DISPLAY_CAP_TEAR_ELIM = 1 << 1, | ||
| 156 | }; | ||
| 157 | |||
| 158 | enum omap_dss_display_state { | ||
| 159 | OMAP_DSS_DISPLAY_DISABLED = 0, | ||
| 160 | OMAP_DSS_DISPLAY_ACTIVE, | ||
| 161 | }; | ||
| 162 | |||
| 163 | enum omap_dss_rotation_type { | ||
| 164 | OMAP_DSS_ROT_DMA = 1 << 0, | ||
| 165 | OMAP_DSS_ROT_VRFB = 1 << 1, | ||
| 166 | OMAP_DSS_ROT_TILER = 1 << 2, | ||
| 167 | }; | ||
| 168 | |||
| 169 | /* clockwise rotation angle */ | ||
| 170 | enum omap_dss_rotation_angle { | ||
| 171 | OMAP_DSS_ROT_0 = 0, | ||
| 172 | OMAP_DSS_ROT_90 = 1, | ||
| 173 | OMAP_DSS_ROT_180 = 2, | ||
| 174 | OMAP_DSS_ROT_270 = 3, | ||
| 175 | }; | ||
| 176 | |||
| 177 | enum omap_overlay_caps { | ||
| 178 | OMAP_DSS_OVL_CAP_SCALE = 1 << 0, | ||
| 179 | OMAP_DSS_OVL_CAP_GLOBAL_ALPHA = 1 << 1, | ||
| 180 | OMAP_DSS_OVL_CAP_PRE_MULT_ALPHA = 1 << 2, | ||
| 181 | OMAP_DSS_OVL_CAP_ZORDER = 1 << 3, | ||
| 182 | OMAP_DSS_OVL_CAP_POS = 1 << 4, | ||
| 183 | OMAP_DSS_OVL_CAP_REPLICATION = 1 << 5, | ||
| 184 | }; | ||
| 185 | |||
| 186 | enum omap_overlay_manager_caps { | ||
| 187 | OMAP_DSS_DUMMY_VALUE, /* add a dummy value to prevent compiler error */ | ||
| 188 | }; | ||
| 189 | |||
| 190 | enum omap_dss_clk_source { | ||
| 191 | OMAP_DSS_CLK_SRC_FCK = 0, /* OMAP2/3: DSS1_ALWON_FCLK | ||
| 192 | * OMAP4: DSS_FCLK */ | ||
| 193 | OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC, /* OMAP3: DSI1_PLL_FCLK | ||
| 194 | * OMAP4: PLL1_CLK1 */ | ||
| 195 | OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DSI, /* OMAP3: DSI2_PLL_FCLK | ||
| 196 | * OMAP4: PLL1_CLK2 */ | ||
| 197 | OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC, /* OMAP4: PLL2_CLK1 */ | ||
| 198 | OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DSI, /* OMAP4: PLL2_CLK2 */ | ||
| 199 | }; | ||
| 200 | |||
| 201 | enum omap_hdmi_flags { | ||
| 202 | OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP = 1 << 0, | ||
| 203 | }; | ||
| 204 | |||
| 205 | enum omap_dss_output_id { | ||
| 206 | OMAP_DSS_OUTPUT_DPI = 1 << 0, | ||
| 207 | OMAP_DSS_OUTPUT_DBI = 1 << 1, | ||
| 208 | OMAP_DSS_OUTPUT_SDI = 1 << 2 | ||
