root/include/linux/platform_data/i2c-mux-reg.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /*
   3  * I2C multiplexer using a single register
   4  *
   5  * Copyright 2015 Freescale Semiconductor
   6  * York Sun <yorksun@freescale.com>
   7  */
   8 
   9 #ifndef __LINUX_PLATFORM_DATA_I2C_MUX_REG_H
  10 #define __LINUX_PLATFORM_DATA_I2C_MUX_REG_H
  11 
  12 /**
  13  * struct i2c_mux_reg_platform_data - Platform-dependent data for i2c-mux-reg
  14  * @parent: Parent I2C bus adapter number
  15  * @base_nr: Base I2C bus number to number adapters from or zero for dynamic
  16  * @values: Array of value for each channel
  17  * @n_values: Number of multiplexer channels
  18  * @little_endian: Indicating if the register is in little endian
  19  * @write_only: Reading the register is not allowed by hardware
  20  * @classes: Optional I2C auto-detection classes
  21  * @idle: Value to write to mux when idle
  22  * @idle_in_use: indicate if idle value is in use
  23  * @reg: Virtual address of the register to switch channel
  24  * @reg_size: register size in bytes
  25  */
  26 struct i2c_mux_reg_platform_data {
  27         int parent;
  28         int base_nr;
  29         const unsigned int *values;
  30         int n_values;
  31         bool little_endian;
  32         bool write_only;
  33         const unsigned int *classes;
  34         u32 idle;
  35         bool idle_in_use;
  36         void __iomem *reg;
  37         resource_size_t reg_size;
  38 };
  39 
  40 #endif  /* __LINUX_PLATFORM_DATA_I2C_MUX_REG_H */

/* [<][>][^][v][top][bottom][index][help] */