打印
[技术问答]

【MA35D1】默认NAU8822的IIC接口用GPIO-base的驱动,如何换成硬件IIC的驱动

[复制链接]
354|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2023-3-3 13:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
修改dts配置文件,以som 256的camera为例,查看实际硬件连接的是i2C3:

&i2c_gpio0 {

        status = "disabled";

        hm1055@24 {

                compatible = "himax,hm1055";

                reg = <0x24>;

                pinctrl-names = "default";

                pinctrl-0 = <&pinctrl_ccap0>;

                clocks = <&clk CCAP0_GATE>;

                clock-names = "xclk";

                reset-gpios = <&gpiom 1 GPIO_ACTIVE_LOW>; /* PM1 */

                powerdown-gpios = <&gpiok 8 GPIO_ACTIVE_HIGH>; /* PK8 */

                port {

                        hm1055_0: endpoint {

                                remote-endpoint = <&ccap0_1>;

                        };

                };

        };

};

修改为:

&i2c3 {

        status = "okay";

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_i2c3>;

        hm1055@24 {

                compatible = "himax,hm1055";

                reg = <0x24>;

                pinctrl-names = "default";

                pinctrl-0 = <&pinctrl_ccap0>;

                clocks = <&clk CCAP0_GATE>;

                clock-names = "xclk";

                reset-gpios = <&gpiom 1 GPIO_ACTIVE_LOW>; /* PM1 */

                powerdown-gpios = <&gpiok 8 GPIO_ACTIVE_HIGH>; /* PK8 */

                port {

                        hm1055_0: endpoint {

                                remote-endpoint = <&ccap0_1>;

                        };

                };

        };

};

然后增加i2c3相关配置:

       i2c3 {

                pinctrl_i2c3: i2c3grp{

                        nuvoton,pins =

                                <SYS_GPM_MFPH_PM14MFP_I2C3_SDA   &pcfg_default>,

                                <SYS_GPM_MFPH_PM15MFP_I2C3_SCL   &pcfg_default>;

                };

        };

使用特权

评论回复
沙发
Estelle1999| | 2024-3-4 15:38 | 只看该作者
首先确保您的硬件平台支持硬件IIC接口,并且已经正确连接了NAU8822芯片的IIC接口引脚到硬件IIC控制器

使用特权

评论回复
板凳
Charlotte夏| | 2024-3-4 16:42 | 只看该作者
如果您的系统使用设备树描述硬件信息,您需要修改设备树文件以启用硬件IIC控制器并将NAU8822设备与之关联

使用特权

评论回复
地板
Betty996| | 2024-3-4 18:07 | 只看该作者
在设备树中,您需要找到与GPIO-based IIC控制器相关的节点,并将其替换为硬件IIC控制器的节点

使用特权

评论回复
5
Carina卡| | 2024-3-4 19:13 | 只看该作者
如果系统中使用了特定的IIC驱动程序,您可能需要修改驱动程序以适配硬件IIC控制器

使用特权

评论回复
6
Annie556| | 2024-3-4 20:17 | 只看该作者
一般是修改驱动代码,可能涉及到修改注册、初始化和通信过程等部分

使用特权

评论回复
7
Betty1299| | 2024-3-4 21:48 | 只看该作者
您需要重新编译内核以应用这些改动。确保在重新编译内核时包含了对硬件IIC控制器和NAU8822的支持

使用特权

评论回复
8
Emily999| | 2024-3-5 08:21 | 只看该作者
建议修改之后,将新编译的内核加载到目标设备上,并进行测试验证

使用特权

评论回复
9
Allison8859| | 2024-3-5 09:04 | 只看该作者
我觉得您还是先看看是否支持硬件吧

使用特权

评论回复
10
Belle1257| | 2024-3-5 10:11 | 只看该作者
这直接用硬件I2C,是否支持呢?得看手册的吧

使用特权

评论回复
11
Carmen7| | 2024-3-5 12:32 | 只看该作者
一般不都是修改设备树就可以了吗

使用特权

评论回复
12
ClarkLLOTP| | 2024-3-5 15:12 | 只看该作者
更改设备树吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1482

主题

4260

帖子

6

粉丝