Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
sh_mobile_ceu_camera.c File Reference
#include <linux/init.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/completion.h>
#include <linux/delay.h>
#include <linux/dma-mapping.h>
#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/moduleparam.h>
#include <linux/time.h>
#include <linux/slab.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/videodev2.h>
#include <linux/pm_runtime.h>
#include <linux/sched.h>
#include <media/v4l2-common.h>
#include <media/v4l2-dev.h>
#include <media/soc_camera.h>
#include <media/sh_mobile_ceu.h>
#include <media/sh_mobile_csi2.h>
#include <media/videobuf2-dma-contig.h>
#include <media/v4l2-mediabus.h>
#include <media/soc_mediabus.h>

Go to the source code of this file.

Data Structures

struct  sh_mobile_ceu_buffer
 
struct  sh_mobile_ceu_dev
 
struct  sh_mobile_ceu_cam
 
struct  bus_wait
 

Macros

#define CAPSR   0x00 /* Capture start register */
 
#define CAPCR   0x04 /* Capture control register */
 
#define CAMCR   0x08 /* Capture interface control register */
 
#define CMCYR   0x0c /* Capture interface cycle register */
 
#define CAMOR   0x10 /* Capture interface offset register */
 
#define CAPWR   0x14 /* Capture interface width register */
 
#define CAIFR   0x18 /* Capture interface input format register */
 
#define CSTCR   0x20 /* Camera strobe control register (<= sh7722) */
 
#define CSECR   0x24 /* Camera strobe emission count register (<= sh7722) */
 
#define CRCNTR   0x28 /* CEU register control register */
 
#define CRCMPR   0x2c /* CEU register forcible control register */
 
#define CFLCR   0x30 /* Capture filter control register */
 
#define CFSZR   0x34 /* Capture filter size clip register */
 
#define CDWDR   0x38 /* Capture destination width register */
 
#define CDAYR   0x3c /* Capture data address Y register */
 
#define CDACR   0x40 /* Capture data address C register */
 
#define CDBYR   0x44 /* Capture data bottom-field address Y register */
 
#define CDBCR   0x48 /* Capture data bottom-field address C register */
 
#define CBDSR   0x4c /* Capture bundle destination size register */
 
#define CFWCR   0x5c /* Firewall operation control register */
 
#define CLFCR   0x60 /* Capture low-pass filter control register */
 
#define CDOCR   0x64 /* Capture data output control register */
 
#define CDDCR   0x68 /* Capture data complexity level register */
 
#define CDDAR   0x6c /* Capture data complexity level address register */
 
#define CEIER   0x70 /* Capture event interrupt enable register */
 
#define CETCR   0x74 /* Capture event flag clear register */
 
#define CSTSR   0x7c /* Capture status register */
 
#define CSRTR   0x80 /* Capture software reset register */
 
#define CDSSR   0x84 /* Capture data size register */
 
#define CDAYR2   0x90 /* Capture data address Y register 2 */
 
#define CDACR2   0x94 /* Capture data address C register 2 */
 
#define CDBYR2   0x98 /* Capture data bottom-field address Y register 2 */
 
#define CDBCR2   0x9c /* Capture data bottom-field address C register 2 */
 
#define dev_geo   dev_dbg
 
#define CEU_CETCR_MAGIC   0x0317f313 /* acknowledge magical interrupt sources */
 
#define CEU_CETCR_IGRW   (1 << 4) /* prohibited register access interrupt bit */
 
#define CEU_CEIER_CPEIE   (1 << 0) /* one-frame capture end interrupt */
 
#define CEU_CEIER_VBP   (1 << 20) /* vbp error */
 
#define CEU_CAPCR_CTNCP   (1 << 16) /* continuous capture mode (if set) */
 
#define CEU_CEIER_MASK   (CEU_CEIER_CPEIE | CEU_CEIER_VBP)
 
#define CEU_BUS_FLAGS
 
#define CEU_CHDW_MAX   8188U /* Maximum line stride */
 

Functions

 module_init (sh_mobile_ceu_init)
 
 module_exit (sh_mobile_ceu_exit)
 
 MODULE_DESCRIPTION ("SuperH Mobile CEU driver")
 
 MODULE_AUTHOR ("Magnus Damm")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_VERSION ("0.0.6")
 
 MODULE_ALIAS ("platform:sh_mobile_ceu")
 

Macro Definition Documentation

#define CAIFR   0x18 /* Capture interface input format register */

Definition at line 54 of file sh_mobile_ceu_camera.c.

#define CAMCR   0x08 /* Capture interface control register */

Definition at line 50 of file sh_mobile_ceu_camera.c.

#define CAMOR   0x10 /* Capture interface offset register */

Definition at line 52 of file sh_mobile_ceu_camera.c.

#define CAPCR   0x04 /* Capture control register */

Definition at line 49 of file sh_mobile_ceu_camera.c.

#define CAPSR   0x00 /* Capture start register */

Definition at line 48 of file sh_mobile_ceu_camera.c.

#define CAPWR   0x14 /* Capture interface width register */

Definition at line 53 of file sh_mobile_ceu_camera.c.

#define CBDSR   0x4c /* Capture bundle destination size register */

Definition at line 66 of file sh_mobile_ceu_camera.c.

#define CDACR   0x40 /* Capture data address C register */

Definition at line 63 of file sh_mobile_ceu_camera.c.

#define CDACR2   0x94 /* Capture data address C register 2 */

Definition at line 78 of file sh_mobile_ceu_camera.c.

#define CDAYR   0x3c /* Capture data address Y register */

Definition at line 62 of file sh_mobile_ceu_camera.c.

#define CDAYR2   0x90 /* Capture data address Y register 2 */

Definition at line 77 of file sh_mobile_ceu_camera.c.

#define CDBCR   0x48 /* Capture data bottom-field address C register */

Definition at line 65 of file sh_mobile_ceu_camera.c.

#define CDBCR2   0x9c /* Capture data bottom-field address C register 2 */

Definition at line 80 of file sh_mobile_ceu_camera.c.

#define CDBYR   0x44 /* Capture data bottom-field address Y register */

Definition at line 64 of file sh_mobile_ceu_camera.c.

#define CDBYR2   0x98 /* Capture data bottom-field address Y register 2 */

Definition at line 79 of file sh_mobile_ceu_camera.c.

#define CDDAR   0x6c /* Capture data complexity level address register */

Definition at line 71 of file sh_mobile_ceu_camera.c.

#define CDDCR   0x68 /* Capture data complexity level register */

Definition at line 70 of file sh_mobile_ceu_camera.c.

#define CDOCR   0x64 /* Capture data output control register */

Definition at line 69 of file sh_mobile_ceu_camera.c.

#define CDSSR   0x84 /* Capture data size register */

Definition at line 76 of file sh_mobile_ceu_camera.c.

#define CDWDR   0x38 /* Capture destination width register */

Definition at line 61 of file sh_mobile_ceu_camera.c.

#define CEIER   0x70 /* Capture event interrupt enable register */

Definition at line 72 of file sh_mobile_ceu_camera.c.

#define CETCR   0x74 /* Capture event flag clear register */

Definition at line 73 of file sh_mobile_ceu_camera.c.

#define CEU_BUS_FLAGS
Value:
V4L2_MBUS_PCLK_SAMPLE_RISING | \
V4L2_MBUS_HSYNC_ACTIVE_HIGH | \
V4L2_MBUS_HSYNC_ACTIVE_LOW | \
V4L2_MBUS_VSYNC_ACTIVE_HIGH | \
V4L2_MBUS_VSYNC_ACTIVE_LOW | \
V4L2_MBUS_DATA_ACTIVE_HIGH)

Definition at line 773 of file sh_mobile_ceu_camera.c.

#define CEU_CAPCR_CTNCP   (1 << 16) /* continuous capture mode (if set) */

Definition at line 269 of file sh_mobile_ceu_camera.c.

#define CEU_CEIER_CPEIE   (1 << 0) /* one-frame capture end interrupt */

Definition at line 267 of file sh_mobile_ceu_camera.c.

#define CEU_CEIER_MASK   (CEU_CEIER_CPEIE | CEU_CEIER_VBP)

Definition at line 270 of file sh_mobile_ceu_camera.c.

#define CEU_CEIER_VBP   (1 << 20) /* vbp error */

Definition at line 268 of file sh_mobile_ceu_camera.c.

#define CEU_CETCR_IGRW   (1 << 4) /* prohibited register access interrupt bit */

Definition at line 266 of file sh_mobile_ceu_camera.c.

#define CEU_CETCR_MAGIC   0x0317f313 /* acknowledge magical interrupt sources */

Definition at line 265 of file sh_mobile_ceu_camera.c.

#define CEU_CHDW_MAX   8188U /* Maximum line stride */

Definition at line 1844 of file sh_mobile_ceu_camera.c.

#define CFLCR   0x30 /* Capture filter control register */

Definition at line 59 of file sh_mobile_ceu_camera.c.

#define CFSZR   0x34 /* Capture filter size clip register */

Definition at line 60 of file sh_mobile_ceu_camera.c.

#define CFWCR   0x5c /* Firewall operation control register */

Definition at line 67 of file sh_mobile_ceu_camera.c.

#define CLFCR   0x60 /* Capture low-pass filter control register */

Definition at line 68 of file sh_mobile_ceu_camera.c.

#define CMCYR   0x0c /* Capture interface cycle register */

Definition at line 51 of file sh_mobile_ceu_camera.c.

#define CRCMPR   0x2c /* CEU register forcible control register */

Definition at line 58 of file sh_mobile_ceu_camera.c.

#define CRCNTR   0x28 /* CEU register control register */

Definition at line 57 of file sh_mobile_ceu_camera.c.

#define CSECR   0x24 /* Camera strobe emission count register (<= sh7722) */

Definition at line 56 of file sh_mobile_ceu_camera.c.

#define CSRTR   0x80 /* Capture software reset register */

Definition at line 75 of file sh_mobile_ceu_camera.c.

#define CSTCR   0x20 /* Camera strobe control register (<= sh7722) */

Definition at line 55 of file sh_mobile_ceu_camera.c.

#define CSTSR   0x7c /* Capture status register */

Definition at line 74 of file sh_mobile_ceu_camera.c.

#define dev_geo   dev_dbg

Definition at line 86 of file sh_mobile_ceu_camera.c.

Function Documentation

MODULE_ALIAS ( "platform:sh_mobile_ceu"  )
MODULE_AUTHOR ( "Magnus Damm"  )
MODULE_DESCRIPTION ( "SuperH Mobile CEU driver )
module_exit ( sh_mobile_ceu_exit  )
module_init ( sh_mobile_ceu_init  )
MODULE_LICENSE ( "GPL"  )
MODULE_VERSION ( "0.0.6"  )