fimc-is-device-ischain.o \
fimc-is-interface.o \
fimc-is-time.o \
- fimc-is-dt.o
+ fimc-is-dt.o \
+ exynos-smc.o
obj-$(CONFIG_USE_VENDER_FEATURE) := fimc-is-spi.o \
fimc-is-sec-define.o \
* published by the Free Software Foundation.
*/
+#include <linux/device.h>
#include <linux/sched.h>
+#include <linux/mutex.h>
+#include <linux/slab.h>
+#include <linux/videodev2.h>
+#include "fimc-is-config.h"
#include "exynos-fimc-is-sensor.h"
#include "exynos-fimc-is.h"
-#include "media/exynos_mc.h"
#include <linux/of_gpio.h>
#include "fimc-is-dt.h"
#define ENABLE_FAST_SHOT
/* #define ENABLE_MIF_400 */
#define ENABLE_DTP
-#define USE_ION_ALLOC
+//#define USE_ION_ALLOC
#define START_DVFS_LEVEL FIMC_IS_SN_MAX
#define TARGET_SPI_CH_FOR_PERI 0
#define MAX_ZOOM_LEVEL 8
+#define EXYNOS_VIDEONODE_FLITE(x) (36 + x)
+#define EXYNOS_VIDEONODE_FIMC_IS (100)
#if !defined(MAX_ZOOM_LEVEL)
/* default max zoom lv is 4 */
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_camera.h>
#include <linux/vmalloc.h>
#include <linux/interrupt.h>
-#include <mach/regs-clock.h>
#include <linux/bug.h>
#include <linux/v4l2-mediabus.h>
-#include <mach/devfreq.h>
-#include <mach/bts.h>
#include <linux/gpio.h>
-#include <plat/gpio-cfg.h>
#include <linux/of.h>
#include <linux/of_gpio.h>
fw_size = PAGE_ALIGN(fw_size);
dbg_core("Allocating memory for FIMC-IS firmware.\n");
+#warning NOT IMPLEMENTED
+#if 0
fw_cookie = vb2_ion_private_alloc(this->mem.alloc_ctx, fw_size, 1, 0);
if (IS_ERR(fw_cookie)) {
goto exit;
}
+#warning NOT IMPLEMENTED
+#if 0
vb2_ion_sync_for_device(fw_cookie, 0, fw_size, DMA_BIDIRECTIONAL);
-
+#endif
+#endif
exit:
info("[COR] Device virtual for internal: %08x\n", this->minfo.kvaddr);
this->minfo.fw_cookie = fw_cookie;
fimc_is_parse_children_dt(&pdev->dev, core);
fimc_is_dev = &pdev->dev;
- ret = dev_set_drvdata(fimc_is_dev, core);
- if (ret) {
- err("dev_set_drvdata is fail(%d)", ret);
- kfree(core);
- return ret;
- }
+ dev_set_drvdata(fimc_is_dev, core);
core->companion_spi_channel = pdata->companion_spi_channel;
core->use_two_spi_line = pdata->use_two_spi_line;
#include <linux/platform_device.h>
#include <linux/regulator/consumer.h>
#include <linux/delay.h>
-#include <mach/pinctrl-samsung.h>
#include "fimc-is-core.h"
#include "fimc-is-interface.h"
} else {
devm_pinctrl_put(pinctrl_i2c);
}
- }
+ }
}
int fimc_is_af_i2c_write(struct i2c_client *client ,u16 addr, u16 data)
core->client2 = client;
device->client = client;
device->core = core;
+
+#if 0
af_noise_count = 0;
af_sensor_interface.af_pdata = device;
ret = remove_af_noise_register(&af_sensor_interface);
if (ret)
err("reduce_af_noise_register failed: %d\n", ret);
+#endif
i2c_set_clientdata(client, device);
return 0;
static int fimc_is_af_remove(struct i2c_client *client)
{
+#if 0
remove_af_noise_unregister(&af_sensor_interface);
+#endif
return 0;
}
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
#include <linux/videodev2_exynos_camera.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/i2c.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
-#include <mach/pinctrl-samsung.h>
#include "fimc-is-video.h"
#include "fimc-is-dt.h"
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
-#include <mach/exynos5-mipiphy.h>
-
+#include "exynos5-mipiphy.h"
#include "fimc-is-config.h"
#include "fimc-is-regs.h"
#include "fimc-is-hw.h"
#include <linux/of_irq.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
#include <linux/videodev2_exynos_camera.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
-#include <mach/irqs.h>
#include "fimc-is-time.h"
#include "fimc-is-core.h"
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_camera.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/v4l2-mediabus.h>
#include <linux/vmalloc.h>
#include <linux/kthread.h>
#include <linux/syscalls.h>
#include <linux/bug.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
-#include <mach/smc.h>
+#include "smc.h"
#include <linux/regulator/consumer.h>
#include <linux/gpio.h>
-#include <plat/gpio-cfg.h>
#include "fimc-is-time.h"
#include "fimc-is-core.h"
#include "fimc-is-companion.h"
#include "fimc-is-device-companion.h"
#include <linux/pinctrl/consumer.h>
-#include <mach/pinctrl-samsung.h>
#include "fimc-is-sec-define.h"
goto exit;
}
+#warning NOT IMPLEMENTED
+#if 0
vb2_ion_sync_for_device(imemory->fw_cookie, DEBUG_OFFSET,
DEBUG_CNT, DMA_FROM_DEVICE);
+#endif
debug_cnt = *((int *)(imemory->kvaddr + DEBUGCTL_OFFSET)) - DEBUG_OFFSET;
backup_cnt = core->debug_cnt;
static void fimc_is_ischain_cache_flush(struct fimc_is_device_ischain *this,
u32 offset, u32 size)
{
+#warning NOT IMPLEMENTED
+#if 0
vb2_ion_sync_for_device(this->imemory.fw_cookie,
offset,
size,
DMA_TO_DEVICE);
+#endif
}
static void fimc_is_ischain_region_invalid(struct fimc_is_device_ischain *device)
{
+#warning NOT IMPLEMENTED
+#if 0
vb2_ion_sync_for_device(
device->imemory.fw_cookie,
device->imemory.offset_region,
sizeof(struct is_region),
DMA_FROM_DEVICE);
+#endif
}
static void fimc_is_ischain_region_flush(struct fimc_is_device_ischain *device)
{
+#warning NOT IMPLEMENTED
+#if 0
vb2_ion_sync_for_device(
device->imemory.fw_cookie,
device->imemory.offset_region,
sizeof(struct is_region),
DMA_TO_DEVICE);
+#endif
}
void fimc_is_ischain_meta_flush(struct fimc_is_frame *frame)
{
+#warning NOT IMPLEMENTED
+#if 0
#ifdef ENABLE_CACHE
vb2_ion_sync_for_device(
(void *)frame->cookie_shot,
frame->shot_size,
DMA_TO_DEVICE);
#endif
+#endif
}
void fimc_is_ischain_meta_invalid(struct fimc_is_frame *frame)
{
+#warning NOT IMPLEMENTED
+#if 0
#ifdef ENABLE_CACHE
vb2_ion_sync_for_device(
(void *)frame->cookie_shot,
frame->shot_size,
DMA_FROM_DEVICE);
#endif
+#endif
}
static void fimc_is_ischain_version(struct fimc_is_device_ischain *this, char *name, const char *load_bin, u32 size)
#include <linux/regulator/consumer.h>
#include <linux/delay.h>
#include "exynos-fimc-is-sensor.h"
-#include <mach/pinctrl-samsung.h>
#include <linux/kthread.h>
#include "fimc-is-core.h"
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
#include <linux/videodev2_exynos_camera.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/i2c.h>
-#include <mach/map.h>
-#include <mach/devfreq.h>
-#include <mach/regs-clock.h>
#include "fimc-is-core.h"
#include "fimc-is-param.h"
#include <linux/sched.h>
#include "exynos-fimc-is-sensor.h"
#include "exynos-fimc-is.h"
-#include <media/exynos_mc.h>
#include <linux/of.h>
#include <linux/of_gpio.h>
#include <linux/regmap.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_camera.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
#include "fimc-is-core.h"
#include "fimc-is-param.h"
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_camera.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
#include "fimc-is-core.h"
#include "fimc-is-err.h"
#include <linux/platform_device.h>
#include <linux/io.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
-#include <mach/exynos5-mipiphy.h>
#include "fimc-is-config.h"
#include "fimc-is-type.h"
#include <linux/errno.h>
#include <linux/platform_device.h>
#include <linux/io.h>
-#include <mach/devfreq.h>
-#include <mach/bts.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
-#include <mach/exynos5-mipiphy.h>
#include "fimc-is-config.h"
#include "fimc-is-type.h"
core = (struct fimc_is_core *)this->core;
sentence_i = 0;
+#warning NOT IMPLEMENTED
+#if 0
vb2_ion_sync_for_device(core->minfo.fw_cookie,
DEBUG_OFFSET, DEBUG_CNT, DMA_FROM_DEVICE);
+#endif
debug = (char *)(core->minfo.kvaddr + DEBUG_OFFSET);
debug_cnt = *((int *)(core->minfo.kvaddr + DEBUGCTL_OFFSET))
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
+#include <media/videobuf2-dma-contig.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_camera.h>
#include <linux/vmalloc.h>
#include <linux/interrupt.h>
#include <linux/of.h>
#include "fimc-is-regs.h"
#include "fimc-is-err.h"
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0))
-#include <linux/exynos_iovmm.h>
-#else
-#include <plat/iovmm.h>
-#endif
-
+#ifdef IOC_ALLOC
static void *fimc_is_ion_init(struct platform_device *pdev)
{
return vb2_ion_create_context(&pdev->dev, SZ_4K,
VB2ION_CTX_VMCONTIG |
VB2ION_CTX_KVA_ONDEMAND);
}
+#endif
static unsigned long plane_addr(struct vb2_buffer *vb, u32 plane_no)
{
+#ifdef IOC_ALLOC
void *cookie = vb2_plane_cookie(vb, plane_no);
dma_addr_t dva = 0;
WARN_ON(vb2_ion_dma_address(cookie, &dva) != 0);
-
- return dva;
+#else
+ return vb2_dma_contig_plane_dma_addr(vb, plane_no);
+#endif
}
static unsigned long plane_kvaddr(struct vb2_buffer *vb, u32 plane_no)
return (unsigned long)kvaddr;
}
+
+static void *fimc_is_dma_contig_init(struct platform_device *pdev)
+{
+ return vb2_dma_contig_init_ctx(&pdev->dev);
+}
+
+int vb2_null_attach_iommu(void *alloc_ctx)
+{
+ return 0;
+}
+
+void vb2_null_detach_iommu(void *alloc_ctx)
+{
+
+}
+
+void vb2_null_set_cached(void *ctx, bool cached)
+{
+
+}
+
+void vb2_null_destroy_context(void *ctx)
+{
+
+}
+
+#ifdef IOC_ALLOC
const struct fimc_is_vb2 fimc_is_vb2_ion = {
.ops = &vb2_ion_memops,
.init = fimc_is_ion_init,
.suspend = vb2_ion_detach_iommu,
.set_cacheable = vb2_ion_set_cached,
};
+#define fimc_is_vb2_allocator (&fimc_is_vb2_ion)
+#else
+const struct fimc_is_vb2 fimc_is_vb2_dc = {
+ .ops = &vb2_dma_contig_memops,
+ .init = fimc_is_dma_contig_init,
+ .cleanup = vb2_null_destroy_context,
+ .plane_addr = plane_addr,
+ .plane_kvaddr = plane_kvaddr,
+ .resume = vb2_null_attach_iommu,
+ .suspend = vb2_null_detach_iommu,
+ .set_cacheable = vb2_null_set_cached,
+};
+#define fimc_is_vb2_allocator (&fimc_is_vb2_dc)
+#endif
int fimc_is_mem_probe(struct fimc_is_mem *this,
struct platform_device *pdev)
{
u32 ret = 0;
- this->vb2 = &fimc_is_vb2_ion;
+ this->vb2 = fimc_is_vb2_allocator;
this->alloc_ctx = this->vb2->init(pdev);
if (IS_ERR(this->alloc_ctx)) {
goto p_err;
}
+#ifdef IOC_ALLOC
/* FIXME: should be different by device type */
exynos_create_iovmm(&pdev->dev, 1, 4);
-
+#endif
p_err:
return ret;
}
#ifndef FIMC_IS_REGS_H
#define FIMC_IS_REGS_H
-#include <mach/map.h>
/* MCUCTL register */
#define MCUCTL 0x0
#include <linux/clk.h>
#include <linux/regulator/consumer.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_camera.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/platform_device.h>
-#include <mach/regs-gpio.h>
-#include <mach/regs-clock.h>
-#include <plat/clock.h>
-#include <plat/gpio-cfg.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-subdev.h>
#include "fimc-is-sec-define.h"
-#include <mach/pinctrl-samsung.h>
bool crc32_fw_check = true;
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_camera.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/syscalls.h>
#include <linux/vmalloc.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
#include <linux/gpio.h>
-#include <plat/gpio-cfg.h>
#include <linux/regulator/consumer.h>
#include "fimc-is-core.h"
#include <linux/module.h>
#include <linux/spi/spi.h>
#include <linux/gpio.h>
-#include <plat/gpio-cfg.h>
#include "fimc-is-core.h"
#include "fimc-is-regs.h"
#ifndef FIMC_IS_TYPE_H
#define FIMC_IS_TYPE_H
-#include <linux/v4l2-mediabus.h>
-
+#include <media/v4l2-mediabus.h>
#include <media/v4l2-device.h>
+
enum fimc_is_device_type {
FIMC_IS_DEVICE_SENSOR,
FIMC_IS_DEVICE_ISCHAIN
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
+#include <linux/videodev2.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/videodev2_exynos_camera.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <media/v4l2-device.h>
#include <media/v4l2-mem2mem.h>
#include <media/v4l2-mediabus.h>
-#include <media/exynos_mc.h>
#include "fimc-is-core.h"
#include "fimc-is-param.h"
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
+#include <linux/videodev2.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/videodev2_exynos_camera.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
+#include <linux/videodev2.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/videodev2_exynos_camera.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/videodev2_exynos_camera.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/videodev2_exynos_camera.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/videodev2_exynos_camera.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
+#include <linux/videodev2.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/videodev2_exynos_camera.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/videodev2_exynos_camera.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_media.h>
#include <linux/videodev2_exynos_camera.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <mach/videonode.h>
-#include <media/exynos_mc.h>
#include <asm/cacheflush.h>
#include <asm/pgtable.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_media.h>
-#include <linux/videodev2_exynos_camera.h>
#include <linux/v4l2-mediabus.h>
#include <linux/bug.h>
#include <media/v4l2-device.h>
#include <media/v4l2-mem2mem.h>
#include <media/v4l2-mediabus.h>
-#include <media/exynos_mc.h>
#include "fimc-is-time.h"
#include "fimc-is-core.h"
vbq_src->drv_priv = vctx;
vbq_src->ops = vctx->vb2_ops;
vbq_src->mem_ops = vctx->mem_ops;
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
- vbq_src->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY;
-#endif
+ vbq_src->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
+
ret = vb2_queue_init(vbq_src);
if (ret) {
err("vb2_queue_init fail");
vbq_dst->drv_priv = vctx;
vbq_dst->ops = vctx->vb2_ops;
vbq_dst->mem_ops = vctx->mem_ops;
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
- vbq_dst->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY;
-#endif
+ vbq_dst->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
+
ret = vb2_queue_init(vbq_dst);
if (ret) {
err("vb2_queue_init fail");
vbq_src->drv_priv = vctx;
vbq_src->ops = vctx->vb2_ops;
vbq_src->mem_ops = vctx->mem_ops;
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
- vbq_src->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY;
-#endif
+ vbq_src->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
+
ret = vb2_queue_init(vbq_src);
if (ret) {
err("vb2_queue_init fail");
vbq_dst->drv_priv = vctx;
vbq_dst->ops = vctx->vb2_ops;
vbq_dst->mem_ops = vctx->mem_ops;
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
- vbq_dst->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY;
-#endif
+ vbq_dst->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
+
ret = vb2_queue_init(vbq_dst);
if (ret) {
err("vb2_queue_init fail");
BUG_ON(!vctx);
BUG_ON(!buf);
- buf->flags &= ~V4L2_BUF_FLAG_USE_SYNC;
+// buf->flags &= ~V4L2_BUF_FLAG_USE_SYNC;
queue = GET_VCTX_QUEUE(vctx, buf);
vbq = queue->vbq;
#include <linux/clk.h>
#include <linux/regulator/consumer.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_camera.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/platform_device.h>
#include <linux/of_gpio.h>
-#include <mach/regs-gpio.h>
-#include <mach/regs-clock.h>
-#include <plat/clock.h>
-#include <plat/gpio-cfg.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-subdev.h>
#include <linux/clk.h>
#include <linux/regulator/consumer.h>
#include <linux/videodev2.h>
-#include <linux/videodev2_exynos_camera.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/platform_device.h>
#include <linux/of_gpio.h>
-#include <mach/regs-gpio.h>
-#include <mach/regs-clock.h>
-#include <plat/clock.h>
-#include <plat/gpio-cfg.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-subdev.h>
#include <linux/delay.h>
#include <linux/clk-provider.h>
#include <linux/clkdev.h>
-#include <mach/regs-gpio.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
-#include <plat/gpio-cfg.h>
-#include <plat/map-s5p.h>
-#include <plat/cpu.h>
#include <linux/of_gpio.h>
#include "exynos-fimc-is.h"
#include <linux/delay.h>
#include <linux/clk-provider.h>
#include <linux/clkdev.h>
-#include <mach/regs-gpio.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
-#include <plat/gpio-cfg.h>
-#include <plat/map-s5p.h>
-#include <plat/cpu.h>
#include <linux/of_gpio.h>
-#include <mach/regs-clock-exynos5433.h>
#include "exynos-fimc-is.h"
#include "exynos-fimc-is-sensor.h"
#include <linux/delay.h>
#include <linux/clk-provider.h>
#include <linux/clkdev.h>
-#include <mach/regs-gpio.h>
-#include <mach/map.h>
-#include <mach/regs-clock.h>
-#include <plat/gpio-cfg.h>
-#include <plat/map-s5p.h>
-#include <plat/cpu.h>
#include "exynos-fimc-is.h"
#include <linux/of_gpio.h>
#ifndef V4L2_MEDIABUS_H
#define V4L2_MEDIABUS_H
-#include <linux/v4l2-mediabus.h>
+#include <uapi/linux/v4l2-mediabus.h>
/* Parallel flags */
/*
__u32 reserved[6];
};
-#ifndef __KERNEL__
/*
* enum v4l2_mbus_pixelcode and its definitions are now deprecated, and
* MEDIA_BUS_FMT_ definitions (defined in media-bus-format.h) should be
V4L2_MBUS_FROM_MEDIA_BUS_FMT(AHSV8888_1X32),
};
-#endif /* __KERNEL__ */
#endif
#define V4L2_CID_IS_END_OF_STREAM (V4L2_CID_FIMC_IS_BASE + 58)
#define V4L2_CID_IS_MAP_BUFFER (V4L2_CID_FIMC_IS_BASE + 59)
#define V4L2_CID_IS_INTENT (V4L2_CID_FIMC_IS_BASE + 60)
+#define V4L2_CID_IS_DEBUG_DUMP (V4L2_CID_FIMC_IS_BASE + 900)
+#define V4L2_CID_IS_DEBUG_SYNC_LOG (V4L2_CID_FIMC_IS_BASE + 901)
#define V4L2_CID_SENSOR_SET_AE_TARGET (V4L2_CID_SENSOR_BASE + 1)
#define V4L2_CID_SENSOR_SET_AE_WEIGHT_1x1_2 (V4L2_CID_SENSOR_BASE + 2)