linux/include/linux/platform_data/i2c-mux-gpio.h
<<
>>
Prefs
   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 */
  34