162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Silicon Labs Si2146/2147/2148/2157/2158 silicon tuner driver
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2014 Antti Palosaari <crope@iki.fi>
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#ifndef SI2157_H
962306a36Sopenharmony_ci#define SI2157_H
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include <media/media-device.h>
1262306a36Sopenharmony_ci#include <media/dvb_frontend.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/**
1562306a36Sopenharmony_ci * struct si2157_config - configuration parameters for si2157
1662306a36Sopenharmony_ci *
1762306a36Sopenharmony_ci * @fe:
1862306a36Sopenharmony_ci *	frontend returned by driver
1962306a36Sopenharmony_ci * @mdev:
2062306a36Sopenharmony_ci *	media device returned by driver
2162306a36Sopenharmony_ci * @inversion:
2262306a36Sopenharmony_ci *	spectral inversion
2362306a36Sopenharmony_ci * @dont_load_firmware:
2462306a36Sopenharmony_ci *	Instead of uploading a new firmware, use the existing one
2562306a36Sopenharmony_ci * @if_port:
2662306a36Sopenharmony_ci *	Port selection
2762306a36Sopenharmony_ci *	Select the RF interface to use (pins 9+11 or 12+13)
2862306a36Sopenharmony_ci *
2962306a36Sopenharmony_ci * Note:
3062306a36Sopenharmony_ci *	The I2C address of this demod is 0x60.
3162306a36Sopenharmony_ci */
3262306a36Sopenharmony_cistruct si2157_config {
3362306a36Sopenharmony_ci	struct dvb_frontend *fe;
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#if defined(CONFIG_MEDIA_CONTROLLER)
3662306a36Sopenharmony_ci	struct media_device *mdev;
3762306a36Sopenharmony_ci#endif
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	unsigned int inversion:1;
4062306a36Sopenharmony_ci	unsigned int dont_load_firmware:1;
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	u8 if_port;
4362306a36Sopenharmony_ci};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci#endif
46