Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
mx2_camera.c File Reference
#include <linux/init.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/dma-mapping.h>
#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/gcd.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/math64.h>
#include <linux/mm.h>
#include <linux/moduleparam.h>
#include <linux/time.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/mutex.h>
#include <linux/clk.h>
#include <media/v4l2-common.h>
#include <media/v4l2-dev.h>
#include <media/videobuf2-core.h>
#include <media/videobuf2-dma-contig.h>
#include <media/soc_camera.h>
#include <media/soc_mediabus.h>
#include <linux/videodev2.h>
#include <linux/platform_data/camera-mx2.h>
#include <mach/hardware.h>
#include <asm/dma.h>

Go to the source code of this file.

Data Structures

struct  mx2_prp_cfg
 
struct  emma_prp_resize
 
struct  mx2_fmt_cfg
 
struct  mx2_buf_internal
 
struct  mx2_buffer
 
struct  mx2_camera_dev
 

Macros

#define MX2_CAM_DRV_NAME   "mx2-camera"
 
#define MX2_CAM_VERSION   "0.0.6"
 
#define MX2_CAM_DRIVER_DESCRIPTION   "i.MX2x_Camera"
 
#define CSICR1_RESET_VAL   0x40000800
 
#define CSICR2_RESET_VAL   0x0
 
#define CSICR3_RESET_VAL   0x0
 
#define CSICR1_SWAP16_EN   (1 << 31)
 
#define CSICR1_EXT_VSYNC   (1 << 30)
 
#define CSICR1_EOF_INTEN   (1 << 29)
 
#define CSICR1_PRP_IF_EN   (1 << 28)
 
#define CSICR1_CCIR_MODE   (1 << 27)
 
#define CSICR1_COF_INTEN   (1 << 26)
 
#define CSICR1_SF_OR_INTEN   (1 << 25)
 
#define CSICR1_RF_OR_INTEN   (1 << 24)
 
#define CSICR1_STATFF_LEVEL   (3 << 22)
 
#define CSICR1_STATFF_INTEN   (1 << 21)
 
#define CSICR1_RXFF_LEVEL(l)   (((l) & 3) << 19) /* MX27 */
 
#define CSICR1_FB2_DMA_INTEN   (1 << 20) /* MX25 */
 
#define CSICR1_FB1_DMA_INTEN   (1 << 19) /* MX25 */
 
#define CSICR1_RXFF_INTEN   (1 << 18)
 
#define CSICR1_SOF_POL   (1 << 17)
 
#define CSICR1_SOF_INTEN   (1 << 16)
 
#define CSICR1_MCLKDIV(d)   (((d) & 0xF) << 12)
 
#define CSICR1_HSYNC_POL   (1 << 11)
 
#define CSICR1_CCIR_EN   (1 << 10)
 
#define CSICR1_MCLKEN   (1 << 9)
 
#define CSICR1_FCC   (1 << 8)
 
#define CSICR1_PACK_DIR   (1 << 7)
 
#define CSICR1_CLR_STATFIFO   (1 << 6)
 
#define CSICR1_CLR_RXFIFO   (1 << 5)
 
#define CSICR1_GCLK_MODE   (1 << 4)
 
#define CSICR1_INV_DATA   (1 << 3)
 
#define CSICR1_INV_PCLK   (1 << 2)
 
#define CSICR1_REDGE   (1 << 1)
 
#define CSICR1_FMT_MASK   (CSICR1_PACK_DIR | CSICR1_SWAP16_EN)
 
#define SHIFT_STATFF_LEVEL   22
 
#define SHIFT_RXFF_LEVEL   19
 
#define SHIFT_MCLKDIV   12
 
#define CSICR3_FRMCNT   (0xFFFF << 16)
 
#define CSICR3_FRMCNT_RST   (1 << 15)
 
#define CSICR3_DMA_REFLASH_RFF   (1 << 14)
 
#define CSICR3_DMA_REFLASH_SFF   (1 << 13)
 
#define CSICR3_DMA_REQ_EN_RFF   (1 << 12)
 
#define CSICR3_DMA_REQ_EN_SFF   (1 << 11)
 
#define CSICR3_RXFF_LEVEL(l)   (((l) & 7) << 4) /* MX25 */
 
#define CSICR3_CSI_SUP   (1 << 3)
 
#define CSICR3_ZERO_PACK_EN   (1 << 2)
 
#define CSICR3_ECC_INT_EN   (1 << 1)
 
#define CSICR3_ECC_AUTO_EN   (1 << 0)
 
#define SHIFT_FRMCNT   16
 
#define CSISR_SFF_OR_INT   (1 << 25)
 
#define CSISR_RFF_OR_INT   (1 << 24)
 
#define CSISR_STATFF_INT   (1 << 21)
 
#define CSISR_DMA_TSF_FB2_INT   (1 << 20) /* MX25 */
 
#define CSISR_DMA_TSF_FB1_INT   (1 << 19) /* MX25 */
 
#define CSISR_RXFF_INT   (1 << 18)
 
#define CSISR_EOF_INT   (1 << 17)
 
#define CSISR_SOF_INT   (1 << 16)
 
#define CSISR_F2_INT   (1 << 15)
 
#define CSISR_F1_INT   (1 << 14)
 
#define CSISR_COF_INT   (1 << 13)
 
#define CSISR_ECC_INT   (1 << 1)
 
#define CSISR_DRDY   (1 << 0)
 
#define CSICR1   0x00
 
#define CSICR2   0x04
 
#define CSISR   (cpu_is_mx27() ? 0x08 : 0x18)
 
#define CSISTATFIFO   0x0c
 
#define CSIRFIFO   0x10
 
#define CSIRXCNT   0x14
 
#define CSICR3   (cpu_is_mx27() ? 0x1C : 0x08)
 
#define CSIDMASA_STATFIFO   0x20
 
#define CSIDMATA_STATFIFO   0x24
 
#define CSIDMASA_FB1   0x28
 
#define CSIDMASA_FB2   0x2c
 
#define CSIFBUF_PARA   0x30
 
#define CSIIMAG_PARA   0x34
 
#define PRP_CNTL   0x00
 
#define PRP_INTR_CNTL   0x04
 
#define PRP_INTRSTATUS   0x08
 
#define PRP_SOURCE_Y_PTR   0x0c
 
#define PRP_SOURCE_CB_PTR   0x10
 
#define PRP_SOURCE_CR_PTR   0x14
 
#define PRP_DEST_RGB1_PTR   0x18
 
#define PRP_DEST_RGB2_PTR   0x1c
 
#define PRP_DEST_Y_PTR   0x20
 
#define PRP_DEST_CB_PTR   0x24
 
#define PRP_DEST_CR_PTR   0x28
 
#define PRP_SRC_FRAME_SIZE   0x2c
 
#define PRP_DEST_CH1_LINE_STRIDE   0x30
 
#define PRP_SRC_PIXEL_FORMAT_CNTL   0x34
 
#define PRP_CH1_PIXEL_FORMAT_CNTL   0x38
 
#define PRP_CH1_OUT_IMAGE_SIZE   0x3c
 
#define PRP_CH2_OUT_IMAGE_SIZE   0x40
 
#define PRP_SRC_LINE_STRIDE   0x44
 
#define PRP_CSC_COEF_012   0x48
 
#define PRP_CSC_COEF_345   0x4c
 
#define PRP_CSC_COEF_678   0x50
 
#define PRP_CH1_RZ_HORI_COEF1   0x54
 
#define PRP_CH1_RZ_HORI_COEF2   0x58
 
#define PRP_CH1_RZ_HORI_VALID   0x5c
 
#define PRP_CH1_RZ_VERT_COEF1   0x60
 
#define PRP_CH1_RZ_VERT_COEF2   0x64
 
#define PRP_CH1_RZ_VERT_VALID   0x68
 
#define PRP_CH2_RZ_HORI_COEF1   0x6c
 
#define PRP_CH2_RZ_HORI_COEF2   0x70
 
#define PRP_CH2_RZ_HORI_VALID   0x74
 
#define PRP_CH2_RZ_VERT_COEF1   0x78
 
#define PRP_CH2_RZ_VERT_COEF2   0x7c
 
#define PRP_CH2_RZ_VERT_VALID   0x80
 
#define PRP_CNTL_CH1EN   (1 << 0)
 
#define PRP_CNTL_CH2EN   (1 << 1)
 
#define PRP_CNTL_CSIEN   (1 << 2)
 
#define PRP_CNTL_DATA_IN_YUV420   (0 << 3)
 
#define PRP_CNTL_DATA_IN_YUV422   (1 << 3)
 
#define PRP_CNTL_DATA_IN_RGB16   (2 << 3)
 
#define PRP_CNTL_DATA_IN_RGB32   (3 << 3)
 
#define PRP_CNTL_CH1_OUT_RGB8   (0 << 5)
 
#define PRP_CNTL_CH1_OUT_RGB16   (1 << 5)
 
#define PRP_CNTL_CH1_OUT_RGB32   (2 << 5)
 
#define PRP_CNTL_CH1_OUT_YUV422   (3 << 5)
 
#define PRP_CNTL_CH2_OUT_YUV420   (0 << 7)
 
#define PRP_CNTL_CH2_OUT_YUV422   (1 << 7)
 
#define PRP_CNTL_CH2_OUT_YUV444   (2 << 7)
 
#define PRP_CNTL_CH1_LEN   (1 << 9)
 
#define PRP_CNTL_CH2_LEN   (1 << 10)
 
#define PRP_CNTL_SKIP_FRAME   (1 << 11)
 
#define PRP_CNTL_SWRST   (1 << 12)
 
#define PRP_CNTL_CLKEN   (1 << 13)
 
#define PRP_CNTL_WEN   (1 << 14)
 
#define PRP_CNTL_CH1BYP   (1 << 15)
 
#define PRP_CNTL_IN_TSKIP(x)   ((x) << 16)
 
#define PRP_CNTL_CH1_TSKIP(x)   ((x) << 19)
 
#define PRP_CNTL_CH2_TSKIP(x)   ((x) << 22)
 
#define PRP_CNTL_INPUT_FIFO_LEVEL(x)   ((x) << 25)
 
#define PRP_CNTL_RZ_FIFO_LEVEL(x)   ((x) << 27)
 
#define PRP_CNTL_CH2B1EN   (1 << 29)
 
#define PRP_CNTL_CH2B2EN   (1 << 30)
 
#define PRP_CNTL_CH2FEN   (1 << 31)
 
#define PRP_INTR_RDERR   (1 << 0)
 
#define PRP_INTR_CH1WERR   (1 << 1)
 
#define PRP_INTR_CH2WERR   (1 << 2)
 
#define PRP_INTR_CH1FC   (1 << 3)
 
#define PRP_INTR_CH2FC   (1 << 5)
 
#define PRP_INTR_LBOVF   (1 << 7)
 
#define PRP_INTR_CH2OVF   (1 << 8)
 
#define PRP_RZ_VALID_TBL_LEN(x)   ((x) << 24)
 
#define PRP_RZ_VALID_BILINEAR   (1 << 31)
 
#define MAX_VIDEO_MEM   16
 
#define RESIZE_NUM_MIN   1
 
#define RESIZE_NUM_MAX   20
 
#define BC_COEF   3
 
#define SZ_COEF   (1 << BC_COEF)
 
#define RESIZE_DIR_H   0
 
#define RESIZE_DIR_V   1
 
#define RESIZE_ALGO_BILINEAR   0
 
#define RESIZE_ALGO_AVERAGING   1
 
#define MX2_BUS_FLAGS
 

Enumerations

enum  mx2_buffer_state { MX2_STATE_QUEUED, MX2_STATE_ACTIVE, MX2_STATE_DONE }
 

Functions

 module_init (mx2_camera_init)
 
 module_exit (mx2_camera_exit)
 
 MODULE_DESCRIPTION ("i.MX27/i.MX25 SoC Camera Host driver")
 
 MODULE_AUTHOR ("Sascha Hauer <[email protected]>")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_VERSION (MX2_CAM_VERSION)
 

Macro Definition Documentation

#define BC_COEF   3

Definition at line 218 of file mx2_camera.c.

#define CSICR1   0x00

Definition at line 122 of file mx2_camera.c.

#define CSICR1_CCIR_EN   (1 << 10)

Definition at line 76 of file mx2_camera.c.

#define CSICR1_CCIR_MODE   (1 << 27)

Definition at line 62 of file mx2_camera.c.

#define CSICR1_CLR_RXFIFO   (1 << 5)

Definition at line 81 of file mx2_camera.c.

#define CSICR1_CLR_STATFIFO   (1 << 6)

Definition at line 80 of file mx2_camera.c.

#define CSICR1_COF_INTEN   (1 << 26)

Definition at line 63 of file mx2_camera.c.

#define CSICR1_EOF_INTEN   (1 << 29)

Definition at line 60 of file mx2_camera.c.

#define CSICR1_EXT_VSYNC   (1 << 30)

Definition at line 59 of file mx2_camera.c.

#define CSICR1_FB1_DMA_INTEN   (1 << 19) /* MX25 */

Definition at line 70 of file mx2_camera.c.

#define CSICR1_FB2_DMA_INTEN   (1 << 20) /* MX25 */

Definition at line 69 of file mx2_camera.c.

#define CSICR1_FCC   (1 << 8)

Definition at line 78 of file mx2_camera.c.

#define CSICR1_FMT_MASK   (CSICR1_PACK_DIR | CSICR1_SWAP16_EN)

Definition at line 86 of file mx2_camera.c.

#define CSICR1_GCLK_MODE   (1 << 4)

Definition at line 82 of file mx2_camera.c.

#define CSICR1_HSYNC_POL   (1 << 11)

Definition at line 75 of file mx2_camera.c.

#define CSICR1_INV_DATA   (1 << 3)

Definition at line 83 of file mx2_camera.c.

#define CSICR1_INV_PCLK   (1 << 2)

Definition at line 84 of file mx2_camera.c.

#define CSICR1_MCLKDIV (   d)    (((d) & 0xF) << 12)

Definition at line 74 of file mx2_camera.c.

#define CSICR1_MCLKEN   (1 << 9)

Definition at line 77 of file mx2_camera.c.

#define CSICR1_PACK_DIR   (1 << 7)

Definition at line 79 of file mx2_camera.c.

#define CSICR1_PRP_IF_EN   (1 << 28)

Definition at line 61 of file mx2_camera.c.

#define CSICR1_REDGE   (1 << 1)

Definition at line 85 of file mx2_camera.c.

#define CSICR1_RESET_VAL   0x40000800

Definition at line 53 of file mx2_camera.c.

#define CSICR1_RF_OR_INTEN   (1 << 24)

Definition at line 65 of file mx2_camera.c.

#define CSICR1_RXFF_INTEN   (1 << 18)

Definition at line 71 of file mx2_camera.c.

#define CSICR1_RXFF_LEVEL (   l)    (((l) & 3) << 19) /* MX27 */

Definition at line 68 of file mx2_camera.c.

#define CSICR1_SF_OR_INTEN   (1 << 25)

Definition at line 64 of file mx2_camera.c.

#define CSICR1_SOF_INTEN   (1 << 16)

Definition at line 73 of file mx2_camera.c.

#define CSICR1_SOF_POL   (1 << 17)

Definition at line 72 of file mx2_camera.c.

#define CSICR1_STATFF_INTEN   (1 << 21)

Definition at line 67 of file mx2_camera.c.

#define CSICR1_STATFF_LEVEL   (3 << 22)

Definition at line 66 of file mx2_camera.c.

#define CSICR1_SWAP16_EN   (1 << 31)

Definition at line 58 of file mx2_camera.c.

#define CSICR2   0x04

Definition at line 123 of file mx2_camera.c.

#define CSICR2_RESET_VAL   0x0

Definition at line 54 of file mx2_camera.c.

#define CSICR3   (cpu_is_mx27() ? 0x1C : 0x08)

Definition at line 128 of file mx2_camera.c.

#define CSICR3_CSI_SUP   (1 << 3)

Definition at line 100 of file mx2_camera.c.

#define CSICR3_DMA_REFLASH_RFF   (1 << 14)

Definition at line 95 of file mx2_camera.c.

#define CSICR3_DMA_REFLASH_SFF   (1 << 13)

Definition at line 96 of file mx2_camera.c.

#define CSICR3_DMA_REQ_EN_RFF   (1 << 12)

Definition at line 97 of file mx2_camera.c.

#define CSICR3_DMA_REQ_EN_SFF   (1 << 11)

Definition at line 98 of file mx2_camera.c.

#define CSICR3_ECC_AUTO_EN   (1 << 0)

Definition at line 103 of file mx2_camera.c.

#define CSICR3_ECC_INT_EN   (1 << 1)

Definition at line 102 of file mx2_camera.c.

#define CSICR3_FRMCNT   (0xFFFF << 16)

Definition at line 93 of file mx2_camera.c.

#define CSICR3_FRMCNT_RST   (1 << 15)

Definition at line 94 of file mx2_camera.c.

#define CSICR3_RESET_VAL   0x0

Definition at line 55 of file mx2_camera.c.

#define CSICR3_RXFF_LEVEL (   l)    (((l) & 7) << 4) /* MX25 */

Definition at line 99 of file mx2_camera.c.

#define CSICR3_ZERO_PACK_EN   (1 << 2)

Definition at line 101 of file mx2_camera.c.

#define CSIDMASA_FB1   0x28

Definition at line 131 of file mx2_camera.c.

#define CSIDMASA_FB2   0x2c

Definition at line 132 of file mx2_camera.c.

#define CSIDMASA_STATFIFO   0x20

Definition at line 129 of file mx2_camera.c.

#define CSIDMATA_STATFIFO   0x24

Definition at line 130 of file mx2_camera.c.

#define CSIFBUF_PARA   0x30

Definition at line 133 of file mx2_camera.c.

#define CSIIMAG_PARA   0x34

Definition at line 134 of file mx2_camera.c.

#define CSIRFIFO   0x10

Definition at line 126 of file mx2_camera.c.

#define CSIRXCNT   0x14

Definition at line 127 of file mx2_camera.c.

#define CSISR   (cpu_is_mx27() ? 0x08 : 0x18)

Definition at line 124 of file mx2_camera.c.

#define CSISR_COF_INT   (1 << 13)

Definition at line 118 of file mx2_camera.c.

#define CSISR_DMA_TSF_FB1_INT   (1 << 19) /* MX25 */

Definition at line 112 of file mx2_camera.c.

#define CSISR_DMA_TSF_FB2_INT   (1 << 20) /* MX25 */

Definition at line 111 of file mx2_camera.c.

#define CSISR_DRDY   (1 << 0)

Definition at line 120 of file mx2_camera.c.

#define CSISR_ECC_INT   (1 << 1)

Definition at line 119 of file mx2_camera.c.

#define CSISR_EOF_INT   (1 << 17)

Definition at line 114 of file mx2_camera.c.

#define CSISR_F1_INT   (1 << 14)

Definition at line 117 of file mx2_camera.c.

#define CSISR_F2_INT   (1 << 15)

Definition at line 116 of file mx2_camera.c.

#define CSISR_RFF_OR_INT   (1 << 24)

Definition at line 109 of file mx2_camera.c.

#define CSISR_RXFF_INT   (1 << 18)

Definition at line 113 of file mx2_camera.c.

#define CSISR_SFF_OR_INT   (1 << 25)

Definition at line 108 of file mx2_camera.c.

#define CSISR_SOF_INT   (1 << 16)

Definition at line 115 of file mx2_camera.c.

#define CSISR_STATFF_INT   (1 << 21)

Definition at line 110 of file mx2_camera.c.

#define CSISTATFIFO   0x0c

Definition at line 125 of file mx2_camera.c.

#define MAX_VIDEO_MEM   16

Definition at line 214 of file mx2_camera.c.

#define MX2_BUS_FLAGS
Value:
V4L2_MBUS_VSYNC_ACTIVE_HIGH | \
V4L2_MBUS_VSYNC_ACTIVE_LOW | \
V4L2_MBUS_HSYNC_ACTIVE_HIGH | \
V4L2_MBUS_HSYNC_ACTIVE_LOW | \
V4L2_MBUS_PCLK_SAMPLE_RISING | \
V4L2_MBUS_PCLK_SAMPLE_FALLING | \
V4L2_MBUS_DATA_ACTIVE_HIGH | \
V4L2_MBUS_DATA_ACTIVE_LOW)

Definition at line 986 of file mx2_camera.c.

#define MX2_CAM_DRIVER_DESCRIPTION   "i.MX2x_Camera"

Definition at line 50 of file mx2_camera.c.

#define MX2_CAM_DRV_NAME   "mx2-camera"

Definition at line 48 of file mx2_camera.c.

#define MX2_CAM_VERSION   "0.0.6"

Definition at line 49 of file mx2_camera.c.

#define PRP_CH1_OUT_IMAGE_SIZE   0x3c

Definition at line 152 of file mx2_camera.c.

#define PRP_CH1_PIXEL_FORMAT_CNTL   0x38

Definition at line 151 of file mx2_camera.c.

#define PRP_CH1_RZ_HORI_COEF1   0x54

Definition at line 158 of file mx2_camera.c.

#define PRP_CH1_RZ_HORI_COEF2   0x58

Definition at line 159 of file mx2_camera.c.

#define PRP_CH1_RZ_HORI_VALID   0x5c

Definition at line 160 of file mx2_camera.c.

#define PRP_CH1_RZ_VERT_COEF1   0x60

Definition at line 161 of file mx2_camera.c.

#define PRP_CH1_RZ_VERT_COEF2   0x64

Definition at line 162 of file mx2_camera.c.

#define PRP_CH1_RZ_VERT_VALID   0x68

Definition at line 163 of file mx2_camera.c.

#define PRP_CH2_OUT_IMAGE_SIZE   0x40

Definition at line 153 of file mx2_camera.c.

#define PRP_CH2_RZ_HORI_COEF1   0x6c

Definition at line 164 of file mx2_camera.c.

#define PRP_CH2_RZ_HORI_COEF2   0x70

Definition at line 165 of file mx2_camera.c.

#define PRP_CH2_RZ_HORI_VALID   0x74

Definition at line 166 of file mx2_camera.c.

#define PRP_CH2_RZ_VERT_COEF1   0x78

Definition at line 167 of file mx2_camera.c.

#define PRP_CH2_RZ_VERT_COEF2   0x7c

Definition at line 168 of file mx2_camera.c.

#define PRP_CH2_RZ_VERT_VALID   0x80

Definition at line 169 of file mx2_camera.c.

#define PRP_CNTL   0x00

Definition at line 137 of file mx2_camera.c.

#define PRP_CNTL_CH1_LEN   (1 << 9)

Definition at line 185 of file mx2_camera.c.

#define PRP_CNTL_CH1_OUT_RGB16   (1 << 5)

Definition at line 179 of file mx2_camera.c.

#define PRP_CNTL_CH1_OUT_RGB32   (2 << 5)

Definition at line 180 of file mx2_camera.c.

#define PRP_CNTL_CH1_OUT_RGB8   (0 << 5)

Definition at line 178 of file mx2_camera.c.

#define PRP_CNTL_CH1_OUT_YUV422   (3 << 5)

Definition at line 181 of file mx2_camera.c.

#define PRP_CNTL_CH1_TSKIP (   x)    ((x) << 19)

Definition at line 193 of file mx2_camera.c.

#define PRP_CNTL_CH1BYP   (1 << 15)

Definition at line 191 of file mx2_camera.c.

#define PRP_CNTL_CH1EN   (1 << 0)

Definition at line 171 of file mx2_camera.c.

#define PRP_CNTL_CH2_LEN   (1 << 10)

Definition at line 186 of file mx2_camera.c.

#define PRP_CNTL_CH2_OUT_YUV420   (0 << 7)

Definition at line 182 of file mx2_camera.c.

#define PRP_CNTL_CH2_OUT_YUV422   (1 << 7)

Definition at line 183 of file mx2_camera.c.

#define PRP_CNTL_CH2_OUT_YUV444   (2 << 7)

Definition at line 184 of file mx2_camera.c.

#define PRP_CNTL_CH2_TSKIP (   x)    ((x) << 22)

Definition at line 194 of file mx2_camera.c.

#define PRP_CNTL_CH2B1EN   (1 << 29)

Definition at line 197 of file mx2_camera.c.

#define PRP_CNTL_CH2B2EN   (1 << 30)

Definition at line 198 of file mx2_camera.c.

#define PRP_CNTL_CH2EN   (1 << 1)

Definition at line 172 of file mx2_camera.c.

#define PRP_CNTL_CH2FEN   (1 << 31)

Definition at line 199 of file mx2_camera.c.

#define PRP_CNTL_CLKEN   (1 << 13)

Definition at line 189 of file mx2_camera.c.

#define PRP_CNTL_CSIEN   (1 << 2)

Definition at line 173 of file mx2_camera.c.

#define PRP_CNTL_DATA_IN_RGB16   (2 << 3)

Definition at line 176 of file mx2_camera.c.

#define PRP_CNTL_DATA_IN_RGB32   (3 << 3)

Definition at line 177 of file mx2_camera.c.

#define PRP_CNTL_DATA_IN_YUV420   (0 << 3)

Definition at line 174 of file mx2_camera.c.

#define PRP_CNTL_DATA_IN_YUV422   (1 << 3)

Definition at line 175 of file mx2_camera.c.

#define PRP_CNTL_IN_TSKIP (   x)    ((x) << 16)

Definition at line 192 of file mx2_camera.c.

#define PRP_CNTL_INPUT_FIFO_LEVEL (   x)    ((x) << 25)

Definition at line 195 of file mx2_camera.c.

#define PRP_CNTL_RZ_FIFO_LEVEL (   x)    ((x) << 27)

Definition at line 196 of file mx2_camera.c.

#define PRP_CNTL_SKIP_FRAME   (1 << 11)

Definition at line 187 of file mx2_camera.c.

#define PRP_CNTL_SWRST   (1 << 12)

Definition at line 188 of file mx2_camera.c.

#define PRP_CNTL_WEN   (1 << 14)

Definition at line 190 of file mx2_camera.c.

#define PRP_CSC_COEF_012   0x48

Definition at line 155 of file mx2_camera.c.

#define PRP_CSC_COEF_345   0x4c

Definition at line 156 of file mx2_camera.c.

#define PRP_CSC_COEF_678   0x50

Definition at line 157 of file mx2_camera.c.

#define PRP_DEST_CB_PTR   0x24

Definition at line 146 of file mx2_camera.c.

#define PRP_DEST_CH1_LINE_STRIDE   0x30

Definition at line 149 of file mx2_camera.c.

#define PRP_DEST_CR_PTR   0x28

Definition at line 147 of file mx2_camera.c.

#define PRP_DEST_RGB1_PTR   0x18

Definition at line 143 of file mx2_camera.c.

#define PRP_DEST_RGB2_PTR   0x1c

Definition at line 144 of file mx2_camera.c.

#define PRP_DEST_Y_PTR   0x20

Definition at line 145 of file mx2_camera.c.

#define PRP_INTR_CH1FC   (1 << 3)

Definition at line 205 of file mx2_camera.c.

#define PRP_INTR_CH1WERR   (1 << 1)

Definition at line 203 of file mx2_camera.c.

#define PRP_INTR_CH2FC   (1 << 5)

Definition at line 206 of file mx2_camera.c.

#define PRP_INTR_CH2OVF   (1 << 8)

Definition at line 208 of file mx2_camera.c.

#define PRP_INTR_CH2WERR   (1 << 2)

Definition at line 204 of file mx2_camera.c.

#define PRP_INTR_CNTL   0x04

Definition at line 138 of file mx2_camera.c.

#define PRP_INTR_LBOVF   (1 << 7)

Definition at line 207 of file mx2_camera.c.

#define PRP_INTR_RDERR   (1 << 0)

Definition at line 202 of file mx2_camera.c.

#define PRP_INTRSTATUS   0x08

Definition at line 139 of file mx2_camera.c.

#define PRP_RZ_VALID_BILINEAR   (1 << 31)

Definition at line 212 of file mx2_camera.c.

#define PRP_RZ_VALID_TBL_LEN (   x)    ((x) << 24)

Definition at line 211 of file mx2_camera.c.

#define PRP_SOURCE_CB_PTR   0x10

Definition at line 141 of file mx2_camera.c.

#define PRP_SOURCE_CR_PTR   0x14

Definition at line 142 of file mx2_camera.c.

#define PRP_SOURCE_Y_PTR   0x0c

Definition at line 140 of file mx2_camera.c.

#define PRP_SRC_FRAME_SIZE   0x2c

Definition at line 148 of file mx2_camera.c.

#define PRP_SRC_LINE_STRIDE   0x44

Definition at line 154 of file mx2_camera.c.

#define PRP_SRC_PIXEL_FORMAT_CNTL   0x34

Definition at line 150 of file mx2_camera.c.

#define RESIZE_ALGO_AVERAGING   1

Definition at line 225 of file mx2_camera.c.

#define RESIZE_ALGO_BILINEAR   0

Definition at line 224 of file mx2_camera.c.

#define RESIZE_DIR_H   0

Definition at line 221 of file mx2_camera.c.

#define RESIZE_DIR_V   1

Definition at line 222 of file mx2_camera.c.

#define RESIZE_NUM_MAX   20

Definition at line 217 of file mx2_camera.c.

#define RESIZE_NUM_MIN   1

Definition at line 216 of file mx2_camera.c.

#define SHIFT_FRMCNT   16

Definition at line 105 of file mx2_camera.c.

#define SHIFT_MCLKDIV   12

Definition at line 90 of file mx2_camera.c.

#define SHIFT_RXFF_LEVEL   19

Definition at line 89 of file mx2_camera.c.

#define SHIFT_STATFF_LEVEL   22

Definition at line 88 of file mx2_camera.c.

#define SZ_COEF   (1 << BC_COEF)

Definition at line 219 of file mx2_camera.c.

Enumeration Type Documentation

Enumerator:
MX2_STATE_QUEUED 
MX2_STATE_ACTIVE 
MX2_STATE_DONE 

Definition at line 251 of file mx2_camera.c.

Function Documentation

MODULE_AUTHOR ( "Sascha Hauer <[email protected]>"  )
MODULE_DESCRIPTION ( "i.MX27/i.MX25 SoC Camera Host driver )
module_exit ( mx2_camera_exit  )
module_init ( mx2_camera_init  )
MODULE_LICENSE ( "GPL"  )
MODULE_VERSION ( MX2_CAM_VERSION  )