Commit e807f20d authored by Erik Andr?n's avatar Erik Andr?n Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (11533): gspca - m5602-po1030: Setup window per resolution



This patch for the po1030 sets the drawing window for the VGA resolution

Signed-off-by: default avatarErik Andr?n <erik.andren@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent c86da6b3
Loading
Loading
Loading
Loading
+28 −1
Original line number Diff line number Diff line
@@ -321,7 +321,34 @@ int po1030_init(struct sd *sd)

int po1030_start(struct sd *sd)
{
	struct cam *cam = &sd->gspca_dev.cam;
	int i, err = 0;
	int width = cam->cam_mode[sd->gspca_dev.curr_mode].width;
	int height = cam->cam_mode[sd->gspca_dev.curr_mode].height;
	u8 data;

	switch (width) {
	case 640:
		data = ((width + 7) >> 8) & 0xff;
		err = m5602_write_sensor(sd, PO1030_WINDOWWIDTH_H, &data, 1);
		if (err < 0)
			return err;

		data = (width + 7) & 0xff;
		err = m5602_write_sensor(sd, PO1030_WINDOWWIDTH_L, &data, 1);
		if (err < 0)
			return err;

		data = ((height + 3) >> 8) & 0xff;
		err = m5602_write_sensor(sd, PO1030_WINDOWHEIGHT_H, &data, 1);
		if (err < 0)
			return err;

		data = (height + 3) & 0xff;
		err = m5602_write_sensor(sd, PO1030_WINDOWHEIGHT_L, &data, 1);
		break;
	}

	/* Synthesize the vsync/hsync setup */
	for (i = 0; i < ARRAY_SIZE(start_po1030) && !err; i++) {
		if (start_po1030[i][0] == BRIDGE)
+0 −11
Original line number Diff line number Diff line
@@ -272,17 +272,6 @@ static const unsigned char init_po1030[][3] =

static const unsigned char start_po1030[][3] =
{
	/* Set the window width to 647 */
	{SENSOR, PO1030_WINDOWWIDTH_H, 0x02},
	{SENSOR, PO1030_WINDOWWIDTH_L, 0x87},

	/* Set the window height to 483 */
	{SENSOR, PO1030_WINDOWHEIGHT_H, 0x01},
	{SENSOR, PO1030_WINDOWHEIGHT_L, 0xe3},

	{BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06},
	{BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0},
	{BRIDGE, M5602_XB_ADC_CTRL, 0xc0},
	{BRIDGE, M5602_XB_SENSOR_TYPE, 0x0c},
	{BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81},
	{BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82},