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 */
34struct 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

source code of linux/drivers/media/test-drivers/vidtv/vidtv_tuner.h