i2c: mux: gpio: Add support for the 'settle-time-us' property
Some hardware need some time to switch from a bus to another. This can cause the first transfers following the selection of a bus to fail. There is no way to configure this kind of waiting time in the driver. Add support for the 'settle-time-us' device-tree property. When set, the i2c_mux_gpio_select() applies a delay before returning, leaving enough time to the hardware to switch to the new bus. Signed-off-by: Bastien Curutchet <bastien.curutchet@bootlin.com> Reviewed-by: Andi Shyti <andi.shyti@kernel.org> Acked-by: Peter Rosin <peda@axentia.se> Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
This commit is contained in:
committed by
Andi Shyti
parent
a618d86d5a
commit
45b8ee7182
@@ -19,6 +19,7 @@
|
||||
* position
|
||||
* @n_values: Number of multiplexer positions (busses to instantiate)
|
||||
* @idle: Bitmask to write to MUX when idle or GPIO_I2CMUX_NO_IDLE if not used
|
||||
* @settle_time: Delay to wait when a new bus is selected
|
||||
*/
|
||||
struct i2c_mux_gpio_platform_data {
|
||||
int parent;
|
||||
@@ -26,6 +27,7 @@ struct i2c_mux_gpio_platform_data {
|
||||
const unsigned *values;
|
||||
int n_values;
|
||||
unsigned idle;
|
||||
u32 settle_time;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_I2C_MUX_GPIO_H */
|
||||
|
||||
Reference in New Issue
Block a user