162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * NXP TDA18250BHN silicon tuner driver
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2017 Olli Salonen <olli.salonen@iki.fi>
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#ifndef TDA18250_H
962306a36Sopenharmony_ci#define TDA18250_H
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include <linux/kconfig.h>
1262306a36Sopenharmony_ci#include <media/media-device.h>
1362306a36Sopenharmony_ci#include <media/dvb_frontend.h>
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#define TDA18250_XTAL_FREQ_16MHZ 0
1662306a36Sopenharmony_ci#define TDA18250_XTAL_FREQ_24MHZ 1
1762306a36Sopenharmony_ci#define TDA18250_XTAL_FREQ_25MHZ 2
1862306a36Sopenharmony_ci#define TDA18250_XTAL_FREQ_27MHZ 3
1962306a36Sopenharmony_ci#define TDA18250_XTAL_FREQ_30MHZ 4
2062306a36Sopenharmony_ci#define TDA18250_XTAL_FREQ_MAX 5
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_cistruct tda18250_config {
2362306a36Sopenharmony_ci	u16 if_dvbt_6;
2462306a36Sopenharmony_ci	u16 if_dvbt_7;
2562306a36Sopenharmony_ci	u16 if_dvbt_8;
2662306a36Sopenharmony_ci	u16 if_dvbc_6;
2762306a36Sopenharmony_ci	u16 if_dvbc_8;
2862306a36Sopenharmony_ci	u16 if_atsc;
2962306a36Sopenharmony_ci	u8 xtal_freq;
3062306a36Sopenharmony_ci	bool loopthrough;
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	/*
3362306a36Sopenharmony_ci	 * frontend
3462306a36Sopenharmony_ci	 */
3562306a36Sopenharmony_ci	struct dvb_frontend *fe;
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci#if defined(CONFIG_MEDIA_CONTROLLER)
3862306a36Sopenharmony_ci	struct media_device *mdev;
3962306a36Sopenharmony_ci#endif
4062306a36Sopenharmony_ci};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci#endif
43