/* * mxl111sf-gpio.h - driver for the MaxLinear MXL111SF * * Copyright (C) 2010-2014 Michael Krufky <mkrufky@linuxtv.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef _DVB_USB_MXL111SF_GPIO_H_ #define _DVB_USB_MXL111SF_GPIO_H_ #include "mxl111sf.h" int mxl111sf_set_gpio(struct mxl111sf_state *state, int gpio, int val); int mxl111sf_init_port_expander(struct mxl111sf_state *state); #define MXL111SF_GPIO_MOD_DVBT 0 #define MXL111SF_GPIO_MOD_MH 1 #define MXL111SF_GPIO_MOD_ATSC 2 int mxl111sf_gpio_mode_switch(struct mxl111sf_state *state, unsigned int mode); enum mxl111sf_mux_config { PIN_MUX_DEFAULT = 0, PIN_MUX_TS_OUT_PARALLEL, PIN_MUX_TS_OUT_SERIAL, PIN_MUX_GPIO_MODE, PIN_MUX_TS_SERIAL_IN_MODE_0, PIN_MUX_TS_SERIAL_IN_MODE_1, PIN_MUX_TS_SPI_IN_MODE_0, PIN_MUX_TS_SPI_IN_MODE_1, PIN_MUX_TS_PARALLEL_IN, PIN_MUX_BT656_I2S_MODE, }; int mxl111sf_config_pin_mux_modes(struct mxl111sf_state *state, enum mxl111sf_mux_config pin_mux_config); #endif /* _DVB_USB_MXL111SF_GPIO_H_ */