diff options
Diffstat (limited to 'target/linux/generic-2.6')
3 files changed, 100 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/files-2.6.30/include/linux/glamo-engine.h b/target/linux/generic-2.6/files-2.6.30/include/linux/glamo-engine.h new file mode 100644 index 0000000000..516d45fa6e --- /dev/null +++ b/target/linux/generic-2.6/files-2.6.30/include/linux/glamo-engine.h @@ -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 diff --git a/target/linux/generic-2.6/files-2.6.30/include/linux/glamofb.h b/target/linux/generic-2.6/files-2.6.30/include/linux/glamofb.h new file mode 100644 index 0000000000..b97dcba9d5 --- /dev/null +++ b/target/linux/generic-2.6/files-2.6.30/include/linux/glamofb.h @@ -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 diff --git a/target/linux/generic-2.6/patches-2.6.30/750-glamo-headers.patch b/target/linux/generic-2.6/patches-2.6.30/750-glamo-headers.patch new file mode 100644 index 0000000000..532e00a3a3 --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.30/750-glamo-headers.patch @@ -0,0 +1,23 @@ +--- a/include/linux/fb.h ++++ b/include/linux/fb.h +@@ -124,6 +124,7 @@ struct dentry; + #define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */ + #define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */ + #define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */ ++#define FB_ACCEL_GLAMO 50 /* SMedia Glamo */ + #define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */ + #define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */ + #define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */ +diff --git a/Kbuild b/Kbuild +index 3f0eaa3..72699f0 100644 +--- a/include/linux/Kbuild ++++ b/include/linux/Kbuild +@@ -75,6 +75,8 @@ header-y += genetlink.h + header-y += gen_stats.h + header-y += gfs2_ondisk.h + header-y += gigaset_dev.h ++header-y += glamofb.h ++header-y += glamo-engine.h + header-y += hysdn_if.h + header-y += i2o-dev.h + header-y += i8k.h |