summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorAnton Kondratenko <akondratenko@nvidia.com>2014-03-12 11:15:16 -0700
committerThomas Cherry <tcherry@nvidia.com>2014-04-03 18:28:08 -0700
commitf6df6fd7409b89d1a283aa6a142bf978d771ba2b (patch)
treea0ef6209c2195458faa1d65af3886db1cb324124 /Documentation
parent928a2479e7e2018897377e7b63a9a6912894da7a (diff)
Documentation:tegra: tegra camera ioctls
Provide initial documentation for tegra camera ioctls Bug 1466413 Change-Id: I5d460ec3e98f10ea03f0f0a452d20e93d5c19c7a Signed-off-by: Anton Kondratenko <akondratenko@nvidia.com> Reviewed-on: http://git-master/r/390380 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Thomas Cherry <tcherry@nvidia.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ioctl/ov5693.txt207
-rw-r--r--Documentation/ioctl/tegra_camera.txt69
-rw-r--r--Documentation/ioctl/tegra_vi.txt27
3 files changed, 303 insertions, 0 deletions
diff --git a/Documentation/ioctl/ov5693.txt b/Documentation/ioctl/ov5693.txt
new file mode 100644
index 000000000000..eab2166b33c8
--- /dev/null
+++ b/Documentation/ioctl/ov5693.txt
@@ -0,0 +1,207 @@
+OV5693_IOCTL_SET_MODE: set sensor mode
+usage:
+
+struct ov5693_mode {
+ int res_x;
+ int res_y;
+ int fps;
+ __u32 frame_length;
+ __u32 coarse_time;
+ __u32 coarse_time_short;
+ __u16 gain;
+ __u8 hdr_en;
+};
+
+ struct ov5693_mode mode;
+ ioctl(fd, OV5693_IOCTL_SET_MODE , &mode);
+
+ inputs:
+
+ parameters of the mode to set
+
+ outputs: none
+
+ error return:
+
+ EINVAL - out of range input data
+
+
+OV5693_IOCTL_GET_STATUS: get module status
+usage:
+
+ u8 status;
+ ioctl(fd, OV5693_IOCTL_GET_STATUS , &status);
+
+ inputs:
+
+ outputs: always returns 0
+
+ error return:
+
+
+OV5693_IOCTL_SET_GROUP_HOLD: set group parameters
+usage:
+
+struct ov5693_ae {
+ __u32 frame_length;
+ __u8 frame_length_enable;
+ __u32 coarse_time;
+ __u32 coarse_time_short;
+ __u8 coarse_time_enable;
+ __s32 gain;
+ __u8 gain_enable;
+};
+
+ struct ov5693_ae ar;
+ ioctl(fd, OV5693_IOCTL_SET_GROUP_HOLD , &ae);
+
+ inputs:
+
+ outputs: always returns 0
+
+ error return:
+
+
+OV5693_IOCTL_SET_FRAME_LENGTH: set sensor frame length
+usage:
+
+ u32 len;
+ ioctl(fd, OV5693_IOCTL_SET_FRAME_LENGTH , len);
+
+ inputs:
+
+ sensor frame length
+
+ outputs: none
+
+ error return:
+
+
+OV5693_IOCTL_SET_COARSE_TIME: set coarse time
+usage:
+
+ u32 param;
+ ioctl(fd, OV5693_IOCTL_SET_COARSE_TIME , param);
+
+ inputs:
+
+ coarse time
+
+ outputs: none
+
+ error return:
+
+
+OV5693_IOCTL_SET_HDR_COARSE_TIME: set hdr coarse time
+usage:
+
+struct ov5693_hdr {
+ __u32 coarse_time_long;
+ __u32 coarse_time_short;
+};
+
+ struct ov5693_hdr param;
+ ioctl(fd, OV5693_IOCTL_SET_HDR_COARSE_TIME , &param);
+
+ inputs:
+
+ coarse time
+
+ outputs: none
+
+ error return:
+
+
+OV5693_IOCTL_SET_GAIN: set gain value
+usage:
+
+ u32 gain;
+ ioctl(fd, OV5693_IOCTL_SET_GAIN , gain);
+
+ inputs:
+
+ value of the gain to set
+
+ outputs: none
+
+ error return:
+
+
+OV5693_IOCTL_GET_FUSEID: get fuse id
+usage:
+
+struct nvc_fuseid {
+ __u32 size;
+ __u8 data[16];
+};
+
+ struct nvc_fuseid fuseid;
+ ioctl(fd, OV5693_IOCTL_GET_FUSEID , &fuseid);
+
+ inputs: none
+
+ outputs: fuse id
+
+ error return:
+
+
+OV5693_IOCTL_READ_OTP_BANK: read otp bank data
+usage:
+
+struct ov5693_otp_bank {
+ __u32 id;
+ __u8 buf[16];
+};
+
+ struct ov5693_otp_bank data;
+ ioctl(fd, OV5693_IOCTL_READ_OTP_BANK , &data);
+
+ inputs: none
+
+ outputs: otp bank data
+
+ error return:
+
+
+OV5693_IOCTL_SET_CAL_DATA: write calibration data
+usage:
+
+struct ov5693_cal_data {
+ int loaded;
+ int rg_ratio;
+ int bg_ratio;
+ int rg_ratio_typical;
+ int bg_ratio_typical;
+ __u8 lenc[62];
+};
+
+ struct ov5693_cal_data data;
+ ioctl(fd, OV5693_IOCTL_SET_CAL_DATA , &data);
+
+ inputs: calibration data
+
+ outputs: none
+
+ error return:
+
+
+OV5693_IOCTL_GET_CAL_DATA: read calibration data
+usage:
+
+struct ov5693_cal_data {
+ int loaded;
+ int rg_ratio;
+ int bg_ratio;
+ int rg_ratio_typical;
+ int bg_ratio_typical;
+ __u8 lenc[62];
+};
+
+ struct ov5693_cal_data data;
+ ioctl(fd, OV5693_IOCTL_GET_CAL_DATA , &data);
+
+ inputs: none
+
+ outputs: calibration data
+
+ error return:
diff --git a/Documentation/ioctl/tegra_camera.txt b/Documentation/ioctl/tegra_camera.txt
new file mode 100644
index 000000000000..77dd66f404bb
--- /dev/null
+++ b/Documentation/ioctl/tegra_camera.txt
@@ -0,0 +1,69 @@
+TEGRA_CAMERA_IOCTL_ENABLE: enable clock
+usage:
+ uint clock_id;
+ ioctl(fd, TEGRA_CAMERA_IOCTL_ENABLE , &clock_id);
+
+ inputs:
+
+ Clock ID
+
+ outputs: none
+
+ error return:
+
+ notes: a dummy ioctl for backward compatibility. Doesn't do anything.
+
+
+
+TEGRA_CAMERA_IOCTL_DISABLE: disable clock
+usage:
+ uint clock_id;
+ ioctl(fd, TEGRA_CAMERA_IOCTL_DISABLE , &clock_id);
+
+ inputs:
+
+ Clock ID
+
+ outputs: none
+
+ error return:
+
+ notes: a dummy ioctl for backward compatibility. Doesn't do anything.
+
+TEGRA_CAMERA_IOCTL_RESET: reset clock
+usage:
+ uint clock_id;
+ ioctl(fd, TEGRA_CAMERA_IOCTL_RESET , &clock_id);
+
+ inputs:
+
+ Clock ID
+
+ outputs: none
+
+ error return:
+
+ notes: a dummy ioctl for backward compatibility. Doesn't do anything.
+
+
+TEGRA_CAMERA_IOCTL_CLK_SET_RATE: set clock rate
+
+struct tegra_camera_clk_info {
+ uint id;
+ uint clk_id;
+ unsigned long rate;
+ uint flag;
+};
+
+usage:
+ tegra_camera_clk_info clock_info;
+ ioctl(fd, TEGRA_CAMERA_IOCTL_CLK_SET_RATE , &clock_info);
+
+ inputs:
+
+ Information about the clock and new rate
+
+ outputs: none
+
+ error return:
+ EINVAL - out of range input data
diff --git a/Documentation/ioctl/tegra_vi.txt b/Documentation/ioctl/tegra_vi.txt
new file mode 100644
index 000000000000..d15dd6792dc8
--- /dev/null
+++ b/Documentation/ioctl/tegra_vi.txt
@@ -0,0 +1,27 @@
+NVHOST_VI_IOCTL_ENABLE_TPG enable TPG
+usage:
+ uint enable;
+ ioctl(fd, NVHOST_VI_IOCTL_ENABLE_TPG, &enable);
+
+ inputs:
+
+ Enable/disable TPG
+
+ outputs: none
+
+ error return:
+ EINVAL Couldn't get clocks value
+
+NVHOST_VI_IOCTL_SET_EMC_INFO set memory controller bandwith info
+usage:
+ uint vi_bw;
+ ioctl(fd, NVHOST_VI_IOCTL_SET_EMC_INFO , &vi_bw);
+
+ inputs:
+
+ Provide EMC bandwith info
+
+ outputs: none
+
+ error return:
+ ENOMEM Failed to set la for this bandwith \ No newline at end of file