/*
 * Google LWIS I2C Interface
 *
 * Copyright (c) 2018 Google, LLC
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef LWIS_I2C_H_
#define LWIS_I2C_H_

#include <linux/i2c.h>
#include <linux/pinctrl/consumer.h>

#include "lwis_commands.h"
#include "lwis_device_i2c.h"

#define I2C_STATE_OFF_STRING "off_i2c"
#define I2C_STATE_ON_STRING "on_i2c"

/*
 *  lwis_i2c_set_state: Enable or disable the i2c device.
 *  NOTE: state_str must match the pinctrl-names defined in the i2c driver.
 *  Pinctrl states can be found in the device tree, look for the i2c entry and
 *  the state names are defined under "pinctrl-names".  Their corresponding
 *  functions are defined under "pinctrl-N".
 */
int lwis_i2c_set_state(struct lwis_i2c_device *i2c, const char *state_str);

/*
 *  lwis_i2c_io_entry_rw: Read/Write from i2c bus via io_entry request.
 *  The readback values will be stored in the entry.
 */
int lwis_i2c_io_entry_rw(struct lwis_i2c_device *i2c, struct lwis_io_entry *entry);

#endif /* LWIS_I2C_H_ */
