18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * NXP TDA18250BHN silicon tuner driver
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2017 Olli Salonen <olli.salonen@iki.fi>
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#ifndef TDA18250_H
98c2ecf20Sopenharmony_ci#define TDA18250_H
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#include <linux/kconfig.h>
128c2ecf20Sopenharmony_ci#include <media/media-device.h>
138c2ecf20Sopenharmony_ci#include <media/dvb_frontend.h>
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci#define TDA18250_XTAL_FREQ_16MHZ 0
168c2ecf20Sopenharmony_ci#define TDA18250_XTAL_FREQ_24MHZ 1
178c2ecf20Sopenharmony_ci#define TDA18250_XTAL_FREQ_25MHZ 2
188c2ecf20Sopenharmony_ci#define TDA18250_XTAL_FREQ_27MHZ 3
198c2ecf20Sopenharmony_ci#define TDA18250_XTAL_FREQ_30MHZ 4
208c2ecf20Sopenharmony_ci#define TDA18250_XTAL_FREQ_MAX 5
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_cistruct tda18250_config {
238c2ecf20Sopenharmony_ci	u16 if_dvbt_6;
248c2ecf20Sopenharmony_ci	u16 if_dvbt_7;
258c2ecf20Sopenharmony_ci	u16 if_dvbt_8;
268c2ecf20Sopenharmony_ci	u16 if_dvbc_6;
278c2ecf20Sopenharmony_ci	u16 if_dvbc_8;
288c2ecf20Sopenharmony_ci	u16 if_atsc;
298c2ecf20Sopenharmony_ci	u8 xtal_freq;
308c2ecf20Sopenharmony_ci	bool loopthrough;
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	/*
338c2ecf20Sopenharmony_ci	 * frontend
348c2ecf20Sopenharmony_ci	 */
358c2ecf20Sopenharmony_ci	struct dvb_frontend *fe;
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci#if defined(CONFIG_MEDIA_CONTROLLER)
388c2ecf20Sopenharmony_ci	struct media_device *mdev;
398c2ecf20Sopenharmony_ci#endif
408c2ecf20Sopenharmony_ci};
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci#endif
43