Linux Kernel
3.7.1
|
#include <linux/clk.h>
#include <linux/crc32.h>
#include <linux/ctype.h>
#include <linux/delay.h>
#include <linux/firmware.h>
#include <linux/gpio.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/regulator/consumer.h>
#include <linux/slab.h>
#include <asm/unaligned.h>
#include <media/media-entity.h>
#include <media/s5k4ecgx.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-mediabus.h>
#include <media/v4l2-subdev.h>
Go to the source code of this file.
Data Structures | |
struct | s5k4ecgx_frmsize |
struct | regval_list |
struct | s5k4ecgx_pixfmt |
struct | s5k4ecgx |
Macros | |
#define | S5K4ECGX_DRIVER_NAME "s5k4ecgx" |
#define | S5K4ECGX_FIRMWARE "s5k4ecgx.bin" |
#define | REG_FW_REVISION 0x700001a6 |
#define | REG_FW_VERSION 0x700001a4 |
#define | S5K4ECGX_REVISION_1_1 0x11 |
#define | S5K4ECGX_FW_VERSION 0x4ec0 |
#define | REG_USER_BRIGHTNESS 0x7000022c |
#define | REG_USER_CONTRAST 0x7000022e |
#define | REG_USER_SATURATION 0x70000230 |
#define | REG_G_ENABLE_PREV 0x7000023e |
#define | REG_G_ENABLE_PREV_CHG 0x70000240 |
#define | REG_G_NEW_CFG_SYNC 0x7000024a |
#define | REG_G_PREV_IN_WIDTH 0x70000250 |
#define | REG_G_PREV_IN_HEIGHT 0x70000252 |
#define | REG_G_PREV_IN_XOFFS 0x70000254 |
#define | REG_G_PREV_IN_YOFFS 0x70000256 |
#define | REG_G_CAP_IN_WIDTH 0x70000258 |
#define | REG_G_CAP_IN_HEIGHT 0x7000025a |
#define | REG_G_CAP_IN_XOFFS 0x7000025c |
#define | REG_G_CAP_IN_YOFFS 0x7000025e |
#define | REG_G_INPUTS_CHANGE_REQ 0x70000262 |
#define | REG_G_ACTIVE_PREV_CFG 0x70000266 |
#define | REG_G_PREV_CFG_CHG 0x70000268 |
#define | REG_G_PREV_OPEN_AFTER_CH 0x7000026a |
#define | PREG(n, x) ((n) * 0x30 + (x)) |
#define | REG_P_OUT_WIDTH(n) PREG(n, 0x700002a6) |
#define | REG_P_OUT_HEIGHT(n) PREG(n, 0x700002a8) |
#define | REG_P_FMT(n) PREG(n, 0x700002aa) |
#define | REG_P_PVI_MASK(n) PREG(n, 0x700002b4) |
#define | REG_P_FR_TIME_TYPE(n) PREG(n, 0x700002be) |
#define | FR_TIME_DYNAMIC 0 |
#define | FR_TIME_FIXED 1 |
#define | FR_TIME_FIXED_ACCURATE 2 |
#define | REG_P_FR_TIME_Q_TYPE(n) PREG(n, 0x700002c0) |
#define | FR_TIME_Q_DYNAMIC 0 |
#define | FR_TIME_Q_BEST_FRRATE 1 |
#define | FR_TIME_Q_BEST_QUALITY 2 |
#define | REG_P_MAX_FR_TIME(n) PREG(n, 0x700002c2) |
#define | REG_P_MIN_FR_TIME(n) PREG(n, 0x700002c4) |
#define | US_TO_FR_TIME(__t) ((__t) / 100) |
#define | REG_P_PREV_MIRROR(n) PREG(n, 0x700002d0) |
#define | REG_P_CAP_MIRROR(n) PREG(n, 0x700002d2) |
#define | REG_G_PREVZOOM_IN_WIDTH 0x70000494 |
#define | REG_G_PREVZOOM_IN_HEIGHT 0x70000496 |
#define | REG_G_PREVZOOM_IN_XOFFS 0x70000498 |
#define | REG_G_PREVZOOM_IN_YOFFS 0x7000049a |
#define | REG_G_CAPZOOM_IN_WIDTH 0x7000049c |
#define | REG_G_CAPZOOM_IN_HEIGHT 0x7000049e |
#define | REG_G_CAPZOOM_IN_XOFFS 0x700004a0 |
#define | REG_G_CAPZOOM_IN_YOFFS 0x700004a2 |
#define | REG_USER_SHARPNESS(n) (0x70000a28 + (n) * 0xb6) |
#define | SHARPNESS_DIV 8208 |
#define | TOK_TERM 0xffffffff |
#define | AHB_MSB_ADDR_PTR 0xfcfc |
#define | GEN_REG_OFFSH 0xd000 |
#define | REG_CMDWR_ADDRH 0x0028 |
#define | REG_CMDWR_ADDRL 0x002a |
#define | REG_CMDRD_ADDRH 0x002c |
#define | REG_CMDRD_ADDRL 0x002e |
#define | REG_CMDBUF0_ADDR 0x0f12 |
#define | S5K4ECGX_NUM_PREV ARRAY_SIZE(s5k4ecgx_prev_sizes) |
#define | S5K4ECGX_NUM_SUPPLIES ARRAY_SIZE(s5k4ecgx_supply_names) |
#define | FW_CRC_SIZE 4 |
#define | FW_RECORD_SIZE 6 |
Enumerations | |
enum | s5k4ecgx_gpio_id { STBY, RST, GPIO_NUM } |
Functions | |
module_param (debug, int, 0644) | |
MODULE_DEVICE_TABLE (i2c, s5k4ecgx_id) | |
module_i2c_driver (v4l2_i2c_driver) | |
MODULE_DESCRIPTION ("Samsung S5K4ECGX 5MP SOC camera") | |
MODULE_AUTHOR ("Sangwook Lee <[email protected]>") | |
MODULE_AUTHOR ("Seok-Young Jang <[email protected]>") | |
MODULE_LICENSE ("GPL") | |
MODULE_FIRMWARE (S5K4ECGX_FIRMWARE) | |
#define AHB_MSB_ADDR_PTR 0xfcfc |
Definition at line 112 of file s5k4ecgx.c.
#define FR_TIME_DYNAMIC 0 |
Definition at line 76 of file s5k4ecgx.c.
#define FR_TIME_FIXED 1 |
Definition at line 77 of file s5k4ecgx.c.
#define FR_TIME_FIXED_ACCURATE 2 |
Definition at line 78 of file s5k4ecgx.c.
#define FR_TIME_Q_BEST_FRRATE 1 |
Definition at line 81 of file s5k4ecgx.c.
#define FR_TIME_Q_BEST_QUALITY 2 |
Definition at line 82 of file s5k4ecgx.c.
#define FR_TIME_Q_DYNAMIC 0 |
Definition at line 80 of file s5k4ecgx.c.
#define FW_CRC_SIZE 4 |
Definition at line 318 of file s5k4ecgx.c.
#define FW_RECORD_SIZE 6 |
Definition at line 320 of file s5k4ecgx.c.
#define GEN_REG_OFFSH 0xd000 |
Definition at line 113 of file s5k4ecgx.c.
Definition at line 70 of file s5k4ecgx.c.
#define REG_CMDBUF0_ADDR 0x0f12 |
Definition at line 118 of file s5k4ecgx.c.
#define REG_CMDRD_ADDRH 0x002c |
Definition at line 116 of file s5k4ecgx.c.
#define REG_CMDRD_ADDRL 0x002e |
Definition at line 117 of file s5k4ecgx.c.
#define REG_CMDWR_ADDRH 0x0028 |
Definition at line 114 of file s5k4ecgx.c.
#define REG_CMDWR_ADDRL 0x002a |
Definition at line 115 of file s5k4ecgx.c.
#define REG_FW_REVISION 0x700001a6 |
Definition at line 43 of file s5k4ecgx.c.
#define REG_FW_VERSION 0x700001a4 |
Definition at line 44 of file s5k4ecgx.c.
#define REG_G_ACTIVE_PREV_CFG 0x70000266 |
Definition at line 65 of file s5k4ecgx.c.
#define REG_G_CAP_IN_HEIGHT 0x7000025a |
Definition at line 61 of file s5k4ecgx.c.
#define REG_G_CAP_IN_WIDTH 0x70000258 |
Definition at line 60 of file s5k4ecgx.c.
#define REG_G_CAP_IN_XOFFS 0x7000025c |
Definition at line 62 of file s5k4ecgx.c.
#define REG_G_CAP_IN_YOFFS 0x7000025e |
Definition at line 63 of file s5k4ecgx.c.
#define REG_G_CAPZOOM_IN_HEIGHT 0x7000049e |
Definition at line 96 of file s5k4ecgx.c.
#define REG_G_CAPZOOM_IN_WIDTH 0x7000049c |
Definition at line 95 of file s5k4ecgx.c.
#define REG_G_CAPZOOM_IN_XOFFS 0x700004a0 |
Definition at line 97 of file s5k4ecgx.c.
#define REG_G_CAPZOOM_IN_YOFFS 0x700004a2 |
Definition at line 98 of file s5k4ecgx.c.
#define REG_G_ENABLE_PREV 0x7000023e |
Definition at line 53 of file s5k4ecgx.c.
#define REG_G_ENABLE_PREV_CHG 0x70000240 |
Definition at line 54 of file s5k4ecgx.c.
#define REG_G_INPUTS_CHANGE_REQ 0x70000262 |
Definition at line 64 of file s5k4ecgx.c.
#define REG_G_NEW_CFG_SYNC 0x7000024a |
Definition at line 55 of file s5k4ecgx.c.
#define REG_G_PREV_CFG_CHG 0x70000268 |
Definition at line 66 of file s5k4ecgx.c.
#define REG_G_PREV_IN_HEIGHT 0x70000252 |
Definition at line 57 of file s5k4ecgx.c.
#define REG_G_PREV_IN_WIDTH 0x70000250 |
Definition at line 56 of file s5k4ecgx.c.
#define REG_G_PREV_IN_XOFFS 0x70000254 |
Definition at line 58 of file s5k4ecgx.c.
#define REG_G_PREV_IN_YOFFS 0x70000256 |
Definition at line 59 of file s5k4ecgx.c.
#define REG_G_PREV_OPEN_AFTER_CH 0x7000026a |
Definition at line 67 of file s5k4ecgx.c.
#define REG_G_PREVZOOM_IN_HEIGHT 0x70000496 |
Definition at line 92 of file s5k4ecgx.c.
#define REG_G_PREVZOOM_IN_WIDTH 0x70000494 |
Definition at line 91 of file s5k4ecgx.c.
#define REG_G_PREVZOOM_IN_XOFFS 0x70000498 |
Definition at line 93 of file s5k4ecgx.c.
#define REG_G_PREVZOOM_IN_YOFFS 0x7000049a |
Definition at line 94 of file s5k4ecgx.c.
Definition at line 89 of file s5k4ecgx.c.
Definition at line 73 of file s5k4ecgx.c.
Definition at line 79 of file s5k4ecgx.c.
Definition at line 75 of file s5k4ecgx.c.
Definition at line 85 of file s5k4ecgx.c.
Definition at line 86 of file s5k4ecgx.c.
Definition at line 72 of file s5k4ecgx.c.
Definition at line 71 of file s5k4ecgx.c.
Definition at line 88 of file s5k4ecgx.c.
Definition at line 74 of file s5k4ecgx.c.
#define REG_USER_BRIGHTNESS 0x7000022c |
Definition at line 49 of file s5k4ecgx.c.
#define REG_USER_CONTRAST 0x7000022e |
Definition at line 50 of file s5k4ecgx.c.
#define REG_USER_SATURATION 0x70000230 |
Definition at line 51 of file s5k4ecgx.c.
#define REG_USER_SHARPNESS | ( | n | ) | (0x70000a28 + (n) * 0xb6) |
Definition at line 101 of file s5k4ecgx.c.
#define S5K4ECGX_DRIVER_NAME "s5k4ecgx" |
Definition at line 39 of file s5k4ecgx.c.
#define S5K4ECGX_FIRMWARE "s5k4ecgx.bin" |
Definition at line 40 of file s5k4ecgx.c.
#define S5K4ECGX_FW_VERSION 0x4ec0 |
Definition at line 46 of file s5k4ecgx.c.
#define S5K4ECGX_NUM_PREV ARRAY_SIZE(s5k4ecgx_prev_sizes) |
Definition at line 151 of file s5k4ecgx.c.
#define S5K4ECGX_NUM_SUPPLIES ARRAY_SIZE(s5k4ecgx_supply_names) |
Definition at line 176 of file s5k4ecgx.c.
#define S5K4ECGX_REVISION_1_1 0x11 |
Definition at line 45 of file s5k4ecgx.c.
#define SHARPNESS_DIV 8208 |
Definition at line 104 of file s5k4ecgx.c.
#define TOK_TERM 0xffffffff |
Definition at line 105 of file s5k4ecgx.c.
#define US_TO_FR_TIME | ( | __t | ) | ((__t) / 100) |
Definition at line 87 of file s5k4ecgx.c.
enum s5k4ecgx_gpio_id |
Definition at line 178 of file s5k4ecgx.c.
MODULE_AUTHOR | ( | "Sangwook Lee <[email protected]>" | ) |
MODULE_AUTHOR | ( | "Seok-Young Jang <[email protected]>" | ) |
MODULE_DESCRIPTION | ( | "Samsung S5K4ECGX 5MP SOC camera" | ) |
MODULE_DEVICE_TABLE | ( | i2c | , |
s5k4ecgx_id | |||
) |
MODULE_FIRMWARE | ( | S5K4ECGX_FIRMWARE | ) |
module_i2c_driver | ( | v4l2_i2c_driver | ) |
MODULE_LICENSE | ( | "GPL" | ) |