Re: [PATCH v2 1/5] OMAP2xxx: hwmod: add I2C hwmods for OMAP2420, 2430

Paul Walmsley
2010-09-21T07:09:15Z

On Fri, 17 Sep 2010, Rajendra Nayak wrote:

> From: Paul Walmsley <paul@pwsan.com>
>
> Add hwmod structures for I2C controllers on OMAP2420/2430.
>
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> Signed-off-by: Rajendra Nayak <rnayak@ti.com>

Some items that stick out in this patch that should be fixed:

> +static struct omap_hwmod omap2420_i2c1_hwmod = {
> + .name = "i2c1",
> + .mpu_irqs = i2c1_mpu_irqs,
> + .mpu_irqs_cnt = ARRAY_SIZE(i2c1_mpu_irqs),
> + .sdma_reqs = i2c1_sdma_reqs,
> + .sdma_reqs_cnt = ARRAY_SIZE(i2c1_sdma_reqs),
> + .main_clk = "i2c1_fck",
> + .prcm = {
> + .omap2 = {
> + .prcm_reg_id = 1,
> + .module_bit = OMAP2420_EN_I2C1_SHIFT,
> + .idlest_reg_id = 1,
> + .idlest_idle_bit = OMAP2420_EN_I2C1_SHIFT,

This should be OMAP2420_ST_I2C1_SHIFT, not OMAP2420_EN_I2C1_SHIFT.
Likewise for the other entries.

> +static struct omap_hwmod omap2430_i2c1_hwmod = {
> + .name = "i2c1",
> + .mpu_irqs = i2c1_mpu_irqs,
> + .mpu_irqs_cnt = ARRAY_SIZE(i2c1_mpu_irqs),
> + .sdma_reqs = i2c1_sdma_reqs,
> + .sdma_reqs_cnt = ARRAY_SIZE(i2c1_sdma_reqs),
> + .main_clk = "i2c1_fck",
> + .prcm = {
> + .omap2 = {
> + .prcm_reg_id = 1,
> + .module_bit = OMAP2430_EN_I2CHS1_SHIFT,
> + .idlest_reg_id = 1,

This is wrong - the idlest_reg_id for the 2430 I2CHS blocks is different.
Were these patches tested on 2430?

> + .idlest_idle_bit = OMAP2430_EN_I2CHS1_SHIFT,
> + },
> + },
> + .slaves = omap2430_i2c1_slaves,
> + .slaves_cnt = ARRAY_SIZE(omap2430_i2c1_slaves),
> + .class = &i2c_class,
> + .dev_attr = &i2c1_dev_attr,
> + .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
> +};

- Paul