|
@@ -22,7 +22,6 @@
|
|
#include <linux/clk.h>
|
|
#include <linux/clk.h>
|
|
#include <linux/io.h>
|
|
#include <linux/io.h>
|
|
#include <linux/pm_runtime.h>
|
|
#include <linux/pm_runtime.h>
|
|
-#include <linux/platform_data/i2c-nomadik.h>
|
|
|
|
#include <linux/of.h>
|
|
#include <linux/of.h>
|
|
#include <linux/pinctrl/consumer.h>
|
|
#include <linux/pinctrl/consumer.h>
|
|
|
|
|
|
@@ -104,6 +103,29 @@
|
|
/* maximum threshold value */
|
|
/* maximum threshold value */
|
|
#define MAX_I2C_FIFO_THRESHOLD 15
|
|
#define MAX_I2C_FIFO_THRESHOLD 15
|
|
|
|
|
|
|
|
+enum i2c_freq_mode {
|
|
|
|
+ I2C_FREQ_MODE_STANDARD, /* up to 100 Kb/s */
|
|
|
|
+ I2C_FREQ_MODE_FAST, /* up to 400 Kb/s */
|
|
|
|
+ I2C_FREQ_MODE_HIGH_SPEED, /* up to 3.4 Mb/s */
|
|
|
|
+ I2C_FREQ_MODE_FAST_PLUS, /* up to 1 Mb/s */
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * struct nmk_i2c_controller - client specific controller configuration
|
|
|
|
+ * @clk_freq: clock frequency for the operation mode
|
|
|
|
+ * @tft: Tx FIFO Threshold in bytes
|
|
|
|
+ * @rft: Rx FIFO Threshold in bytes
|
|
|
|
+ * @timeout Slave response timeout(ms)
|
|
|
|
+ * @sm: speed mode
|
|
|
|
+ */
|
|
|
|
+struct nmk_i2c_controller {
|
|
|
|
+ u32 clk_freq;
|
|
|
|
+ unsigned char tft;
|
|
|
|
+ unsigned char rft;
|
|
|
|
+ int timeout;
|
|
|
|
+ enum i2c_freq_mode sm;
|
|
|
|
+};
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* struct i2c_vendor_data - per-vendor variations
|
|
* struct i2c_vendor_data - per-vendor variations
|
|
* @has_mtdws: variant has the MTDWS bit
|
|
* @has_mtdws: variant has the MTDWS bit
|