18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Realtek RTL2832U SDR driver
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2013 Antti Palosaari <crope@iki.fi>
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * GNU Radio plugin "gr-kernel" for device usage will be on:
88c2ecf20Sopenharmony_ci * http://git.linuxtv.org/anttip/gr-kernel.git
98c2ecf20Sopenharmony_ci */
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#ifndef RTL2832_SDR_H
128c2ecf20Sopenharmony_ci#define RTL2832_SDR_H
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci#include <linux/i2c.h>
158c2ecf20Sopenharmony_ci#include <media/v4l2-subdev.h>
168c2ecf20Sopenharmony_ci#include <media/dvb_frontend.h>
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci/**
198c2ecf20Sopenharmony_ci * struct rtl2832_sdr_platform_data - Platform data for the rtl2832_sdr driver
208c2ecf20Sopenharmony_ci * @clk: Clock frequency (4000000, 16000000, 25000000, 28800000).
218c2ecf20Sopenharmony_ci * @tuner: Used tuner model.
228c2ecf20Sopenharmony_ci * @regmap: pointer to &struct regmap.
238c2ecf20Sopenharmony_ci * @dvb_frontend: rtl2832 DVB frontend.
248c2ecf20Sopenharmony_ci * @v4l2_subdev: Tuner v4l2 controls.
258c2ecf20Sopenharmony_ci * @dvb_usb_device: DVB USB interface for USB streaming.
268c2ecf20Sopenharmony_ci */
278c2ecf20Sopenharmony_cistruct rtl2832_sdr_platform_data {
288c2ecf20Sopenharmony_ci	u32 clk;
298c2ecf20Sopenharmony_ci	/*
308c2ecf20Sopenharmony_ci	 * XXX: This list must be kept sync with dvb_usb_rtl28xxu USB IF driver.
318c2ecf20Sopenharmony_ci	 */
328c2ecf20Sopenharmony_ci#define RTL2832_SDR_TUNER_FC2580    0x21
338c2ecf20Sopenharmony_ci#define RTL2832_SDR_TUNER_TUA9001   0x24
348c2ecf20Sopenharmony_ci#define RTL2832_SDR_TUNER_FC0012    0x26
358c2ecf20Sopenharmony_ci#define RTL2832_SDR_TUNER_E4000     0x27
368c2ecf20Sopenharmony_ci#define RTL2832_SDR_TUNER_FC0013    0x29
378c2ecf20Sopenharmony_ci#define RTL2832_SDR_TUNER_R820T     0x2a
388c2ecf20Sopenharmony_ci#define RTL2832_SDR_TUNER_R828D     0x2b
398c2ecf20Sopenharmony_ci	u8 tuner;
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci	struct regmap *regmap;
428c2ecf20Sopenharmony_ci	struct dvb_frontend *dvb_frontend;
438c2ecf20Sopenharmony_ci	struct v4l2_subdev *v4l2_subdev;
448c2ecf20Sopenharmony_ci	struct dvb_usb_device *dvb_usb_device;
458c2ecf20Sopenharmony_ci};
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci#endif /* RTL2832_SDR_H */
48