18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * mxl111sf-gpio.h - driver for the MaxLinear MXL111SF 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2010-2014 Michael Krufky <mkrufky@linuxtv.org> 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#ifndef _DVB_USB_MXL111SF_GPIO_H_ 98c2ecf20Sopenharmony_ci#define _DVB_USB_MXL111SF_GPIO_H_ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include "mxl111sf.h" 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciint mxl111sf_set_gpio(struct mxl111sf_state *state, int gpio, int val); 148c2ecf20Sopenharmony_ciint mxl111sf_init_port_expander(struct mxl111sf_state *state); 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci#define MXL111SF_GPIO_MOD_DVBT 0 178c2ecf20Sopenharmony_ci#define MXL111SF_GPIO_MOD_MH 1 188c2ecf20Sopenharmony_ci#define MXL111SF_GPIO_MOD_ATSC 2 198c2ecf20Sopenharmony_ciint mxl111sf_gpio_mode_switch(struct mxl111sf_state *state, unsigned int mode); 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_cienum mxl111sf_mux_config { 228c2ecf20Sopenharmony_ci PIN_MUX_DEFAULT = 0, 238c2ecf20Sopenharmony_ci PIN_MUX_TS_OUT_PARALLEL, 248c2ecf20Sopenharmony_ci PIN_MUX_TS_OUT_SERIAL, 258c2ecf20Sopenharmony_ci PIN_MUX_GPIO_MODE, 268c2ecf20Sopenharmony_ci PIN_MUX_TS_SERIAL_IN_MODE_0, 278c2ecf20Sopenharmony_ci PIN_MUX_TS_SERIAL_IN_MODE_1, 288c2ecf20Sopenharmony_ci PIN_MUX_TS_SPI_IN_MODE_0, 298c2ecf20Sopenharmony_ci PIN_MUX_TS_SPI_IN_MODE_1, 308c2ecf20Sopenharmony_ci PIN_MUX_TS_PARALLEL_IN, 318c2ecf20Sopenharmony_ci PIN_MUX_BT656_I2S_MODE, 328c2ecf20Sopenharmony_ci}; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciint mxl111sf_config_pin_mux_modes(struct mxl111sf_state *state, 358c2ecf20Sopenharmony_ci enum mxl111sf_mux_config pin_mux_config); 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci#endif /* _DVB_USB_MXL111SF_GPIO_H_ */ 38