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 | */ |
24 | struct 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 */ |
34 | |