@@ -512,8 +512,9 @@ struct em28xx_board em28xx_boards[] = {
[EM2860_BOARD_NETGMBH_CAM] = {
/* Beijing Huaqi Information Digital Technology Co., Ltd */
.name = "NetGMBH Cam",
- .valid = EM28XX_BOARD_NOT_VALIDATED,
- .tuner_type = TUNER_ABSENT, /* This is a webcam */
+ .tuner_type = TUNER_ABSENT,
+ .is_27xx = 1,
+ .decoder = EM28XX_MT9M001,
.input = { {
.type = EM28XX_VMUX_COMPOSITE1,
.vmux = 0,
@@ -1804,6 +1805,12 @@ static int em28xx_hint_sensor(struct em2
dev->model = EM2820_BOARD_SILVERCREST_WEBCAM;
sensor_name = "mt9v011";
break;
+ case 0x8411:
+ case 0x8421:
+ case 0x8431:
+ dev->model = EM2750_BOARD_DLCW_130;
+ sensor_name = "mt9m001";
+ break;
default:
printk("Unknown Sensor 0x%04x\n", be16_to_cpu(version));
return -EINVAL;
@@ -2371,6 +2378,10 @@ void em28xx_card_setup(struct em28xx *de
v4l2_i2c_new_probed_subdev(&dev->v4l2_dev, &dev->i2c_adap,
"mt9v011", "mt9v011", mt9v011_addrs);
+ if (dev->board.decoder == EM28XX_MT9M001)
+ v4l2_i2c_new_probed_subdev(&dev->v4l2_dev, &dev->i2c_adap,
+ "mt9m001", "mt9m001", mt9v011_addrs);
+
if (dev->board.adecoder == EM28XX_TVAUDIO)
v4l2_i2c_new_subdev(&dev->v4l2_dev, &dev->i2c_adap,
"tvaudio", "tvaudio", dev->board.tvaudio_addr);
@@ -363,6 +363,7 @@ enum em28xx_decoder {
EM28XX_TVP5150,
EM28XX_SAA711X,
EM28XX_MT9V011,
+ EM28XX_MT9M001,
};
enum em28xx_adecoder {