xref: /linux/drivers/media/usb/gspca/stv06xx/stv06xx_st6422.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
20c0d06caSMauro Carvalho Chehab /*
30c0d06caSMauro Carvalho Chehab  * Support for the sensor part which is integrated (I think) into the
40c0d06caSMauro Carvalho Chehab  * st6422 stv06xx alike bridge, as its integrated there are no i2c writes
50c0d06caSMauro Carvalho Chehab  * but instead direct bridge writes.
60c0d06caSMauro Carvalho Chehab  *
70c0d06caSMauro Carvalho Chehab  * Copyright (c) 2009 Hans de Goede <hdegoede@redhat.com>
80c0d06caSMauro Carvalho Chehab  *
90c0d06caSMauro Carvalho Chehab  * Strongly based on qc-usb-messenger, which is:
100c0d06caSMauro Carvalho Chehab  * Copyright (c) 2001 Jean-Fredric Clere, Nikolas Zimmermann, Georg Acher
110c0d06caSMauro Carvalho Chehab  *		      Mark Cave-Ayland, Carlo E Prelz, Dick Streefland
120c0d06caSMauro Carvalho Chehab  * Copyright (c) 2002, 2003 Tuukka Toivonen
130c0d06caSMauro Carvalho Chehab  */
140c0d06caSMauro Carvalho Chehab 
150c0d06caSMauro Carvalho Chehab #ifndef STV06XX_ST6422_H_
160c0d06caSMauro Carvalho Chehab #define STV06XX_ST6422_H_
170c0d06caSMauro Carvalho Chehab 
180c0d06caSMauro Carvalho Chehab #include "stv06xx_sensor.h"
190c0d06caSMauro Carvalho Chehab 
200c0d06caSMauro Carvalho Chehab static int st6422_probe(struct sd *sd);
210c0d06caSMauro Carvalho Chehab static int st6422_start(struct sd *sd);
220c0d06caSMauro Carvalho Chehab static int st6422_init(struct sd *sd);
230c0d06caSMauro Carvalho Chehab static int st6422_init_controls(struct sd *sd);
240c0d06caSMauro Carvalho Chehab static int st6422_stop(struct sd *sd);
250c0d06caSMauro Carvalho Chehab 
260c0d06caSMauro Carvalho Chehab const struct stv06xx_sensor stv06xx_sensor_st6422 = {
270c0d06caSMauro Carvalho Chehab 	.name = "ST6422",
280c0d06caSMauro Carvalho Chehab 	/* No known way to lower framerate in case of less bandwidth */
290c0d06caSMauro Carvalho Chehab 	.min_packet_size = { 300, 847 },
300c0d06caSMauro Carvalho Chehab 	.max_packet_size = { 300, 847 },
310c0d06caSMauro Carvalho Chehab 	.init = st6422_init,
320c0d06caSMauro Carvalho Chehab 	.init_controls = st6422_init_controls,
330c0d06caSMauro Carvalho Chehab 	.probe = st6422_probe,
340c0d06caSMauro Carvalho Chehab 	.start = st6422_start,
350c0d06caSMauro Carvalho Chehab 	.stop = st6422_stop,
360c0d06caSMauro Carvalho Chehab };
370c0d06caSMauro Carvalho Chehab 
380c0d06caSMauro Carvalho Chehab #endif
39