Commit cde41bb2 authored by Erik Andrén's avatar Erik Andrén Committed by Mauro Carvalho Chehab

V4L/DVB (11633): gspca - m5602-s5k83a: Move hsync/vsync setup to start function

Signed-off-by: default avatarErik Andrén <erik.andren@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 57851d0c
...@@ -299,6 +299,7 @@ static int rotation_thread_function(void *data) ...@@ -299,6 +299,7 @@ static int rotation_thread_function(void *data)
int s5k83a_start(struct sd *sd) int s5k83a_start(struct sd *sd)
{ {
int i, err = 0;
struct s5k83a_priv *sens_priv = sd->sensor_priv; struct s5k83a_priv *sens_priv = sd->sensor_priv;
/* Create another thread, polling the GPIO ports of the camera to check /* Create another thread, polling the GPIO ports of the camera to check
...@@ -308,6 +309,19 @@ int s5k83a_start(struct sd *sd) ...@@ -308,6 +309,19 @@ int s5k83a_start(struct sd *sd)
sd, "rotation thread"); sd, "rotation thread");
wake_up_process(sens_priv->rotation_thread); wake_up_process(sens_priv->rotation_thread);
/* Preinit the sensor */
for (i = 0; i < ARRAY_SIZE(start_s5k83a) && !err; i++) {
u8 data[2] = {start_s5k83a[i][2], start_s5k83a[i][3]};
if (start_s5k83a[i][0] == SENSOR)
err = m5602_write_sensor(sd, start_s5k83a[i][1],
data, 2);
else
err = m5602_write_bridge(sd, start_s5k83a[i][1],
data[0]);
}
if (err < 0)
return err;
return s5k83a_set_led_indication(sd, 1); return s5k83a_set_led_indication(sd, 1);
} }
......
...@@ -164,7 +164,10 @@ static const unsigned char init_s5k83a[][4] = ...@@ -164,7 +164,10 @@ static const unsigned char init_s5k83a[][4] =
/* normal colors /* normal colors
(this is value after boot, but after tries can be different) */ (this is value after boot, but after tries can be different) */
{SENSOR, 0x00, 0x06, 0x00}, {SENSOR, 0x00, 0x06, 0x00},
};
static const unsigned char start_s5k83a[][4] =
{
{BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00}, {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
{BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00}, {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
{BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00}, {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment