Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into hwg
[firefly-linux-kernel-4.4.55.git] / drivers / i2c / busses / i2c-rk30.h
index 68daa5cb535c8832e68fa14d951fcecffce225e1..c4e124f322dd1e06ed4d8f0f70290e8619a29057 100755 (executable)
@@ -28,6 +28,9 @@
 #define i2c_dbg(dev, format, arg...)
 #endif
 
+#define i2c_writel                 writel_relaxed
+#define i2c_readl                  readl_relaxed
+
 #define I2C_WAIT_TIMEOUT            200  //100ms
 
 #define rk30_set_bit(p, v, b)        (((p) & ~(1 << (b))) | ((v) << (b)))
@@ -41,6 +44,7 @@
 
 #define GRF_I2C_CON_BASE            (RK30_GRF_BASE + GRF_SOC_CON1)
 #define I2C_ADAP_SEL_BIT(nr)        ((nr) + 11)
+#define I2C_ADAP_SEL_MASK(nr)        ((nr) + 27)
 enum rk30_i2c_state {
        STATE_IDLE,
        STATE_START,
@@ -65,28 +69,28 @@ struct rk30_i2c {
        unsigned long           clkrate;
 
        void __iomem            *regs;
-    void __iomem        *con_base;
+        void __iomem        *con_base;
        struct clk                  *clk;
        struct device           *dev;
        struct resource         *ioarea;
        struct i2c_adapter      adap;
     
-    unsigned long              scl_rate;
+        unsigned long          scl_rate;
        unsigned long           i2c_rate;
-    unsigned int        addr;
-    unsigned int        mode;
-    unsigned int        count;
+        unsigned int        addr;
+        unsigned int        mode;
+        unsigned int        count;
 
-    struct wake_lock    idlelock[5];
-    int is_div_from_arm[5];
+        struct wake_lock    idlelock[5];
+        int is_div_from_arm[5];
 
 #ifdef CONFIG_CPU_FREQ
        struct notifier_block   freq_transition;
 #endif
 
-    void (*i2c_init_hw)(struct rk30_i2c *, unsigned long scl_rate);
-    void (*i2c_set_clk)(struct rk30_i2c *, unsigned long);
-    irqreturn_t (*i2c_irq)(int, void *);
+        void (*i2c_init_hw)(struct rk30_i2c *, unsigned long scl_rate);
+        void (*i2c_set_clk)(struct rk30_i2c *, unsigned long);
+        irqreturn_t (*i2c_irq)(int, void *);
 };
 void i2c_adap_sel(struct rk30_i2c *i2c, int nr, int adap_type);
 int i2c_add_rk29_adapter(struct i2c_adapter *);