[Question] How to add other device to OMAP4430 i2c.0 bus?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all.
I have working kernel 2.6.35 from B@N Nook Tablet. I want port it on the 3.x 
branch. 
On the 2.6 branch I have such i2c bus initialization:

static int __init omap4_i2c_init(void)
{
        omap_i2c_hwspinlock_init(1, 0, &sdp4430_i2c_bus_pdata);
        omap_i2c_hwspinlock_init(2, 1, &sdp4430_i2c_2_bus_pdata);
        omap_i2c_hwspinlock_init(3, 2, &sdp4430_i2c_3_bus_pdata);
        omap_i2c_hwspinlock_init(4, 3, &sdp4430_i2c_4_bus_pdata);

        regulator_has_full_constraints();

        /*
         * Phoenix Audio IC needs I2C1 to
         * start with 400 KHz or less
         */
        omap_register_i2c_bus(1, 400, &sdp4430_i2c_bus_pdata,
                        sdp4430_i2c_boardinfo, ARRAY_SIZE
(sdp4430_i2c_boardinfo));
        omap_register_i2c_bus(2, 400, &sdp4430_i2c_2_bus_pdata,
                        sdp4430_i2c_2_boardinfo, ARRAY_SIZE
(sdp4430_i2c_2_boardinfo));
        omap_register_i2c_bus(3, 400, &sdp4430_i2c_3_bus_pdata,
                        sdp4430_i2c_3_boardinfo, ARRAY_SIZE
(sdp4430_i2c_3_boardinfo));
        omap_register_i2c_bus(4, 400, &sdp4430_i2c_4_bus_pdata,
                        sdp4430_i2c_4_boardinfo, ARRAY_SIZE
(sdp4430_i2c_4_boardinfo));
        return 0;
}
where 
static struct i2c_board_info __initdata sdp4430_i2c_boardinfo[] = {
        {
                I2C_BOARD_INFO("twl6030", 0x48),
                .flags = I2C_CLIENT_WAKE,
                .irq = OMAP44XX_IRQ_SYS_1N,
                .platform_data = &sdp4430_twldata,
        },
        {
                I2C_BOARD_INFO(KXTF9_DEVICE_ID, KXTF9_I2C_SLAVE_ADDRESS),
                .platform_data = &kxtf9_platform_data_here,
                .irq = 0,
        },
        {
                I2C_BOARD_INFO(MAX17042_DEVICE_ID, MAX17042_I2C_SLAVE_ADDRESS),
                .platform_data = &max17042_platform_data_here,
                .irq = 0,
        },
};

On 3.2 branch I can see such initialization:

static int __init omap4_i2c_init(void)
{
        omap4_pmic_get_config(&sdp4430_twldata, TWL_COMMON_PDATA_USB,
                        TWL_COMMON_REGULATOR_VDAC |
                        TWL_COMMON_REGULATOR_VAUX2 |
                        TWL_COMMON_REGULATOR_VAUX3 |
                        TWL_COMMON_REGULATOR_VMMC |
                        TWL_COMMON_REGULATOR_VPP |
                        TWL_COMMON_REGULATOR_VANA |
                        TWL_COMMON_REGULATOR_VCXIO |
                        TWL_COMMON_REGULATOR_VUSB |
                        TWL_COMMON_REGULATOR_CLK32KG);
        omap4_pmic_init("twl6030", &sdp4430_twldata);
        omap_register_i2c_bus(2, 400, NULL, 0);
        omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo,
                                ARRAY_SIZE(sdp4430_i2c_3_boardinfo));
        omap_register_i2c_bus(4, 400, sdp4430_i2c_4_boardinfo,
                                ARRAY_SIZE(sdp4430_i2c_4_boardinfo));
        return 0;
}

How to add other devices to i2c bus 0 (not only twl6030)?


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux