20 #include <linux/kernel.h>
21 #include <linux/module.h>
22 #include <linux/videodev2.h>
26 #define SOLO_VCLK_DELAY 3
27 #define SOLO_PROGRESSIVE_VSIZE 1024
29 #define SOLO_MOT_THRESH_W 64
30 #define SOLO_MOT_THRESH_H 64
31 #define SOLO_MOT_THRESH_SIZE 8192
32 #define SOLO_MOT_THRESH_REAL (SOLO_MOT_THRESH_W * SOLO_MOT_THRESH_H)
33 #define SOLO_MOT_FLAG_SIZE 512
34 #define SOLO_MOT_FLAG_AREA (SOLO_MOT_FLAG_SIZE * 32)
36 static unsigned video_type;
100 static void solo_disp_config(
struct solo_dev *solo_dev)
106 (0xa0 << 24) | (0x88 << 16) | (0xa0 << 8) | 0x88);
108 (0x10 << 24) | (0x8f << 16) | (0x10 << 8) | 0x8f);
110 (16 << 24) | (128 << 16) | (16 << 8) | 128);
148 static int solo_dma_vin_region(
struct solo_dev *solo_dev,
u32 off,
155 for (i = 0; i < sizeof(buf) >> 1; i++)
158 for (i = 0; i < reg_size; i +=
sizeof(
buf))
180 static void solo_motion_config(
struct solo_dev *solo_dev)
184 for (i = 0; i < solo_dev->
nr_chans; i++) {
217 if (video_type == 0) {
227 solo_vin_config(solo_dev);
228 solo_motion_config(solo_dev);
229 solo_disp_config(solo_dev);
231 for (i = 0; i < solo_dev->
nr_chans; i++)
247 for (i = 0; i < solo_dev->
nr_chans; i++) {
254 for (i = 0; i < 5; i++)
257 for (i = 0; i < 5; i++)