diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-10-26 15:54:14 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-10-26 15:54:14 +0200 |
commit | 148a8698763130c96004ef419b5f0d44a93d413c (patch) | |
tree | 48a3ea5484e3fc9e485d7bb1b0e3d8795c67d368 /include/video | |
parent | ddffeb8c4d0331609ef2581d84de4d763607bd37 (diff) | |
parent | e4c060db2c13f10de09101afc564763f9fd0019a (diff) | |
download | talos-op-linux-148a8698763130c96004ef419b5f0d44a93d413c.tar.gz talos-op-linux-148a8698763130c96004ef419b5f0d44a93d413c.zip |
Merge tag 'omap-for-v3.8/cleanup-headers-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/headers
From Tony Lindgren <tony@atomide.com>:
This is the first set of omap cleanup patches for v3.8 merge
window to remove most of the remaining plat includes to get us
closer to ARM common zImage support.
To avoid a huge amount of trivial merge conflicts with includes,
this branch is based on several small topic branches coordinated
with the driver subsystem maintainers. These branches are based on
v3.7-rc1 and can also be merged into the related driver subsystem
branches as needed:
omap-for-v3.8/cleanup-headers-prepare few trivial driver changes
omap-for-v3.8/cleanup-headers-dma move of the DMA header
omap-for-v3.8/cleanup-headers-gpmc GPMC and MTD changes
omap-for-v3.8/cleanup-headers-mmc MMC related changes
omap-for-v3.8/cleanup-headers-dss DSS related changes
omap-for-v3.8/cleanup-headers-asoc ASoC related changes
Note that for the dma-omap.h, it was decided that it should be
is completed. For the related discussion, please see:
https://patchwork.kernel.org/patch/1519591/#
After these patches we still have a few plat headers remaining
that will be handled in later pull requests.
* tag 'omap-for-v3.8/cleanup-headers-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (58 commits)
ARM: OMAP: Split plat/cpu.h into local soc.h for mach-omap1 and mach-omap2
ARM: OMAP: clock: split plat/clkdev_omap.h into OMAP1/2 files
ARM: OMAP: remove plat/clock.h
ARM: OMAP: duplicate plat-omap/clock.c into mach-omap[12]/clock.c
ARM: OMAP: Move plat/omap-secure.h locally to mach-omap2
ARM: OMAP2+: Move omap_reserve() locally to mach-omap2
ARM: OMAP1: Remove omap_reserve() callback for all omap1 boards
ARM: OMAP: Make plat/omap-pm.h local to mach-omap2
ARM: OMAP: Merge plat/multi.h into plat/cpu.h
ARM: OMAP: Make plat/omap_hwmod.h local to mach-omap2
ARM: OMAP: Make omap_device local to mach-omap2
ARM: OMAP: Make plat/sram.h local to plat-omap
ARM: OMAP: Move plat/led.h to include/linux/platform_data
ARM: OMAP: Make plat/common.h local to mach-omap1 and mach-omap2
ARM: OMAP: Split plat-omap/i2c.c into mach-omap1 and mach-omap2
ARM: OMAP2+: Make board-zoom.h local
ARM: OMAP1: Move plat/tc.h to mach/tc.h for omap1
ARM: OMAP: Make plat/fpga.h local to arch/arm/plat-omap
ARM: OMAP: move plat-omap/include/plat/sdrc.h into mach-omap2/sdrc.h
OMAPFB: use omap_vrfb_supported()
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/video')
-rw-r--r-- | include/video/omapdss.h | 14 | ||||
-rw-r--r-- | include/video/omapvrfb.h | 68 |
2 files changed, 82 insertions, 0 deletions
diff --git a/include/video/omapdss.h b/include/video/omapdss.h index 3729173b7fbc..88c829466fc1 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h @@ -314,6 +314,19 @@ int dsi_vc_send_bta_sync(struct omap_dss_device *dssdev, int channel); int dsi_enable_video_output(struct omap_dss_device *dssdev, int channel); void dsi_disable_video_output(struct omap_dss_device *dssdev, int channel); +enum omapdss_version { + OMAPDSS_VER_UNKNOWN = 0, + OMAPDSS_VER_OMAP24xx, + OMAPDSS_VER_OMAP34xx_ES1, /* OMAP3430 ES1.0, 2.0 */ + OMAPDSS_VER_OMAP34xx_ES3, /* OMAP3430 ES3.0+ */ + OMAPDSS_VER_OMAP3630, + OMAPDSS_VER_AM35xx, + OMAPDSS_VER_OMAP4430_ES1, /* OMAP4430 ES1.0 */ + OMAPDSS_VER_OMAP4430_ES2, /* OMAP4430 ES2.0, 2.1, 2.2 */ + OMAPDSS_VER_OMAP4, /* All other OMAP4s */ + OMAPDSS_VER_OMAP5, +}; + /* Board specific data */ struct omap_dss_board_info { int (*get_context_loss_count)(struct device *dev); @@ -323,6 +336,7 @@ struct omap_dss_board_info { int (*dsi_enable_pads)(int dsi_id, unsigned lane_mask); void (*dsi_disable_pads)(int dsi_id, unsigned lane_mask); int (*set_min_bus_tput)(struct device *dev, unsigned long r); + enum omapdss_version version; }; /* Init with the board info */ diff --git a/include/video/omapvrfb.h b/include/video/omapvrfb.h new file mode 100644 index 000000000000..bb0bd89f8bc6 --- /dev/null +++ b/include/video/omapvrfb.h @@ -0,0 +1,68 @@ +/* + * VRFB Rotation Engine + * + * Copyright (C) 2009 Nokia Corporation + * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com> + * + * 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. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __OMAP_VRFB_H__ +#define __OMAP_VRFB_H__ + +#define OMAP_VRFB_LINE_LEN 2048 + +struct vrfb { + u8 context; + void __iomem *vaddr[4]; + unsigned long paddr[4]; + u16 xres; + u16 yres; + u16 xoffset; + u16 yoffset; + u8 bytespp; + bool yuv_mode; +}; + +#ifdef CONFIG_OMAP2_VRFB +extern bool omap_vrfb_supported(void); +extern int omap_vrfb_request_ctx(struct vrfb *vrfb); +extern void omap_vrfb_release_ctx(struct vrfb *vrfb); +extern void omap_vrfb_adjust_size(u16 *width, u16 *height, + u8 bytespp); +extern u32 omap_vrfb_min_phys_size(u16 width, u16 height, u8 bytespp); +extern u16 omap_vrfb_max_height(u32 phys_size, u16 width, u8 bytespp); +extern void omap_vrfb_setup(struct vrfb *vrfb, unsigned long paddr, + u16 width, u16 height, + unsigned bytespp, bool yuv_mode); +extern int omap_vrfb_map_angle(struct vrfb *vrfb, u16 height, u8 rot); +extern void omap_vrfb_restore_context(void); + +#else +static inline bool omap_vrfb_supported(void) { return false; } +static inline int omap_vrfb_request_ctx(struct vrfb *vrfb) { return 0; } +static inline void omap_vrfb_release_ctx(struct vrfb *vrfb) {} +static inline void omap_vrfb_adjust_size(u16 *width, u16 *height, + u8 bytespp) {} +static inline u32 omap_vrfb_min_phys_size(u16 width, u16 height, u8 bytespp) + { return 0; } +static inline u16 omap_vrfb_max_height(u32 phys_size, u16 width, u8 bytespp) + { return 0; } +static inline void omap_vrfb_setup(struct vrfb *vrfb, unsigned long paddr, + u16 width, u16 height, unsigned bytespp, bool yuv_mode) {} +static inline int omap_vrfb_map_angle(struct vrfb *vrfb, u16 height, u8 rot) + { return 0; } +static inline void omap_vrfb_restore_context(void) {} +#endif +#endif /* __VRFB_H */ |