i2c-mux-gpio.h (955B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * i2c-mux-gpio interface to platform code 4 * 5 * Peter Korsgaard <peter.korsgaard@barco.com> 6 */ 7 8#ifndef _LINUX_I2C_MUX_GPIO_H 9#define _LINUX_I2C_MUX_GPIO_H 10 11/* MUX has no specific idle mode */ 12#define I2C_MUX_GPIO_NO_IDLE ((unsigned)-1) 13 14/** 15 * struct i2c_mux_gpio_platform_data - Platform-dependent data for i2c-mux-gpio 16 * @parent: Parent I2C bus adapter number 17 * @base_nr: Base I2C bus number to number adapters from or zero for dynamic 18 * @values: Array of bitmasks of GPIO settings (low/high) for each 19 * position 20 * @n_values: Number of multiplexer positions (busses to instantiate) 21 * @classes: Optional I2C auto-detection classes 22 * @idle: Bitmask to write to MUX when idle or GPIO_I2CMUX_NO_IDLE if not used 23 */ 24struct i2c_mux_gpio_platform_data { 25 int parent; 26 int base_nr; 27 const unsigned *values; 28 int n_values; 29 const unsigned *classes; 30 unsigned idle; 31}; 32 33#endif /* _LINUX_I2C_MUX_GPIO_H */