Add ioctls to glamo framebuffer driver to enable/disable glamo engines.

SVN-Revision: 16686
This commit is contained in:
Lars-Peter Clausen
2009-07-05 12:05:20 +00:00
parent 3629368623
commit d131752f0d
7 changed files with 132 additions and 44 deletions

View File

@@ -0,0 +1,27 @@
#ifndef __GLAMO_ENGINE_H
#define __GLAMO_ENGINE_H
enum glamo_engine {
GLAMO_ENGINE_CAPTURE = 0,
GLAMO_ENGINE_ISP = 1,
GLAMO_ENGINE_JPEG = 2,
GLAMO_ENGINE_MPEG_ENC = 3,
GLAMO_ENGINE_MPEG_DEC = 4,
GLAMO_ENGINE_LCD = 5,
GLAMO_ENGINE_CMDQ = 6,
GLAMO_ENGINE_2D = 7,
GLAMO_ENGINE_3D = 8,
GLAMO_ENGINE_MMC = 9,
GLAMO_ENGINE_MICROP0 = 10,
GLAMO_ENGINE_RISC = 11,
GLAMO_ENGINE_MICROP1_MPEG_ENC = 12,
GLAMO_ENGINE_MICROP1_MPEG_DEC = 13,
#if 0
GLAMO_ENGINE_H264_DEC = 14,
GLAMO_ENGINE_RISC1 = 15,
GLAMO_ENGINE_SPI = 16,
#endif
__NUM_GLAMO_ENGINES
};
#endif

View File

@@ -0,0 +1,50 @@
#ifndef _LINUX_GLAMOFB_H
#define _LINUX_GLAMOFB_H
#include <linux/fb.h>
#include <linux/glamo-engine.h>
#ifdef __KERNEL__
#include <linux/spi/glamo.h>
struct glamo_core;
struct glamofb_platform_data {
int width, height;
int fb_mem_size;
int num_modes;
struct fb_videomode *modes;
struct glamo_spi_info *spi_info;
struct glamo_spigpio_info *spigpio_info;
struct glamo_core *glamo;
struct platform_device *mmc_dev;
/* glamo mmc platform specific info */
int (*glamo_can_set_mci_power)(void);
/* glamo-mci asking if it should use the slow clock to card */
int (*glamo_mci_use_slow)(void);
int (*glamo_irq_is_wired)(void);
void (*glamo_external_reset)(int);
};
int glamofb_cmd_mode(struct glamofb_handle *gfb, int on);
int glamofb_cmd_write(struct glamofb_handle *gfb, u_int16_t val);
#ifdef CONFIG_MFD_GLAMO
void glamo_lcm_reset(int level);
#else
#define glamo_lcm_reset(...) do {} while (0)
#endif
#endif
#define GLAMOFB_ENGINE_ENABLE _IOW('F', 0x1, __u32)
#define GLAMOFB_ENGINE_DISABLE _IOW('F', 0x2, __u32)
#define GLAMOFB_ENGINE_RESET _IOW('F', 0x3, __u32)
#endif