mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 11:19:37 +00:00
![Thomas Gleixner](/assets/img/avatar_default.png)
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 3029 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* I2C multiplexer using a single register
|
|
*
|
|
* Copyright 2015 Freescale Semiconductor
|
|
* York Sun <yorksun@freescale.com>
|
|
*/
|
|
|
|
#ifndef __LINUX_PLATFORM_DATA_I2C_MUX_REG_H
|
|
#define __LINUX_PLATFORM_DATA_I2C_MUX_REG_H
|
|
|
|
/**
|
|
* struct i2c_mux_reg_platform_data - Platform-dependent data for i2c-mux-reg
|
|
* @parent: Parent I2C bus adapter number
|
|
* @base_nr: Base I2C bus number to number adapters from or zero for dynamic
|
|
* @values: Array of value for each channel
|
|
* @n_values: Number of multiplexer channels
|
|
* @little_endian: Indicating if the register is in little endian
|
|
* @write_only: Reading the register is not allowed by hardware
|
|
* @classes: Optional I2C auto-detection classes
|
|
* @idle: Value to write to mux when idle
|
|
* @idle_in_use: indicate if idle value is in use
|
|
* @reg: Virtual address of the register to switch channel
|
|
* @reg_size: register size in bytes
|
|
*/
|
|
struct i2c_mux_reg_platform_data {
|
|
int parent;
|
|
int base_nr;
|
|
const unsigned int *values;
|
|
int n_values;
|
|
bool little_endian;
|
|
bool write_only;
|
|
const unsigned int *classes;
|
|
u32 idle;
|
|
bool idle_in_use;
|
|
void __iomem *reg;
|
|
resource_size_t reg_size;
|
|
};
|
|
|
|
#endif /* __LINUX_PLATFORM_DATA_I2C_MUX_REG_H */
|