1*c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 24c66c920SMichael Krufky /* 34c66c920SMichael Krufky * mxl111sf-gpio.h - driver for the MaxLinear MXL111SF 44c66c920SMichael Krufky * 508e10972SMichael Krufky * Copyright (C) 2010-2014 Michael Krufky <mkrufky@linuxtv.org> 64c66c920SMichael Krufky */ 74c66c920SMichael Krufky 84c66c920SMichael Krufky #ifndef _DVB_USB_MXL111SF_GPIO_H_ 94c66c920SMichael Krufky #define _DVB_USB_MXL111SF_GPIO_H_ 104c66c920SMichael Krufky 114c66c920SMichael Krufky #include "mxl111sf.h" 124c66c920SMichael Krufky 134c66c920SMichael Krufky int mxl111sf_set_gpio(struct mxl111sf_state *state, int gpio, int val); 144c66c920SMichael Krufky int mxl111sf_init_port_expander(struct mxl111sf_state *state); 154c66c920SMichael Krufky 164c66c920SMichael Krufky #define MXL111SF_GPIO_MOD_DVBT 0 174c66c920SMichael Krufky #define MXL111SF_GPIO_MOD_MH 1 184c66c920SMichael Krufky #define MXL111SF_GPIO_MOD_ATSC 2 194c66c920SMichael Krufky int mxl111sf_gpio_mode_switch(struct mxl111sf_state *state, unsigned int mode); 204c66c920SMichael Krufky 214c66c920SMichael Krufky enum mxl111sf_mux_config { 224c66c920SMichael Krufky PIN_MUX_DEFAULT = 0, 234c66c920SMichael Krufky PIN_MUX_TS_OUT_PARALLEL, 244c66c920SMichael Krufky PIN_MUX_TS_OUT_SERIAL, 254c66c920SMichael Krufky PIN_MUX_GPIO_MODE, 264c66c920SMichael Krufky PIN_MUX_TS_SERIAL_IN_MODE_0, 274c66c920SMichael Krufky PIN_MUX_TS_SERIAL_IN_MODE_1, 284c66c920SMichael Krufky PIN_MUX_TS_SPI_IN_MODE_0, 294c66c920SMichael Krufky PIN_MUX_TS_SPI_IN_MODE_1, 304c66c920SMichael Krufky PIN_MUX_TS_PARALLEL_IN, 314c66c920SMichael Krufky PIN_MUX_BT656_I2S_MODE, 324c66c920SMichael Krufky }; 334c66c920SMichael Krufky 344c66c920SMichael Krufky int mxl111sf_config_pin_mux_modes(struct mxl111sf_state *state, 354c66c920SMichael Krufky enum mxl111sf_mux_config pin_mux_config); 364c66c920SMichael Krufky 374c66c920SMichael Krufky #endif /* _DVB_USB_MXL111SF_GPIO_H_ */ 38