[media] gspca - nw80x: Get the sensor ID when bridge et31x110
Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Родитель
152507144a
Коммит
088fc390bd
|
@ -1768,6 +1768,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
|
|||
* If 0x0500 does not exist => NW802
|
||||
* If it does, test 0x109b. If it doesn't exist,
|
||||
* then it's a NW801. Else, a NW800
|
||||
* If a et31x110 (nw800 and 06a5:d800)
|
||||
* get the sensor ID
|
||||
*/
|
||||
if (!nw802_test_reg(gspca_dev, 0x0500, 0x55)) {
|
||||
sd->bridge = BRIDGE_NW802;
|
||||
|
@ -1777,6 +1779,24 @@ static int sd_config(struct gspca_dev *gspca_dev,
|
|||
sd->bridge = BRIDGE_NW801;
|
||||
if (sd->webcam == Generic800)
|
||||
sd->webcam = P35u;
|
||||
} else if (id->idVendor == 0x06a5 && id->idProduct == 0xd800) {
|
||||
reg_r(gspca_dev, 0x0403, 1); /* GPIO */
|
||||
PDEBUG(D_PROBE, "et31x110 sensor type %02x",
|
||||
gspca_dev->usb_buf[0]);
|
||||
switch (gspca_dev->usb_buf[0] >> 1) {
|
||||
case 0x00: /* ?? */
|
||||
if (sd->webcam == Generic800)
|
||||
sd->webcam = SpaceCam;
|
||||
break;
|
||||
case 0x01: /* Hynix? */
|
||||
if (sd->webcam == Generic800)
|
||||
sd->webcam = Twinkle;
|
||||
break;
|
||||
case 0x0a: /* Pixart */
|
||||
if (sd->webcam == Generic800)
|
||||
sd->webcam = SpaceCam2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (webcam_chip[sd->webcam] != sd->bridge) {
|
||||
err("Bad webcam type %d for NW80%d", sd->webcam, sd->bridge);
|
||||
|
|
Загрузка…
Ссылка в новой задаче