18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * NXP TDA10071 + Conexant CX24118A DVB-S/S2 demodulator + tuner driver
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2011 Antti Palosaari <crope@iki.fi>
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#ifndef TDA10071_H
98c2ecf20Sopenharmony_ci#define TDA10071_H
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#include <linux/dvb/frontend.h>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci/*
148c2ecf20Sopenharmony_ci * I2C address
158c2ecf20Sopenharmony_ci * 0x05, 0x55,
168c2ecf20Sopenharmony_ci */
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci/**
198c2ecf20Sopenharmony_ci * struct tda10071_platform_data - Platform data for the tda10071 driver
208c2ecf20Sopenharmony_ci * @clk: Clock frequency.
218c2ecf20Sopenharmony_ci * @i2c_wr_max: Max bytes I2C adapter can write at once.
228c2ecf20Sopenharmony_ci * @ts_mode: TS mode.
238c2ecf20Sopenharmony_ci * @spec_inv: Input spectrum inversion.
248c2ecf20Sopenharmony_ci * @pll_multiplier: PLL multiplier.
258c2ecf20Sopenharmony_ci * @tuner_i2c_addr: CX24118A tuner I2C address (0x14, 0x54, ...).
268c2ecf20Sopenharmony_ci * @get_dvb_frontend: Get DVB frontend.
278c2ecf20Sopenharmony_ci */
288c2ecf20Sopenharmony_cistruct tda10071_platform_data {
298c2ecf20Sopenharmony_ci	u32 clk;
308c2ecf20Sopenharmony_ci	u16 i2c_wr_max;
318c2ecf20Sopenharmony_ci#define TDA10071_TS_SERIAL        0
328c2ecf20Sopenharmony_ci#define TDA10071_TS_PARALLEL      1
338c2ecf20Sopenharmony_ci	u8 ts_mode;
348c2ecf20Sopenharmony_ci	bool spec_inv;
358c2ecf20Sopenharmony_ci	u8 pll_multiplier;
368c2ecf20Sopenharmony_ci	u8 tuner_i2c_addr;
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci	struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
398c2ecf20Sopenharmony_ci};
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci#endif /* TDA10071_H */
42