Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
dsi.c File Reference
#include <linux/kernel.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/mutex.h>
#include <linux/module.h>
#include <linux/semaphore.h>
#include <linux/seq_file.h>
#include <linux/platform_device.h>
#include <linux/regulator/consumer.h>
#include <linux/wait.h>
#include <linux/workqueue.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/debugfs.h>
#include <linux/pm_runtime.h>
#include <video/omapdss.h>
#include <video/mipi_display.h>
#include "dss.h"
#include "dss_features.h"

Go to the source code of this file.

Data Structures

struct  dsi_reg
 
struct  dsi_lane_config
 
struct  dsi_isr_data
 
struct  dsi_irq_stats
 
struct  dsi_isr_tables
 
struct  dsi_data
 
struct  dsi_packet_sent_handler_data
 

Macros

#define DSS_SUBSYS_NAME   "DSI"
 
#define DSI_CATCH_MISSING_TE
 
#define DSI_REG(idx)   ((const struct dsi_reg) { idx })
 
#define DSI_SZ_REGS   SZ_1K
 
#define DSI_REVISION   DSI_REG(0x0000)
 
#define DSI_SYSCONFIG   DSI_REG(0x0010)
 
#define DSI_SYSSTATUS   DSI_REG(0x0014)
 
#define DSI_IRQSTATUS   DSI_REG(0x0018)
 
#define DSI_IRQENABLE   DSI_REG(0x001C)
 
#define DSI_CTRL   DSI_REG(0x0040)
 
#define DSI_GNQ   DSI_REG(0x0044)
 
#define DSI_COMPLEXIO_CFG1   DSI_REG(0x0048)
 
#define DSI_COMPLEXIO_IRQ_STATUS   DSI_REG(0x004C)
 
#define DSI_COMPLEXIO_IRQ_ENABLE   DSI_REG(0x0050)
 
#define DSI_CLK_CTRL   DSI_REG(0x0054)
 
#define DSI_TIMING1   DSI_REG(0x0058)
 
#define DSI_TIMING2   DSI_REG(0x005C)
 
#define DSI_VM_TIMING1   DSI_REG(0x0060)
 
#define DSI_VM_TIMING2   DSI_REG(0x0064)
 
#define DSI_VM_TIMING3   DSI_REG(0x0068)
 
#define DSI_CLK_TIMING   DSI_REG(0x006C)
 
#define DSI_TX_FIFO_VC_SIZE   DSI_REG(0x0070)
 
#define DSI_RX_FIFO_VC_SIZE   DSI_REG(0x0074)
 
#define DSI_COMPLEXIO_CFG2   DSI_REG(0x0078)
 
#define DSI_RX_FIFO_VC_FULLNESS   DSI_REG(0x007C)
 
#define DSI_VM_TIMING4   DSI_REG(0x0080)
 
#define DSI_TX_FIFO_VC_EMPTINESS   DSI_REG(0x0084)
 
#define DSI_VM_TIMING5   DSI_REG(0x0088)
 
#define DSI_VM_TIMING6   DSI_REG(0x008C)
 
#define DSI_VM_TIMING7   DSI_REG(0x0090)
 
#define DSI_STOPCLK_TIMING   DSI_REG(0x0094)
 
#define DSI_VC_CTRL(n)   DSI_REG(0x0100 + (n * 0x20))
 
#define DSI_VC_TE(n)   DSI_REG(0x0104 + (n * 0x20))
 
#define DSI_VC_LONG_PACKET_HEADER(n)   DSI_REG(0x0108 + (n * 0x20))
 
#define DSI_VC_LONG_PACKET_PAYLOAD(n)   DSI_REG(0x010C + (n * 0x20))
 
#define DSI_VC_SHORT_PACKET_HEADER(n)   DSI_REG(0x0110 + (n * 0x20))
 
#define DSI_VC_IRQSTATUS(n)   DSI_REG(0x0118 + (n * 0x20))
 
#define DSI_VC_IRQENABLE(n)   DSI_REG(0x011C + (n * 0x20))
 
#define DSI_DSIPHY_CFG0   DSI_REG(0x200 + 0x0000)
 
#define DSI_DSIPHY_CFG1   DSI_REG(0x200 + 0x0004)
 
#define DSI_DSIPHY_CFG2   DSI_REG(0x200 + 0x0008)
 
#define DSI_DSIPHY_CFG5   DSI_REG(0x200 + 0x0014)
 
#define DSI_DSIPHY_CFG10   DSI_REG(0x200 + 0x0028)
 
#define DSI_PLL_CONTROL   DSI_REG(0x300 + 0x0000)
 
#define DSI_PLL_STATUS   DSI_REG(0x300 + 0x0004)
 
#define DSI_PLL_GO   DSI_REG(0x300 + 0x0008)
 
#define DSI_PLL_CONFIGURATION1   DSI_REG(0x300 + 0x000C)
 
#define DSI_PLL_CONFIGURATION2   DSI_REG(0x300 + 0x0010)
 
#define REG_GET(dsidev, idx, start, end)   FLD_GET(dsi_read_reg(dsidev, idx), start, end)
 
#define REG_FLD_MOD(dsidev, idx, val, start, end)   dsi_write_reg(dsidev, idx, FLD_MOD(dsi_read_reg(dsidev, idx), val, start, end))
 
#define DSI_IRQ_VC0   (1 << 0)
 
#define DSI_IRQ_VC1   (1 << 1)
 
#define DSI_IRQ_VC2   (1 << 2)
 
#define DSI_IRQ_VC3   (1 << 3)
 
#define DSI_IRQ_WAKEUP   (1 << 4)
 
#define DSI_IRQ_RESYNC   (1 << 5)
 
#define DSI_IRQ_PLL_LOCK   (1 << 7)
 
#define DSI_IRQ_PLL_UNLOCK   (1 << 8)
 
#define DSI_IRQ_PLL_RECALL   (1 << 9)
 
#define DSI_IRQ_COMPLEXIO_ERR   (1 << 10)
 
#define DSI_IRQ_HS_TX_TIMEOUT   (1 << 14)
 
#define DSI_IRQ_LP_RX_TIMEOUT   (1 << 15)
 
#define DSI_IRQ_TE_TRIGGER   (1 << 16)
 
#define DSI_IRQ_ACK_TRIGGER   (1 << 17)
 
#define DSI_IRQ_SYNC_LOST   (1 << 18)
 
#define DSI_IRQ_LDO_POWER_GOOD   (1 << 19)
 
#define DSI_IRQ_TA_TIMEOUT   (1 << 20)
 
#define DSI_IRQ_ERROR_MASK
 
#define DSI_IRQ_CHANNEL_MASK   0xf
 
#define DSI_VC_IRQ_CS   (1 << 0)
 
#define DSI_VC_IRQ_ECC_CORR   (1 << 1)
 
#define DSI_VC_IRQ_PACKET_SENT   (1 << 2)
 
#define DSI_VC_IRQ_FIFO_TX_OVF   (1 << 3)
 
#define DSI_VC_IRQ_FIFO_RX_OVF   (1 << 4)
 
#define DSI_VC_IRQ_BTA   (1 << 5)
 
#define DSI_VC_IRQ_ECC_NO_CORR   (1 << 6)
 
#define DSI_VC_IRQ_FIFO_TX_UDF   (1 << 7)
 
#define DSI_VC_IRQ_PP_BUSY_CHANGE   (1 << 8)
 
#define DSI_VC_IRQ_ERROR_MASK
 
#define DSI_CIO_IRQ_ERRSYNCESC1   (1 << 0)
 
#define DSI_CIO_IRQ_ERRSYNCESC2   (1 << 1)
 
#define DSI_CIO_IRQ_ERRSYNCESC3   (1 << 2)
 
#define DSI_CIO_IRQ_ERRSYNCESC4   (1 << 3)
 
#define DSI_CIO_IRQ_ERRSYNCESC5   (1 << 4)
 
#define DSI_CIO_IRQ_ERRESC1   (1 << 5)
 
#define DSI_CIO_IRQ_ERRESC2   (1 << 6)
 
#define DSI_CIO_IRQ_ERRESC3   (1 << 7)
 
#define DSI_CIO_IRQ_ERRESC4   (1 << 8)
 
#define DSI_CIO_IRQ_ERRESC5   (1 << 9)
 
#define DSI_CIO_IRQ_ERRCONTROL1   (1 << 10)
 
#define DSI_CIO_IRQ_ERRCONTROL2   (1 << 11)
 
#define DSI_CIO_IRQ_ERRCONTROL3   (1 << 12)
 
#define DSI_CIO_IRQ_ERRCONTROL4   (1 << 13)
 
#define DSI_CIO_IRQ_ERRCONTROL5   (1 << 14)
 
#define DSI_CIO_IRQ_STATEULPS1   (1 << 15)
 
#define DSI_CIO_IRQ_STATEULPS2   (1 << 16)
 
#define DSI_CIO_IRQ_STATEULPS3   (1 << 17)
 
#define DSI_CIO_IRQ_STATEULPS4   (1 << 18)
 
#define DSI_CIO_IRQ_STATEULPS5   (1 << 19)
 
#define DSI_CIO_IRQ_ERRCONTENTIONLP0_1   (1 << 20)
 
#define DSI_CIO_IRQ_ERRCONTENTIONLP1_1   (1 << 21)
 
#define DSI_CIO_IRQ_ERRCONTENTIONLP0_2   (1 << 22)
 
#define DSI_CIO_IRQ_ERRCONTENTIONLP1_2   (1 << 23)
 
#define DSI_CIO_IRQ_ERRCONTENTIONLP0_3   (1 << 24)
 
#define DSI_CIO_IRQ_ERRCONTENTIONLP1_3   (1 << 25)
 
#define DSI_CIO_IRQ_ERRCONTENTIONLP0_4   (1 << 26)
 
#define DSI_CIO_IRQ_ERRCONTENTIONLP1_4   (1 << 27)
 
#define DSI_CIO_IRQ_ERRCONTENTIONLP0_5   (1 << 28)
 
#define DSI_CIO_IRQ_ERRCONTENTIONLP1_5   (1 << 29)
 
#define DSI_CIO_IRQ_ULPSACTIVENOT_ALL0   (1 << 30)
 
#define DSI_CIO_IRQ_ULPSACTIVENOT_ALL1   (1 << 31)
 
#define DSI_CIO_IRQ_ERROR_MASK
 
#define DSI_MAX_NR_ISRS   2
 
#define DSI_MAX_NR_LANES   5
 
#define PIS(x)
 
#define PIS(x)
 
#define PIS(x)
 
#define dsi_collect_irq_stats(dsidev, irqstatus, vcstatus, ciostatus)
 
#define _dsi_print_reset_status(x)
 
#define DUMPREG(r)   seq_printf(s, "%-35s %08x\n", #r, dsi_read_reg(dsidev, r))
 

Typedefs

typedef void(* omap_dsi_isr_t )(void *arg, u32 mask)
 

Enumerations

enum  dsi_lane_function {
  DSI_LANE_UNUSED = 0, DSI_LANE_CLK, DSI_LANE_DATA1, DSI_LANE_DATA2,
  DSI_LANE_DATA3, DSI_LANE_DATA4
}
 
enum  fifo_size {
  DSI_FIFO_SIZE_0 = 0, DSI_FIFO_SIZE_32 = 1, DSI_FIFO_SIZE_64 = 2, DSI_FIFO_SIZE_96 = 3,
  DSI_FIFO_SIZE_128 = 4
}
 
enum  dsi_vc_source { DSI_VC_SOURCE_L4 = 0, DSI_VC_SOURCE_VP }
 
enum  dsi_pll_power_state { DSI_PLL_POWER_OFF = 0x0, DSI_PLL_POWER_ON_HSCLK = 0x1, DSI_PLL_POWER_ON_ALL = 0x2, DSI_PLL_POWER_ON_DIV = 0x3 }
 
enum  dsi_cio_power_state { DSI_COMPLEXIO_POWER_OFF = 0x0, DSI_COMPLEXIO_POWER_ON = 0x1, DSI_COMPLEXIO_POWER_ULPS = 0x2 }
 

Functions

struct platform_devicedsi_get_dsidev_from_id (int module)
 
void dsi_bus_lock (struct omap_dss_device *dssdev)
 
 EXPORT_SYMBOL (dsi_bus_lock)
 
void dsi_bus_unlock (struct omap_dss_device *dssdev)
 
 EXPORT_SYMBOL (dsi_bus_unlock)
 
u8 dsi_get_pixel_size (enum omap_dss_dsi_pixel_format fmt)
 
int dsi_runtime_get (struct platform_device *dsidev)
 
void dsi_runtime_put (struct platform_device *dsidev)
 
unsigned long dsi_get_pll_hsdiv_dispc_rate (struct platform_device *dsidev)
 
int dsi_pll_calc_clock_div_pck (struct platform_device *dsidev, unsigned long req_pck, struct dsi_clock_info *dsi_cinfo, struct dispc_clock_info *dispc_cinfo)
 
int dsi_pll_set_clock_div (struct platform_device *dsidev, struct dsi_clock_info *cinfo)
 
int dsi_pll_init (struct platform_device *dsidev, bool enable_hsclk, bool enable_hsdiv)
 
void dsi_pll_uninit (struct platform_device *dsidev, bool disconnect_lanes)
 
void dsi_dump_clocks (struct seq_file *s)
 
void omapdss_dsi_vc_enable_hs (struct omap_dss_device *dssdev, int channel, bool enable)
 
 EXPORT_SYMBOL (omapdss_dsi_vc_enable_hs)
 
int dsi_vc_send_bta_sync (struct omap_dss_device *dssdev, int channel)
 
 EXPORT_SYMBOL (dsi_vc_send_bta_sync)
 
int dsi_vc_send_null (struct omap_dss_device *dssdev, int channel)
 
 EXPORT_SYMBOL (dsi_vc_send_null)
 
int dsi_vc_dcs_write_nosync (struct omap_dss_device *dssdev, int channel, u8 *data, int len)
 
 EXPORT_SYMBOL (dsi_vc_dcs_write_nosync)
 
int dsi_vc_generic_write_nosync (struct omap_dss_device *dssdev, int channel, u8 *data, int len)
 
 EXPORT_SYMBOL (dsi_vc_generic_write_nosync)
 
int dsi_vc_dcs_write (struct omap_dss_device *dssdev, int channel, u8 *data, int len)
 
 EXPORT_SYMBOL (dsi_vc_dcs_write)
 
int dsi_vc_generic_write (struct omap_dss_device *dssdev, int channel, u8 *data, int len)
 
 EXPORT_SYMBOL (dsi_vc_generic_write)
 
int dsi_vc_dcs_write_0 (struct omap_dss_device *dssdev, int channel, u8 dcs_cmd)
 
 EXPORT_SYMBOL (dsi_vc_dcs_write_0)
 
int dsi_vc_generic_write_0 (struct omap_dss_device *dssdev, int channel)
 
 EXPORT_SYMBOL (dsi_vc_generic_write_0)
 
int dsi_vc_dcs_write_1 (struct omap_dss_device *dssdev, int channel, u8 dcs_cmd, u8 param)
 
 EXPORT_SYMBOL (dsi_vc_dcs_write_1)
 
int dsi_vc_generic_write_1 (struct omap_dss_device *dssdev, int channel, u8 param)
 
 EXPORT_SYMBOL (dsi_vc_generic_write_1)
 
int dsi_vc_generic_write_2 (struct omap_dss_device *dssdev, int channel, u8 param1, u8 param2)
 
 EXPORT_SYMBOL (dsi_vc_generic_write_2)
 
int dsi_vc_dcs_read (struct omap_dss_device *dssdev, int channel, u8 dcs_cmd, u8 *buf, int buflen)
 
 EXPORT_SYMBOL (dsi_vc_dcs_read)
 
int dsi_vc_generic_read_0 (struct omap_dss_device *dssdev, int channel, u8 *buf, int buflen)
 
 EXPORT_SYMBOL (dsi_vc_generic_read_0)
 
int dsi_vc_generic_read_1 (struct omap_dss_device *dssdev, int channel, u8 param, u8 *buf, int buflen)
 
 EXPORT_SYMBOL (dsi_vc_generic_read_1)
 
int dsi_vc_generic_read_2 (struct omap_dss_device *dssdev, int channel, u8 param1, u8 param2, u8 *buf, int buflen)
 
 EXPORT_SYMBOL (dsi_vc_generic_read_2)
 
int dsi_vc_set_max_rx_packet_size (struct omap_dss_device *dssdev, int channel, u16 len)
 
 EXPORT_SYMBOL (dsi_vc_set_max_rx_packet_size)
 
int omapdss_dsi_configure_pins (struct omap_dss_device *dssdev, const struct omap_dsi_pin_config *pin_cfg)
 
 EXPORT_SYMBOL (omapdss_dsi_configure_pins)
 
int omapdss_dsi_set_clocks (struct omap_dss_device *dssdev, unsigned long ddr_clk, unsigned long lp_clk)
 
 EXPORT_SYMBOL (omapdss_dsi_set_clocks)
 
int dsi_enable_video_output (struct omap_dss_device *dssdev, int channel)
 
 EXPORT_SYMBOL (dsi_enable_video_output)
 
void dsi_disable_video_output (struct omap_dss_device *dssdev, int channel)
 
 EXPORT_SYMBOL (dsi_disable_video_output)
 
int omap_dsi_update (struct omap_dss_device *dssdev, int channel, void(*callback)(int, void *), void *data)
 
 EXPORT_SYMBOL (omap_dsi_update)
 
int omapdss_dsi_display_enable (struct omap_dss_device *dssdev)
 
 EXPORT_SYMBOL (omapdss_dsi_display_enable)
 
void omapdss_dsi_display_disable (struct omap_dss_device *dssdev, bool disconnect_lanes, bool enter_ulps)
 
 EXPORT_SYMBOL (omapdss_dsi_display_disable)
 
int omapdss_dsi_enable_te (struct omap_dss_device *dssdev, bool enable)
 
 EXPORT_SYMBOL (omapdss_dsi_enable_te)
 
void omapdss_dsi_set_timings (struct omap_dss_device *dssdev, struct omap_video_timings *timings)
 
 EXPORT_SYMBOL (omapdss_dsi_set_timings)
 
void omapdss_dsi_set_size (struct omap_dss_device *dssdev, u16 w, u16 h)
 
 EXPORT_SYMBOL (omapdss_dsi_set_size)
 
void omapdss_dsi_set_pixel_format (struct omap_dss_device *dssdev, enum omap_dss_dsi_pixel_format fmt)
 
 EXPORT_SYMBOL (omapdss_dsi_set_pixel_format)
 
void omapdss_dsi_set_operation_mode (struct omap_dss_device *dssdev, enum omap_dss_dsi_mode mode)
 
 EXPORT_SYMBOL (omapdss_dsi_set_operation_mode)
 
void omapdss_dsi_set_videomode_timings (struct omap_dss_device *dssdev, struct omap_dss_dsi_videomode_timings *timings)
 
 EXPORT_SYMBOL (omapdss_dsi_set_videomode_timings)
 
int omap_dsi_request_vc (struct omap_dss_device *dssdev, int *channel)
 
 EXPORT_SYMBOL (omap_dsi_request_vc)
 
int omap_dsi_set_vc_id (struct omap_dss_device *dssdev, int channel, int vc_id)
 
 EXPORT_SYMBOL (omap_dsi_set_vc_id)
 
void omap_dsi_release_vc (struct omap_dss_device *dssdev, int channel)
 
 EXPORT_SYMBOL (omap_dsi_release_vc)
 
void dsi_wait_pll_hsdiv_dispc_active (struct platform_device *dsidev)
 
void dsi_wait_pll_hsdiv_dsi_active (struct platform_device *dsidev)
 
int __init dsi_init_platform_driver (void)
 
void __exit dsi_uninit_platform_driver (void)
 

Macro Definition Documentation

#define _dsi_print_reset_status (   x)

Definition at line 1161 of file dsi.c.

#define DSI_CATCH_MISSING_TE

Definition at line 49 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTENTIONLP0_1   (1 << 20)

Definition at line 174 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTENTIONLP0_2   (1 << 22)

Definition at line 176 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTENTIONLP0_3   (1 << 24)

Definition at line 178 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTENTIONLP0_4   (1 << 26)

Definition at line 180 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTENTIONLP0_5   (1 << 28)

Definition at line 182 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTENTIONLP1_1   (1 << 21)

Definition at line 175 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTENTIONLP1_2   (1 << 23)

Definition at line 177 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTENTIONLP1_3   (1 << 25)

Definition at line 179 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTENTIONLP1_4   (1 << 27)

Definition at line 181 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTENTIONLP1_5   (1 << 29)

Definition at line 183 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTROL1   (1 << 10)

Definition at line 164 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTROL2   (1 << 11)

Definition at line 165 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTROL3   (1 << 12)

Definition at line 166 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTROL4   (1 << 13)

Definition at line 167 of file dsi.c.

#define DSI_CIO_IRQ_ERRCONTROL5   (1 << 14)

Definition at line 168 of file dsi.c.

#define DSI_CIO_IRQ_ERRESC1   (1 << 5)

Definition at line 159 of file dsi.c.

#define DSI_CIO_IRQ_ERRESC2   (1 << 6)

Definition at line 160 of file dsi.c.

#define DSI_CIO_IRQ_ERRESC3   (1 << 7)

Definition at line 161 of file dsi.c.

#define DSI_CIO_IRQ_ERRESC4   (1 << 8)

Definition at line 162 of file dsi.c.

#define DSI_CIO_IRQ_ERRESC5   (1 << 9)

Definition at line 163 of file dsi.c.

#define DSI_CIO_IRQ_ERROR_MASK
Value:
DSI_CIO_IRQ_ERRSYNCESC3 | DSI_CIO_IRQ_ERRSYNCESC4 | \
DSI_CIO_IRQ_ERRSYNCESC5 | \
DSI_CIO_IRQ_ERRESC1 | DSI_CIO_IRQ_ERRESC2 | \
DSI_CIO_IRQ_ERRESC3 | DSI_CIO_IRQ_ERRESC4 | \
DSI_CIO_IRQ_ERRESC5 | \
DSI_CIO_IRQ_ERRCONTROL1 | DSI_CIO_IRQ_ERRCONTROL2 | \
DSI_CIO_IRQ_ERRCONTROL3 | DSI_CIO_IRQ_ERRCONTROL4 | \
DSI_CIO_IRQ_ERRCONTROL5 | \
DSI_CIO_IRQ_ERRCONTENTIONLP0_1 | DSI_CIO_IRQ_ERRCONTENTIONLP1_1 | \
DSI_CIO_IRQ_ERRCONTENTIONLP0_2 | DSI_CIO_IRQ_ERRCONTENTIONLP1_2 | \
DSI_CIO_IRQ_ERRCONTENTIONLP0_3 | DSI_CIO_IRQ_ERRCONTENTIONLP1_3 | \
DSI_CIO_IRQ_ERRCONTENTIONLP0_4 | DSI_CIO_IRQ_ERRCONTENTIONLP1_4 | \
DSI_CIO_IRQ_ERRCONTENTIONLP0_5 | DSI_CIO_IRQ_ERRCONTENTIONLP1_5)

Definition at line 186 of file dsi.c.

#define DSI_CIO_IRQ_ERRSYNCESC1   (1 << 0)

Definition at line 154 of file dsi.c.

#define DSI_CIO_IRQ_ERRSYNCESC2   (1 << 1)

Definition at line 155 of file dsi.c.

#define DSI_CIO_IRQ_ERRSYNCESC3   (1 << 2)

Definition at line 156 of file dsi.c.

#define DSI_CIO_IRQ_ERRSYNCESC4   (1 << 3)

Definition at line 157 of file dsi.c.

#define DSI_CIO_IRQ_ERRSYNCESC5   (1 << 4)

Definition at line 158 of file dsi.c.

#define DSI_CIO_IRQ_STATEULPS1   (1 << 15)

Definition at line 169 of file dsi.c.

#define DSI_CIO_IRQ_STATEULPS2   (1 << 16)

Definition at line 170 of file dsi.c.

#define DSI_CIO_IRQ_STATEULPS3   (1 << 17)

Definition at line 171 of file dsi.c.

#define DSI_CIO_IRQ_STATEULPS4   (1 << 18)

Definition at line 172 of file dsi.c.

#define DSI_CIO_IRQ_STATEULPS5   (1 << 19)

Definition at line 173 of file dsi.c.

#define DSI_CIO_IRQ_ULPSACTIVENOT_ALL0   (1 << 30)

Definition at line 184 of file dsi.c.

#define DSI_CIO_IRQ_ULPSACTIVENOT_ALL1   (1 << 31)

Definition at line 185 of file dsi.c.

#define DSI_CLK_CTRL   DSI_REG(0x0054)

Definition at line 68 of file dsi.c.

#define DSI_CLK_TIMING   DSI_REG(0x006C)

Definition at line 74 of file dsi.c.

#define dsi_collect_irq_stats (   dsidev,
  irqstatus,
  vcstatus,
  ciostatus 
)

Definition at line 660 of file dsi.c.

#define DSI_COMPLEXIO_CFG1   DSI_REG(0x0048)

Definition at line 65 of file dsi.c.

#define DSI_COMPLEXIO_CFG2   DSI_REG(0x0078)

Definition at line 77 of file dsi.c.

#define DSI_COMPLEXIO_IRQ_ENABLE   DSI_REG(0x0050)

Definition at line 67 of file dsi.c.

#define DSI_COMPLEXIO_IRQ_STATUS   DSI_REG(0x004C)

Definition at line 66 of file dsi.c.

#define DSI_CTRL   DSI_REG(0x0040)

Definition at line 63 of file dsi.c.

#define DSI_DSIPHY_CFG0   DSI_REG(0x200 + 0x0000)

Definition at line 95 of file dsi.c.

#define DSI_DSIPHY_CFG1   DSI_REG(0x200 + 0x0004)

Definition at line 96 of file dsi.c.

#define DSI_DSIPHY_CFG10   DSI_REG(0x200 + 0x0028)

Definition at line 99 of file dsi.c.

#define DSI_DSIPHY_CFG2   DSI_REG(0x200 + 0x0008)

Definition at line 97 of file dsi.c.

#define DSI_DSIPHY_CFG5   DSI_REG(0x200 + 0x0014)

Definition at line 98 of file dsi.c.

#define DSI_GNQ   DSI_REG(0x0044)

Definition at line 64 of file dsi.c.

#define DSI_IRQ_ACK_TRIGGER   (1 << 17)

Definition at line 129 of file dsi.c.

#define DSI_IRQ_CHANNEL_MASK   0xf

Definition at line 136 of file dsi.c.

#define DSI_IRQ_COMPLEXIO_ERR   (1 << 10)

Definition at line 125 of file dsi.c.

#define DSI_IRQ_ERROR_MASK
Value:

Definition at line 133 of file dsi.c.

#define DSI_IRQ_HS_TX_TIMEOUT   (1 << 14)

Definition at line 126 of file dsi.c.

#define DSI_IRQ_LDO_POWER_GOOD   (1 << 19)

Definition at line 131 of file dsi.c.

#define DSI_IRQ_LP_RX_TIMEOUT   (1 << 15)

Definition at line 127 of file dsi.c.

#define DSI_IRQ_PLL_LOCK   (1 << 7)

Definition at line 122 of file dsi.c.

#define DSI_IRQ_PLL_RECALL   (1 << 9)

Definition at line 124 of file dsi.c.

#define DSI_IRQ_PLL_UNLOCK   (1 << 8)

Definition at line 123 of file dsi.c.

#define DSI_IRQ_RESYNC   (1 << 5)

Definition at line 121 of file dsi.c.

#define DSI_IRQ_SYNC_LOST   (1 << 18)

Definition at line 130 of file dsi.c.

#define DSI_IRQ_TA_TIMEOUT   (1 << 20)

Definition at line 132 of file dsi.c.

#define DSI_IRQ_TE_TRIGGER   (1 << 16)

Definition at line 128 of file dsi.c.

#define DSI_IRQ_VC0   (1 << 0)

Definition at line 116 of file dsi.c.

#define DSI_IRQ_VC1   (1 << 1)

Definition at line 117 of file dsi.c.

#define DSI_IRQ_VC2   (1 << 2)

Definition at line 118 of file dsi.c.

#define DSI_IRQ_VC3   (1 << 3)

Definition at line 119 of file dsi.c.

#define DSI_IRQ_WAKEUP   (1 << 4)

Definition at line 120 of file dsi.c.

#define DSI_IRQENABLE   DSI_REG(0x001C)

Definition at line 62 of file dsi.c.

#define DSI_IRQSTATUS   DSI_REG(0x0018)

Definition at line 61 of file dsi.c.

#define DSI_MAX_NR_ISRS   2

Definition at line 204 of file dsi.c.

#define DSI_MAX_NR_LANES   5

Definition at line 205 of file dsi.c.

#define DSI_PLL_CONFIGURATION1   DSI_REG(0x300 + 0x000C)

Definition at line 106 of file dsi.c.

#define DSI_PLL_CONFIGURATION2   DSI_REG(0x300 + 0x0010)

Definition at line 107 of file dsi.c.

#define DSI_PLL_CONTROL   DSI_REG(0x300 + 0x0000)

Definition at line 103 of file dsi.c.

#define DSI_PLL_GO   DSI_REG(0x300 + 0x0008)

Definition at line 105 of file dsi.c.

#define DSI_PLL_STATUS   DSI_REG(0x300 + 0x0004)

Definition at line 104 of file dsi.c.

#define DSI_REG (   idx)    ((const struct dsi_reg) { idx })

Definition at line 53 of file dsi.c.

#define DSI_REVISION   DSI_REG(0x0000)

Definition at line 58 of file dsi.c.

#define DSI_RX_FIFO_VC_FULLNESS   DSI_REG(0x007C)

Definition at line 78 of file dsi.c.

#define DSI_RX_FIFO_VC_SIZE   DSI_REG(0x0074)

Definition at line 76 of file dsi.c.

#define DSI_STOPCLK_TIMING   DSI_REG(0x0094)

Definition at line 84 of file dsi.c.

#define DSI_SYSCONFIG   DSI_REG(0x0010)

Definition at line 59 of file dsi.c.

#define DSI_SYSSTATUS   DSI_REG(0x0014)

Definition at line 60 of file dsi.c.

#define DSI_SZ_REGS   SZ_1K

Definition at line 55 of file dsi.c.

#define DSI_TIMING1   DSI_REG(0x0058)

Definition at line 69 of file dsi.c.

#define DSI_TIMING2   DSI_REG(0x005C)

Definition at line 70 of file dsi.c.

#define DSI_TX_FIFO_VC_EMPTINESS   DSI_REG(0x0084)

Definition at line 80 of file dsi.c.

#define DSI_TX_FIFO_VC_SIZE   DSI_REG(0x0070)

Definition at line 75 of file dsi.c.

#define DSI_VC_CTRL (   n)    DSI_REG(0x0100 + (n * 0x20))

Definition at line 85 of file dsi.c.

#define DSI_VC_IRQ_BTA   (1 << 5)

Definition at line 144 of file dsi.c.

#define DSI_VC_IRQ_CS   (1 << 0)

Definition at line 139 of file dsi.c.

#define DSI_VC_IRQ_ECC_CORR   (1 << 1)

Definition at line 140 of file dsi.c.

#define DSI_VC_IRQ_ECC_NO_CORR   (1 << 6)

Definition at line 145 of file dsi.c.

#define DSI_VC_IRQ_ERROR_MASK
Value:
DSI_VC_IRQ_FIFO_RX_OVF | DSI_VC_IRQ_ECC_NO_CORR | \
DSI_VC_IRQ_FIFO_TX_UDF)

Definition at line 148 of file dsi.c.

#define DSI_VC_IRQ_FIFO_RX_OVF   (1 << 4)

Definition at line 143 of file dsi.c.

#define DSI_VC_IRQ_FIFO_TX_OVF   (1 << 3)

Definition at line 142 of file dsi.c.

#define DSI_VC_IRQ_FIFO_TX_UDF   (1 << 7)

Definition at line 146 of file dsi.c.

#define DSI_VC_IRQ_PACKET_SENT   (1 << 2)

Definition at line 141 of file dsi.c.

#define DSI_VC_IRQ_PP_BUSY_CHANGE   (1 << 8)

Definition at line 147 of file dsi.c.

#define DSI_VC_IRQENABLE (   n)    DSI_REG(0x011C + (n * 0x20))

Definition at line 91 of file dsi.c.

#define DSI_VC_IRQSTATUS (   n)    DSI_REG(0x0118 + (n * 0x20))

Definition at line 90 of file dsi.c.

#define DSI_VC_LONG_PACKET_HEADER (   n)    DSI_REG(0x0108 + (n * 0x20))

Definition at line 87 of file dsi.c.

#define DSI_VC_LONG_PACKET_PAYLOAD (   n)    DSI_REG(0x010C + (n * 0x20))

Definition at line 88 of file dsi.c.

#define DSI_VC_SHORT_PACKET_HEADER (   n)    DSI_REG(0x0110 + (n * 0x20))

Definition at line 89 of file dsi.c.

#define DSI_VC_TE (   n)    DSI_REG(0x0104 + (n * 0x20))

Definition at line 86 of file dsi.c.

#define DSI_VM_TIMING1   DSI_REG(0x0060)

Definition at line 71 of file dsi.c.

#define DSI_VM_TIMING2   DSI_REG(0x0064)

Definition at line 72 of file dsi.c.

#define DSI_VM_TIMING3   DSI_REG(0x0068)

Definition at line 73 of file dsi.c.

#define DSI_VM_TIMING4   DSI_REG(0x0080)

Definition at line 79 of file dsi.c.

#define DSI_VM_TIMING5   DSI_REG(0x0088)

Definition at line 81 of file dsi.c.

#define DSI_VM_TIMING6   DSI_REG(0x008C)

Definition at line 82 of file dsi.c.

#define DSI_VM_TIMING7   DSI_REG(0x0090)

Definition at line 83 of file dsi.c.

#define DSS_SUBSYS_NAME   "DSI"

Definition at line 20 of file dsi.c.

#define DUMPREG (   r)    seq_printf(s, "%-35s %08x\n", #r, dsi_read_reg(dsidev, r))
#define PIS (   x)
Value:
if (status & DSI_IRQ_##x) \
printk(#x " ");
#define PIS (   x)
Value:
if (status & DSI_VC_IRQ_##x) \
printk(#x " ");
#define PIS (   x)
Value:
if (status & DSI_CIO_IRQ_##x) \
printk(#x " ");
#define REG_FLD_MOD (   dsidev,
  idx,
  val,
  start,
  end 
)    dsi_write_reg(dsidev, idx, FLD_MOD(dsi_read_reg(dsidev, idx), val, start, end))

Definition at line 112 of file dsi.c.

#define REG_GET (   dsidev,
  idx,
  start,
  end 
)    FLD_GET(dsi_read_reg(dsidev, idx), start, end)

Definition at line 109 of file dsi.c.

Typedef Documentation

typedef void(* omap_dsi_isr_t)(void *arg, u32 mask)

Definition at line 202 of file dsi.c.

Enumeration Type Documentation

Enumerator:
DSI_COMPLEXIO_POWER_OFF 
DSI_COMPLEXIO_POWER_ON 
DSI_COMPLEXIO_POWER_ULPS 

Definition at line 2120 of file dsi.c.

Enumerator:
DSI_LANE_UNUSED 
DSI_LANE_CLK 
DSI_LANE_DATA1 
DSI_LANE_DATA2 
DSI_LANE_DATA3 
DSI_LANE_DATA4 

Definition at line 207 of file dsi.c.

Enumerator:
DSI_PLL_POWER_OFF 
DSI_PLL_POWER_ON_HSCLK 
DSI_PLL_POWER_ON_ALL 
DSI_PLL_POWER_ON_DIV 

Definition at line 1263 of file dsi.c.

Enumerator:
DSI_VC_SOURCE_L4 
DSI_VC_SOURCE_VP 

Definition at line 235 of file dsi.c.

enum fifo_size
Enumerator:
DSI_FIFO_SIZE_0 
DSI_FIFO_SIZE_32 
DSI_FIFO_SIZE_64 
DSI_FIFO_SIZE_96 
DSI_FIFO_SIZE_128 

Definition at line 227 of file dsi.c.

Function Documentation

void dsi_bus_lock ( struct omap_dss_device dssdev)

Definition at line 400 of file dsi.c.

void dsi_bus_unlock ( struct omap_dss_device dssdev)

Definition at line 409 of file dsi.c.

void dsi_disable_video_output ( struct omap_dss_device dssdev,
int  channel 
)

Definition at line 4399 of file dsi.c.

void dsi_dump_clocks ( struct seq_file s)

Definition at line 1905 of file dsi.c.

int dsi_enable_video_output ( struct omap_dss_device dssdev,
int  channel 
)

Definition at line 4341 of file dsi.c.

struct platform_device* dsi_get_dsidev_from_id ( int  module)
read

Definition at line 363 of file dsi.c.

u8 dsi_get_pixel_size ( enum omap_dss_dsi_pixel_format  fmt)

Definition at line 458 of file dsi.c.

unsigned long dsi_get_pll_hsdiv_dispc_rate ( struct platform_device dsidev)

Definition at line 1179 of file dsi.c.

int __init dsi_init_platform_driver ( void  )

Definition at line 5383 of file dsi.c.

int dsi_pll_calc_clock_div_pck ( struct platform_device dsidev,
unsigned long  req_pck,
struct dsi_clock_info dsi_cinfo,
struct dispc_clock_info dispc_cinfo 
)

Definition at line 1340 of file dsi.c.

int dsi_pll_init ( struct platform_device dsidev,
bool  enable_hsclk,
bool  enable_hsdiv 
)

Definition at line 1751 of file dsi.c.

int dsi_pll_set_clock_div ( struct platform_device dsidev,
struct dsi_clock_info cinfo 
)

Definition at line 1614 of file dsi.c.

void dsi_pll_uninit ( struct platform_device dsidev,
bool  disconnect_lanes 
)

Definition at line 1828 of file dsi.c.

int dsi_runtime_get ( struct platform_device dsidev)

Definition at line 1079 of file dsi.c.

void dsi_runtime_put ( struct platform_device dsidev)

Definition at line 1091 of file dsi.c.

void __exit dsi_uninit_platform_driver ( void  )

Definition at line 5388 of file dsi.c.

int dsi_vc_dcs_read ( struct omap_dss_device dssdev,
int  channel,
u8  dcs_cmd,
u8 buf,
int  buflen 
)

Definition at line 3460 of file dsi.c.

int dsi_vc_dcs_write ( struct omap_dss_device dssdev,
int  channel,
u8 data,
int  len 
)

Definition at line 3240 of file dsi.c.

int dsi_vc_dcs_write_0 ( struct omap_dss_device dssdev,
int  channel,
u8  dcs_cmd 
)

Definition at line 3256 of file dsi.c.

int dsi_vc_dcs_write_1 ( struct omap_dss_device dssdev,
int  channel,
u8  dcs_cmd,
u8  param 
)

Definition at line 3268 of file dsi.c.

int dsi_vc_dcs_write_nosync ( struct omap_dss_device dssdev,
int  channel,
u8 data,
int  len 
)

Definition at line 3191 of file dsi.c.

int dsi_vc_generic_read_0 ( struct omap_dss_device dssdev,
int  channel,
u8 buf,
int  buflen 
)

Definition at line 3518 of file dsi.c.

int dsi_vc_generic_read_1 ( struct omap_dss_device dssdev,
int  channel,
u8  param,
u8 buf,
int  buflen 
)

Definition at line 3533 of file dsi.c.

int dsi_vc_generic_read_2 ( struct omap_dss_device dssdev,
int  channel,
u8  param1,
u8  param2,
u8 buf,
int  buflen 
)

Definition at line 3548 of file dsi.c.

int dsi_vc_generic_write ( struct omap_dss_device dssdev,
int  channel,
u8 data,
int  len 
)

Definition at line 3248 of file dsi.c.

int dsi_vc_generic_write_0 ( struct omap_dss_device dssdev,
int  channel 
)

Definition at line 3262 of file dsi.c.

int dsi_vc_generic_write_1 ( struct omap_dss_device dssdev,
int  channel,
u8  param 
)

Definition at line 3278 of file dsi.c.

int dsi_vc_generic_write_2 ( struct omap_dss_device dssdev,
int  channel,
u8  param1,
u8  param2 
)

Definition at line 3285 of file dsi.c.

int dsi_vc_generic_write_nosync ( struct omap_dss_device dssdev,
int  channel,
u8 data,
int  len 
)

Definition at line 3201 of file dsi.c.

int dsi_vc_send_bta_sync ( struct omap_dss_device dssdev,
int  channel 
)

Definition at line 2983 of file dsi.c.

int dsi_vc_send_null ( struct omap_dss_device dssdev,
int  channel 
)

Definition at line 3152 of file dsi.c.

int dsi_vc_set_max_rx_packet_size ( struct omap_dss_device dssdev,
int  channel,
u16  len 
)

Definition at line 3567 of file dsi.c.

void dsi_wait_pll_hsdiv_dispc_active ( struct platform_device dsidev)

Definition at line 5054 of file dsi.c.

void dsi_wait_pll_hsdiv_dsi_active ( struct platform_device dsidev)

Definition at line 5062 of file dsi.c.

EXPORT_SYMBOL ( dsi_bus_lock  )
EXPORT_SYMBOL ( dsi_bus_unlock  )
EXPORT_SYMBOL ( omapdss_dsi_vc_enable_hs  )
EXPORT_SYMBOL ( dsi_vc_send_bta_sync  )
EXPORT_SYMBOL ( dsi_vc_send_null  )
EXPORT_SYMBOL ( dsi_vc_dcs_write_nosync  )
EXPORT_SYMBOL ( dsi_vc_generic_write_nosync  )
EXPORT_SYMBOL ( dsi_vc_dcs_write  )
EXPORT_SYMBOL ( dsi_vc_generic_write  )
EXPORT_SYMBOL ( dsi_vc_dcs_write_0  )
EXPORT_SYMBOL ( dsi_vc_generic_write_0  )
EXPORT_SYMBOL ( dsi_vc_dcs_write_1  )
EXPORT_SYMBOL ( dsi_vc_generic_write_1  )
EXPORT_SYMBOL ( dsi_vc_generic_write_2  )
EXPORT_SYMBOL ( dsi_vc_dcs_read  )
EXPORT_SYMBOL ( dsi_vc_generic_read_0  )
EXPORT_SYMBOL ( dsi_vc_generic_read_1  )
EXPORT_SYMBOL ( dsi_vc_generic_read_2  )
EXPORT_SYMBOL ( dsi_vc_set_max_rx_packet_size  )
EXPORT_SYMBOL ( omapdss_dsi_configure_pins  )
EXPORT_SYMBOL ( omapdss_dsi_set_clocks  )
EXPORT_SYMBOL ( dsi_enable_video_output  )
EXPORT_SYMBOL ( dsi_disable_video_output  )
EXPORT_SYMBOL ( omap_dsi_update  )
EXPORT_SYMBOL ( omapdss_dsi_display_enable  )
EXPORT_SYMBOL ( omapdss_dsi_display_disable  )
EXPORT_SYMBOL ( omapdss_dsi_enable_te  )
EXPORT_SYMBOL ( omapdss_dsi_set_timings  )
EXPORT_SYMBOL ( omapdss_dsi_set_size  )
EXPORT_SYMBOL ( omapdss_dsi_set_pixel_format  )
EXPORT_SYMBOL ( omapdss_dsi_set_operation_mode  )
EXPORT_SYMBOL ( omapdss_dsi_set_videomode_timings  )
EXPORT_SYMBOL ( omap_dsi_request_vc  )
EXPORT_SYMBOL ( omap_dsi_set_vc_id  )
EXPORT_SYMBOL ( omap_dsi_release_vc  )
void omap_dsi_release_vc ( struct omap_dss_device dssdev,
int  channel 
)

Definition at line 5041 of file dsi.c.

int omap_dsi_request_vc ( struct omap_dss_device dssdev,
int channel 
)

Definition at line 4995 of file dsi.c.

int omap_dsi_set_vc_id ( struct omap_dss_device dssdev,
int  channel,
int  vc_id 
)

Definition at line 5014 of file dsi.c.

int omap_dsi_update ( struct omap_dss_device dssdev,
int  channel,
void(*)(int, void *)  callback,
void data 
)

Definition at line 4559 of file dsi.c.

int omapdss_dsi_configure_pins ( struct omap_dss_device dssdev,
const struct omap_dsi_pin_config pin_cfg 
)

Definition at line 4207 of file dsi.c.

void omapdss_dsi_display_disable ( struct omap_dss_device dssdev,
bool  disconnect_lanes,
bool  enter_ulps 
)

Definition at line 4861 of file dsi.c.

int omapdss_dsi_display_enable ( struct omap_dss_device dssdev)

Definition at line 4802 of file dsi.c.

int omapdss_dsi_enable_te ( struct omap_dss_device dssdev,
bool  enable 
)

Definition at line 4891 of file dsi.c.

int omapdss_dsi_set_clocks ( struct omap_dss_device dssdev,
unsigned long  ddr_clk,
unsigned long  lp_clk 
)

Definition at line 4275 of file dsi.c.

void omapdss_dsi_set_operation_mode ( struct omap_dss_device dssdev,
enum omap_dss_dsi_mode  mode 
)

Definition at line 4943 of file dsi.c.

void omapdss_dsi_set_pixel_format ( struct omap_dss_device dssdev,
enum omap_dss_dsi_pixel_format  fmt 
)

Definition at line 4929 of file dsi.c.

void omapdss_dsi_set_size ( struct omap_dss_device dssdev,
u16  w,
u16  h 
)

Definition at line 4915 of file dsi.c.

void omapdss_dsi_set_timings ( struct omap_dss_device dssdev,
struct omap_video_timings timings 
)

Definition at line 4901 of file dsi.c.

void omapdss_dsi_set_videomode_timings ( struct omap_dss_device dssdev,
struct omap_dss_dsi_videomode_timings timings 
)

Definition at line 4957 of file dsi.c.

void omapdss_dsi_vc_enable_hs ( struct omap_dss_device dssdev,
int  channel,
bool  enable 
)

Definition at line 2854 of file dsi.c.