1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * The Virtual DTV test driver serves as a reference DVB driver and helps 4 * validate the existing APIs in the media subsystem. It can also aid 5 * developers working on userspace applications. 6 * 7 * Copyright (C) 2020 Daniel W. S. Almeida 8 */ 9 10 #ifndef VIDTV_TUNER_H 11 #define VIDTV_TUNER_H 12 13 #include <linux/types.h> 14 15 #include <media/dvb_frontend.h> 16 17 #define NUM_VALID_TUNER_FREQS 8 18 19 /** 20 * struct vidtv_tuner_config - Configuration used to init the tuner. 21 * @fe: A pointer to the dvb_frontend structure allocated by vidtv_demod. 22 * @mock_power_up_delay_msec: Simulate a power-up delay. 23 * @mock_tune_delay_msec: Simulate a tune delay. 24 * @vidtv_valid_dvb_t_freqs: The valid DVB-T frequencies to simulate. 25 * @vidtv_valid_dvb_c_freqs: The valid DVB-C frequencies to simulate. 26 * @vidtv_valid_dvb_s_freqs: The valid DVB-S frequencies to simulate. 27 * @max_frequency_shift_hz: The maximum frequency shift in HZ allowed when 28 * tuning in a channel 29 * 30 * The configuration used to init the tuner module, usually filled 31 * by a bridge driver. For vidtv, this is filled by vidtv_bridge before the 32 * tuner module is probed. 33 */ 34 struct vidtv_tuner_config { 35 struct dvb_frontend *fe; 36 u32 mock_power_up_delay_msec; 37 u32 mock_tune_delay_msec; 38 u32 vidtv_valid_dvb_t_freqs[NUM_VALID_TUNER_FREQS]; 39 u32 vidtv_valid_dvb_c_freqs[NUM_VALID_TUNER_FREQS]; 40 u32 vidtv_valid_dvb_s_freqs[NUM_VALID_TUNER_FREQS]; 41 u8 max_frequency_shift_hz; 42 }; 43 44 #endif //VIDTV_TUNER_H 45