S5PV210: FB: Add MIPI-DSI and CPU Interface features.
Subsystems (3)
PATCH 2/3 S5PV210: FB: Add MIPI-DSI and CPU Interface features.
this patch adds features for supportting MIPI Interface and CPU mode tos3c-fb.c
for this, I added following features.
. add struct fb_cmdmode
- this structure would be used for cpu interface.
. add interface_mode to struct s3c_fb_platdata.
- this variable would be used to distinguishe whether CPU or RGB mode. . add two functions for cpu interface.
- s3c_fb_set_trigger would be used for to send trigger signal to FIMD.
- s3c_fb_is_i80_frame_done would be used to check framedone status. . add a function for setting timing.
- I added this function because it have to distinguishe interfaces. (CPU or RGB mode)
. add register definitions for using MIPI-DSI mode.
<mailto:[email protected]>>
---
arch/arm/plat-samsung/include/plat/fb.h +14 -0
@@ -22,6 +22,11 @@*/ #define S3C_FB_MAX_WIN (5) +enum { +FIMD_VIDEO_MODE =0 , +FIMD_COMMAND_MODE +}; +/** * struct s3c_fb_pd_win - per window setup data * @win_mode: The display parameters to initialise (not for window 0)
@@ -30,6 +35,7 @@*/ struct s3c_fb_pd_win {struct fb_videomode win_mode; +struct fb_cmdmode cmd_mode;unsigned short default_bpp;unsigned short max_bpp;
@@ -42,6 +48,7 @@ struct s3c_fb_pd_win {* @setup_gpio: Setup the external GPIO pins to the right state to transfer * the data from the display system to the connected display * device. +* @interface_mode: cpu mode or rgb mode. * @vidcon0: The base vidcon0 values to control the panel data format. * @vidcon1: The base vidcon1 values to control the panel data output. * @win: The setup data for each hardware window, or NULL for unused.
@@ -57,6 +64,7 @@ struct s3c_fb_platdata {void (*setup_gpio)(void );struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN ]; +u32 interface_mode;u32 vidcon0;u32 vidcon1;
@@ -91,4 +99,10 @@ extern void s5pc100_fb_gpio_setup_24bpp(void);*/ extern void s5pv210_fb_gpio_setup_24bpp (void ); +struct fb_info ; + +extern void s3c_fb_set_trigger (struct fb_info *info); + +extern int s3c_fb_is_i80_frame_done (struct fb_info *info); +#endif /* __PLAT_S3C_FB_H */
arch/arm/plat-samsung/include/plat/regs-fb-v4.h +16 -0
@@ -135,6 +135,22 @@#define WPALCON (0x1A0) +/* For CPU interface. */ +#define TRIGCON (0x1a4) +#define TRGMODE_I80_ENABLE (1 << 0) +#define SWTRGCMD_I80_TRIGGER (1 << 1) +#define SWFRSTATUS_I80 (1 << 2) + +#define I80IFCONA0 (0x1b0) +#define I80IFEN_ENABLE (1 << 0) +#define RSPOL_HIGH (1 << 2) +#define LCD_WR_HOLD (x) (((x) & 0xf) << 4) +#define LCD_WR_ACT (x) (((x) & 0xf) << 8) +#define LCD_WR_SETUP (x) (((x) & 0xf) << 12) +#define LCD_CS_SETUP (x) (((x) & 0xf) << 16) + +#define I80IFCONB0 (0x1b8) +/* Palette control */ /* Note for S5PC100: you can still use those macros on WPALCON (aka WPALCON_L), * but make sure that WPALCON_H W2PAL-W4PAL entries are zeroed out */
arch/arm/plat-samsung/include/plat/regs-fb.h +1 -0
@@ -38,6 +38,7 @@#define VIDCON0_VIDOUT_TV (0x1 << 26)#define VIDCON0_VIDOUT_I80_LDI0 (0x2 << 26)#define VIDCON0_VIDOUT_I80_LDI1 (0x3 << 26) +#define VIDCON0_DSI_EN_ENABLE (1 << 30)#define VIDCON0_L1_DATA_MASK (0x7 << 23)#define VIDCON0_L1_DATA_SHIFT (23)
drivers/video/s3c-fb.c +116 -25
187 lines not on this page · raw message
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100629/665cf862/attachment-0001.html>