@@ -109,40 +109,6 @@ static inline u8 oc_getreg_32(struct ocores_i2c *i2c, int reg)
109
109
return ioread32 (i2c -> base + (reg << i2c -> reg_shift ));
110
110
}
111
111
112
- /* Read and write functions for the GRLIB port of the controller. Registers are
113
- * 32-bit big endian and the PRELOW and PREHIGH registers are merged into one
114
- * register. The subsequent registers has their offset decreased accordingly. */
115
- static u8 oc_getreg_grlib (struct ocores_i2c * i2c , int reg )
116
- {
117
- u32 rd ;
118
- int rreg = reg ;
119
- if (reg != OCI2C_PRELOW )
120
- rreg -- ;
121
- rd = ioread32be (i2c -> base + (rreg << i2c -> reg_shift ));
122
- if (reg == OCI2C_PREHIGH )
123
- return (u8 )(rd >> 8 );
124
- else
125
- return (u8 )rd ;
126
- }
127
-
128
- static void oc_setreg_grlib (struct ocores_i2c * i2c , int reg , u8 value )
129
- {
130
- u32 curr , wr ;
131
- int rreg = reg ;
132
- if (reg != OCI2C_PRELOW )
133
- rreg -- ;
134
- if (reg == OCI2C_PRELOW || reg == OCI2C_PREHIGH ) {
135
- curr = ioread32be (i2c -> base + (rreg << i2c -> reg_shift ));
136
- if (reg == OCI2C_PRELOW )
137
- wr = (curr & 0xff00 ) | value ;
138
- else
139
- wr = (((u32 )value ) << 8 ) | (curr & 0xff );
140
- } else {
141
- wr = value ;
142
- }
143
- iowrite32be (wr , i2c -> base + (rreg << i2c -> reg_shift ));
144
- }
145
-
146
112
static inline void oc_setreg (struct ocores_i2c * i2c , int reg , u8 value )
147
113
{
148
114
i2c -> setreg (i2c , reg , value );
@@ -303,6 +269,40 @@ static struct of_device_id ocores_i2c_match[] = {
303
269
MODULE_DEVICE_TABLE (of , ocores_i2c_match );
304
270
305
271
#ifdef CONFIG_OF
272
+ /* Read and write functions for the GRLIB port of the controller. Registers are
273
+ * 32-bit big endian and the PRELOW and PREHIGH registers are merged into one
274
+ * register. The subsequent registers has their offset decreased accordingly. */
275
+ static u8 oc_getreg_grlib (struct ocores_i2c * i2c , int reg )
276
+ {
277
+ u32 rd ;
278
+ int rreg = reg ;
279
+ if (reg != OCI2C_PRELOW )
280
+ rreg -- ;
281
+ rd = ioread32be (i2c -> base + (rreg << i2c -> reg_shift ));
282
+ if (reg == OCI2C_PREHIGH )
283
+ return (u8 )(rd >> 8 );
284
+ else
285
+ return (u8 )rd ;
286
+ }
287
+
288
+ static void oc_setreg_grlib (struct ocores_i2c * i2c , int reg , u8 value )
289
+ {
290
+ u32 curr , wr ;
291
+ int rreg = reg ;
292
+ if (reg != OCI2C_PRELOW )
293
+ rreg -- ;
294
+ if (reg == OCI2C_PRELOW || reg == OCI2C_PREHIGH ) {
295
+ curr = ioread32be (i2c -> base + (rreg << i2c -> reg_shift ));
296
+ if (reg == OCI2C_PRELOW )
297
+ wr = (curr & 0xff00 ) | value ;
298
+ else
299
+ wr = (((u32 )value ) << 8 ) | (curr & 0xff );
300
+ } else {
301
+ wr = value ;
302
+ }
303
+ iowrite32be (wr , i2c -> base + (rreg << i2c -> reg_shift ));
304
+ }
305
+
306
306
static int ocores_i2c_of_probe (struct platform_device * pdev ,
307
307
struct ocores_i2c * i2c )
308
308
{
0 commit comments