^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * mxl111sf-phy.h - driver for the MaxLinear MXL111SF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Copyright (C) 2010-2014 Michael Krufky <mkrufky@linuxtv.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #ifndef _DVB_USB_MXL111SF_PHY_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define _DVB_USB_MXL111SF_PHY_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #include "mxl111sf.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) int mxl1x1sf_soft_reset(struct mxl111sf_state *state);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) int mxl1x1sf_set_device_mode(struct mxl111sf_state *state, int mode);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) int mxl1x1sf_top_master_ctrl(struct mxl111sf_state *state, int onoff);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) int mxl111sf_disable_656_port(struct mxl111sf_state *state);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) int mxl111sf_init_tuner_demod(struct mxl111sf_state *state);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) int mxl111sf_enable_usb_output(struct mxl111sf_state *state);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) int mxl111sf_config_mpeg_in(struct mxl111sf_state *state,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) unsigned int parallel_serial,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) unsigned int msb_lsb_1st,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) unsigned int clock_phase,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) unsigned int mpeg_valid_pol,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) unsigned int mpeg_sync_pol);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) int mxl111sf_config_i2s(struct mxl111sf_state *state,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) u8 msb_start_pos, u8 data_width);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) int mxl111sf_init_i2s_port(struct mxl111sf_state *state, u8 sample_size);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) int mxl111sf_disable_i2s_port(struct mxl111sf_state *state);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) int mxl111sf_config_spi(struct mxl111sf_state *state, int onoff);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) int mxl111sf_idac_config(struct mxl111sf_state *state,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) u8 control_mode, u8 current_setting,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) u8 current_value, u8 hysteresis_value);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #endif /* _DVB_USB_MXL111SF_PHY_H_ */