diff options
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/i2c-imx31.c')
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/i2c-imx31.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/i2c-imx31.c b/firmware/target/arm/imx31/gigabeat-s/i2c-imx31.c index bf69afedb7..05d761c9ce 100644 --- a/firmware/target/arm/imx31/gigabeat-s/i2c-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/i2c-imx31.c | |||
@@ -57,7 +57,7 @@ static struct i2c_module_descriptor | |||
57 | { | 57 | { |
58 | .base = (struct i2c_map *)I2C1_BASE_ADDR, | 58 | .base = (struct i2c_map *)I2C1_BASE_ADDR, |
59 | .cg = CG_I2C1, | 59 | .cg = CG_I2C1, |
60 | .ints = I2C1, | 60 | .ints = INT_I2C1, |
61 | .handler = I2C1_HANDLER, | 61 | .handler = I2C1_HANDLER, |
62 | }, | 62 | }, |
63 | #endif | 63 | #endif |
@@ -65,7 +65,7 @@ static struct i2c_module_descriptor | |||
65 | { | 65 | { |
66 | .base = (struct i2c_map *)I2C2_BASE_ADDR, | 66 | .base = (struct i2c_map *)I2C2_BASE_ADDR, |
67 | .cg = CG_I2C2, | 67 | .cg = CG_I2C2, |
68 | .ints = I2C2, | 68 | .ints = INT_I2C2, |
69 | .handler = I2C2_HANDLER, | 69 | .handler = I2C2_HANDLER, |
70 | }, | 70 | }, |
71 | #endif | 71 | #endif |
@@ -73,7 +73,7 @@ static struct i2c_module_descriptor | |||
73 | { | 73 | { |
74 | .base = (struct i2c_map *)I2C3_BASE_ADDR, | 74 | .base = (struct i2c_map *)I2C3_BASE_ADDR, |
75 | .cg = CG_I2C3, | 75 | .cg = CG_I2C3, |
76 | .ints = I2C3, | 76 | .ints = INT_I2C3, |
77 | .handler = I2C3_HANDLER, | 77 | .handler = I2C3_HANDLER, |
78 | }, | 78 | }, |
79 | #endif | 79 | #endif |
@@ -286,11 +286,11 @@ void i2c_init(void) | |||
286 | for (i = 0; i < I2C_NUM_I2C; i++) | 286 | for (i = 0; i < I2C_NUM_I2C; i++) |
287 | { | 287 | { |
288 | struct i2c_module_descriptor *const desc = &i2c_descs[i]; | 288 | struct i2c_module_descriptor *const desc = &i2c_descs[i]; |
289 | imx31_clkctl_module_clock_gating(desc->cg, CGM_ON_ALL); | 289 | ccm_module_clock_gating(desc->cg, CGM_ON_RUN_WAIT); |
290 | mutex_init(&desc->m); | 290 | mutex_init(&desc->m); |
291 | wakeup_init(&desc->w); | 291 | wakeup_init(&desc->w); |
292 | desc->base->i2cr = 0; | 292 | desc->base->i2cr = 0; |
293 | imx31_clkctl_module_clock_gating(desc->cg, CGM_OFF); | 293 | ccm_module_clock_gating(desc->cg, CGM_OFF); |
294 | } | 294 | } |
295 | } | 295 | } |
296 | 296 | ||
@@ -305,8 +305,9 @@ void i2c_enable_node(struct i2c_node *node, bool enable) | |||
305 | if (++desc->enable == 1) | 305 | if (++desc->enable == 1) |
306 | { | 306 | { |
307 | /* First enable */ | 307 | /* First enable */ |
308 | imx31_clkctl_module_clock_gating(desc->cg, CGM_ON_ALL); | 308 | ccm_module_clock_gating(desc->cg, CGM_ON_RUN_WAIT); |
309 | avic_enable_int(desc->ints, IRQ, 7, desc->handler); | 309 | avic_enable_int(desc->ints, INT_TYPE_IRQ, INT_PRIO_DEFAULT, |
310 | desc->handler); | ||
310 | } | 311 | } |
311 | } | 312 | } |
312 | else | 313 | else |
@@ -317,7 +318,7 @@ void i2c_enable_node(struct i2c_node *node, bool enable) | |||
317 | while (desc->base->i2sr & I2C_I2SR_IBB); /* Wait for STOP */ | 318 | while (desc->base->i2sr & I2C_I2SR_IBB); /* Wait for STOP */ |
318 | desc->base->i2cr &= ~I2C_I2CR_IEN; | 319 | desc->base->i2cr &= ~I2C_I2CR_IEN; |
319 | avic_disable_int(desc->ints); | 320 | avic_disable_int(desc->ints); |
320 | imx31_clkctl_module_clock_gating(desc->cg, CGM_OFF); | 321 | ccm_module_clock_gating(desc->cg, CGM_OFF); |
321 | } | 322 | } |
322 | } | 323 | } |
323 | 324 | ||