查看: 5956|回复: 2

[求助] imx6内核启动i2c问题

[复制链接]

该用户从未签到

2

主题

3

帖子

0

新手上路

Rank: 1

积分
34
最后登录
2021-4-19
发表于 2021-4-13 10:16:19 | 显示全部楼层 |阅读模式
imx6,明明在内核源码中定义了i2c的相关挂载设备信息,但是在内核启动的打印信息中i2c还是启动失败,请问这是什么问题
内核相关源码:
static struct imxi2c_platform_data mx6q_sabresd_i2c_data = {
        .bitrate = 100000,
};

static struct fsl_mxc_lightsensor_platform_data ls_data = {
        .rext = 499,        /* calibration: 499K->700K */
};

static struct i2c_board_info mxc_i2c0_board_info[] __initdata = {
        {
                I2C_BOARD_INFO("wm89**", 0x1a),
        },
        //{
        //        I2C_BOARD_INFO("ov564x", 0x3c),
        //        .platform_data = (void *)&camera_data,
        //},
        {
                I2C_BOARD_INFO("mma8451", 0x1c),
                .platform_data = (void *)&mma8451_position,
        },
        // {
                // I2C_BOARD_INFO("myCam_mipi", 0x36),
                // .platform_data = (void *)&mipi_csi2_data,
        // },
};

static struct i2c_board_info mxc_i2c1_board_info[] __initdata = {
        {
                I2C_BOARD_INFO("mxc_hdmi_i2c", 0x50),
        },
        //{
        //        I2C_BOARD_INFO("ov5640_mipi", 0x3c),
        //        .platform_data = (void *)&mipi_csi2_data,
        //},
        {
                I2C_BOARD_INFO("adv7180", 0x21),
                .platform_data = (void *)&adv7180_data,
        },
        {
                I2C_BOARD_INFO("egalax_ts", 0x4),
                .irq = gpio_to_irq(SABRESD_CAP_TCH_INT0),
        },
        {
                I2C_BOARD_INFO("max11801", 0x48),
                .platform_data = (void *)&max11801_mode,
                .irq = gpio_to_irq(SABRESD_TS_INT),
        },
        {
                I2C_BOARD_INFO("myCam_mipi", 0x36),
                .platform_data = (void *)&mipi_csi2_data,
        },
};


        if (cpu_is_mx6q()) {
                mxc_iomux_v3_setup_multiple_pads(mx6q_sabresd_pads,
                        ARRAY_SIZE(mx6q_sabresd_pads));
/*
                if (enet_to_gpio_6) {
                        iomux_v3_cfg_t enet_gpio_pad =
                                MX6Q_PAD_GPIO_6__ENET_IRQ_TO_GPIO_6;
                        mxc_iomux_v3_setup_pad(enet_gpio_pad);
                } else {
                        iomux_v3_cfg_t i2c3_pad =
                                MX6Q_PAD_GPIO_6__I2C3_SDA;
                        mxc_iomux_v3_setup_pad(i2c3_pad);
                }
*/
        } else if (cpu_is_mx6dl()) {
                mxc_iomux_v3_setup_multiple_pads(mx6dl_sabresd_pads,
                        ARRAY_SIZE(mx6dl_sabresd_pads));

                if (enet_to_gpio_6) {
                        iomux_v3_cfg_t enet_gpio_pad =
                                MX6DL_PAD_GPIO_6__ENET_IRQ_TO_GPIO_6;
                        mxc_iomux_v3_setup_pad(enet_gpio_pad);
                } else {
                        iomux_v3_cfg_t i2c3_pad =
                                MX6DL_PAD_GPIO_6__I2C3_SDA;
                        mxc_iomux_v3_setup_pad(i2c3_pad);
                }
        }


        imx6q_add_imx_i2c(0, &mx6q_sabresd_i2c_data);
        imx6q_add_imx_i2c(1, &mx6q_sabresd_i2c_data);
//        imx6q_add_imx_i2c(2, &mx6q_sabresd_i2c_data);
//        if (cpu_is_mx6dl())
//                imx6q_add_imx_i2c(3, &mx6q_sabresd_i2c_data);
        i2c_register_board_info(0, mxc_i2c0_board_info,
                        ARRAY_SIZE(mxc_i2c0_board_info));
        i2c_register_board_info(1, mxc_i2c1_board_info,
                        ARRAY_SIZE(mxc_i2c1_board_info));
//        i2c_register_board_info(2, mxc_i2c2_board_info,
//                        ARRAY_SIZE(mxc_i2c2_board_info));

内核打印相关信息:
mc_pfuze 1-0008: recv failed!:-5,80                                             
mc_pfuze: probe of 1-0008 failed with error-1                                 
i2c-core: driver [max17135] using legacysuspend method                        
i2c-core: driver [max17135] using legacyresume method                          
i2c-core: driver [isl29023] using legacysuspend method                        
i2c-core: driver [isl29023] using legacyresume method                          
snvs_rtc snvs_rtc.0: rtc core: registeredsnvs_rtc as rtc0                     
i2c /dev entries driver                                                        


我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

20

主题

809

帖子

1

超级版主

Rank: 8Rank: 8

积分
1566
最后登录
2023-1-17
发表于 2021-4-27 12:04:15 | 显示全部楼层
你板子是哪块板子?是参考我们的开发板做的板子吗?
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

72

帖子

0

注册会员

Rank: 2

积分
78
最后登录
2023-1-28
发表于 2022-11-6 21:58:16 | 显示全部楼层
本帖最后由 kwcha333 于 2023-1-2 13:38 编辑

感谢分享












按揭通
綠表按揭綠置居團隊擁有豐富的居屋按揭經驗,定會針對客人不同需要, 從而制定貼合你心意的計劃, 助你排解難題,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-22 13:21 , Processed in 0.091700 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表