S5PV210: Add MIPI-DSI Driver.
Subsystems (5)
PATCH 3/3 S5PV210: Add MIPI-DSI Driver.
this patch addes MIPI-DSI Driver.
to use this driver, some structures below should be added to machine specific file.
struct dsim_config
- define clock info, data lane count and video mode info for MIPI-DSI Controller.
struct dsim_lcd_config
- define interface mode, channel ID, Pixel format and so on.
struct s5p_platform_dsim
- define callbacks for initializing D-PHY, MIPI reset and trigger releated interfaces of s3c-fb.c file.
<mailto:[email protected]>>
---
(quoted diff) +0 -0
b/arch/arm/mach-s5pv210/include/mach/regs-clock.h
index 2a25ab4..f716678 100644
arch/arm/mach-s5pv210/include/mach/regs-clock.h +1 -0
@@ -162,6 +162,7 @@/* MIPI */ #define S5P_MIPI_DPHY_EN (3) +#define S5P_MIPI_M_RESETN (1 << 1)/* S5P_DAC_CONTROL */ #define S5P_DAC_ENABLE (1)
arch/arm/plat-samsung/Makefile +3 -0
@@ -49,6 +49,9 @@ obj-$(CONFIG_S3C_DEV_RTC) += dev-rtc.o obj-$(CONFIG_SAMSUNG_DEV_ADC) += dev-adc.o obj-$(CONFIG_SAMSUNG_DEV_TS) += dev-ts.o +# Device setup - MIPI-DSI +obj-$(CONFIG_S5P_MIPI_DSI) += setup-dsim.o + # DMA support obj-$(CONFIG_S3C_DMA) += dma.o
arch/arm/plat-samsung/include/plat/dsim.h new file +470 -0
470 lines not on this page · raw message
arch/arm/plat-samsung/include/plat/mipi_ddi.h new file +98 -0
98 lines not on this page · raw message
arch/arm/plat-samsung/include/plat/regs-dsim.h new file +281 -0
281 lines not on this page · raw message
arch/arm/plat-samsung/setup-dsim.c new file +161 -0
161 lines not on this page · raw message
drivers/video/Kconfig +8 -1
@@ -1930,7 +1930,7 @@ config FB_TMIO_ACCELL config FB_S3C tristate "Samsung S3C framebuffer support" - depends on FB && ARCH_S3C64XX + depends on FB && (ARCH_S3C64XX || ARCH_S5PV210) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT
@@ -1975,6 +1975,13 @@ config FB_S3C2410_DEBUG Turn on debugging messages. Note that you can set/unset at run time through sysfs +config S5P_MIPI_DSI + tristate "Samsung SoC MIPI-DSI support." + depends on FB_S3C && ARCH_S5PV210 + default n + ---help--- + This enables support for MIPI-DSI device. + config FB_NUC900 bool "NUC900 LCD framebuffer support" depends on FB && ARCH_W90X900
drivers/video/Makefile +2 -0
@@ -115,6 +115,8 @@ obj-$(CONFIG_FB_SH7760) += sh7760fb.o obj-$(CONFIG_FB_IMX) += imxfb.o obj-$(CONFIG_FB_S3C) += s3c-fb.o obj-$(CONFIG_FB_S3C2410) += s3c2410fb.o +obj-$(CONFIG_S5P_MIPI_DSI) += s5p-dsim.o s5p_dsim_common.o \ + s5p_dsim_lowlevel.o obj-$(CONFIG_FB_FSL_DIU) += fsl-diu-fb.o obj-$(CONFIG_FB_COBALT) += cobalt_lcdfb.o obj-$(CONFIG_FB_PNX4008_DUM) += pnx4008/
drivers/video/s5p-dsim.c new file +483 -0
483 lines not on this page · raw message
drivers/video/s5p_dsim_common.c new file +754 -0
754 lines not on this page · raw message
drivers/video/s5p_dsim_common.h new file +38 -0
@@ -0,0 +1,38 @@ +/* linux/drivers/video/samsung/s5p_dsim_common.h +* +* Header file for Samsung MIPI-DSI common driver. +* +* Copyright (c) 2009 Samsung Electronics +* InKi Dae <[email protected]> +* +* 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. +*/ + +#ifndef _S5P_DSIM_COMMON_H +#define _S5P_DSIM_COMMON_H + +extern int s5p_dsim_wr_data (void *dsim_data,unsigned int data_id, +unsigned int data0,unsigned int data1); +extern int s5p_dsim_init_header_fifo (struct dsim_global *dsim); +extern int s5p_dsim_pll_on (struct dsim_global *dsim,unsigned char enable); +extern unsigned long s5p_dsim_change_pll (struct dsim_global *dsim, +unsigned char pre_divider,unsigned short main_divider, +unsigned char scaler); +extern int s5p_dsim_set_clock (struct dsim_global *dsim, +unsigned char byte_clk_sel,unsigned char enable); +extern int s5p_dsim_init_dsim (struct dsim_global *dsim); +extern int s5p_dsim_set_display_mode (struct dsim_global *dsim, +struct dsim_lcd_config *main_lcd,struct dsim_lcd_config *sub_lcd); +extern int s5p_dsim_init_link (struct dsim_global *dsim); +extern int s5p_dsim_set_hs_enable (struct dsim_global *dsim); +extern int s5p_dsim_set_data_transfer_mode (struct dsim_global *dsim, +unsigned char data_path,unsigned char hs_enable); +extern int s5p_dsim_get_frame_done_status (void *dsim_data); +extern int s5p_dsim_clear_frame_done (void *dsim_data); +extern int s5p_dsim_enable_frame_done_int (struct dsim_global *dsim,int enable); + +extern struct fb_info *registered_fb[FB_MAX ]__read_mostly ; + +#endif /* _S5P_DSIM_COMMON_H */
drivers/video/s5p_dsim_lowlevel.c new file +562 -0
562 lines not on this page · raw message
drivers/video/s5p_dsim_lowlevel.h new file +101 -0
101 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/177af880/attachment-0001.html>