cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

si2157_priv.h (2320B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Silicon Labs Si2146/2147/2148/2157/2158 silicon tuner driver
      4 *
      5 * Copyright (C) 2014 Antti Palosaari <crope@iki.fi>
      6 */
      7
      8#ifndef SI2157_PRIV_H
      9#define SI2157_PRIV_H
     10
     11#include <linux/firmware.h>
     12#include <media/v4l2-mc.h>
     13#include "si2157.h"
     14
     15enum si2157_pads {
     16	SI2157_PAD_RF_INPUT,
     17	SI2157_PAD_VID_OUT,
     18	SI2157_PAD_AUD_OUT,
     19	SI2157_NUM_PADS
     20};
     21
     22/* state struct */
     23struct si2157_dev {
     24	struct mutex i2c_mutex;
     25	struct dvb_frontend *fe;
     26	unsigned int active:1;
     27	unsigned int inversion:1;
     28	unsigned int dont_load_firmware:1;
     29	u8 part_id;
     30	u8 if_port;
     31	u32 if_frequency;
     32	u32 bandwidth;
     33	u32 frequency;
     34	struct delayed_work stat_work;
     35
     36#if defined(CONFIG_MEDIA_CONTROLLER)
     37	struct media_device	*mdev;
     38	struct media_entity	ent;
     39	struct media_pad	pad[SI2157_NUM_PADS];
     40#endif
     41
     42};
     43
     44enum si2157_part_id {
     45	SI2141 = 41,
     46	SI2146 = 46,
     47	SI2147 = 47,
     48	SI2148 = 48,
     49	SI2157 = 57,
     50	SI2158 = 58,
     51	SI2177 = 77,
     52};
     53
     54struct si2157_tuner_info {
     55	enum si2157_part_id	part_id;
     56	unsigned char		rom_id;
     57	bool			required;
     58	const char		*fw_name, *fw_alt_name;
     59};
     60
     61/* firmware command struct */
     62#define SI2157_ARGLEN      30
     63struct si2157_cmd {
     64	u8 args[SI2157_ARGLEN];
     65	unsigned wlen;
     66	unsigned rlen;
     67};
     68
     69#define SUPPORTS_1700KHz(dev) (((dev)->part_id == SI2141) || \
     70			       ((dev)->part_id == SI2147) || \
     71			       ((dev)->part_id == SI2157) || \
     72			       ((dev)->part_id == SI2177))
     73
     74#define SUPPORTS_ATV_IF(dev) (((dev)->part_id == SI2157) || \
     75			      ((dev)->part_id == SI2158))
     76
     77/* Old firmware namespace */
     78#define SI2158_A20_FIRMWARE "dvb-tuner-si2158-a20-01.fw"
     79#define SI2141_A10_FIRMWARE "dvb-tuner-si2141-a10-01.fw"
     80#define SI2157_A30_FIRMWARE "dvb-tuner-si2157-a30-01.fw"
     81
     82/* New firmware namespace */
     83#define SI2141_60_FIRMWARE "dvb_driver_si2141_rom60.fw"
     84#define SI2141_61_FIRMWARE "dvb_driver_si2141_rom61.fw"
     85#define SI2146_11_FIRMWARE "dvb_driver_si2146_rom11.fw"
     86#define SI2147_50_FIRMWARE "dvb_driver_si2147_rom50.fw"
     87#define SI2148_32_FIRMWARE "dvb_driver_si2148_rom32.fw"
     88#define SI2148_33_FIRMWARE "dvb_driver_si2148_rom33.fw"
     89#define SI2157_50_FIRMWARE "dvb_driver_si2157_rom50.fw"
     90#define SI2158_50_FIRMWARE "dvb_driver_si2178_rom50.fw"
     91#define SI2158_51_FIRMWARE "dvb_driver_si2158_rom51.fw"
     92#define SI2177_50_FIRMWARE "dvb_driver_si2177_rom50.fw"
     93
     94#endif