【问题标题】:How to enable I2C2 on beaglebone black for yocto project?如何为 yocto 项目在 beaglebone black 上启用 I2C2?
【发布时间】:2021-08-04 04:17:28
【问题描述】:

我正在尝试在 beaglebone black 上构建 yocto 项目。我想在 beagle bone 上启用 I2C2 端口。我是 yocto 项目的新手。 任何指针或参考文档都会有所帮助。

这是原始文件 am335x-boneblack-common.dtsi,我想用以下内容修改该文件

    i2c2_pins: pinmux_i2c2_pins {
    pinctrl-single,pins = <0x178 0x73 0x17c 0x73>;
};
user_leds_pins: pinmux_user_leds {
    pinctrl-single,pins = < AM33XX_IOPAD(0x848, PIN_OUTPUT | MUX_MODE7) >; /* P9.14, gpio1[18] */

};

leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&user_leds_pins>;
i2c2-live {
    gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;
    default-state = "on";
};

};

&i2c2: i2c@4819c000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins>;
status = "okay";
clock-frequency = <100000>;
tmp75@4d {
    compatible = "national,lm75";
    reg = <0x4d>;
};

};

请建议如何为上述代码创建补丁。

提前致谢

问候, 尼基尔

【问题讨论】:

  • 你的意思是激活 I2C 用户空间(在 /dev/i2cXX 中)以便你可以从用户空间访问总线?
  • 我想为我的项目访问/启用 I2C2 端口引脚。在 yocto 项目的 beaglebone black 上启用它的步骤是什么
  • 你没有回答问题,你想怎么使用I2C总线?你的项目演员是什么
  • 我想在设备树中激活/启用 I2C2,但是如何将设备树添加到 yocto 项目。添加后,我已将温度传感器连接到它。将设备树添加到 yocto 项目的正确步骤是什么。
  • 给我 yocto 层、I2C 总线、传感器名称及其在 I2C 总线中的地址,我将帮助您创建一个自定义层,为您激活所有这些。

标签: yocto beagleboneblack


【解决方案1】:

首先你需要了解如何处理你的dts文件。

您需要决定是否要使用 linux 内核提供的官方 dts 文件并对其进行修补。或者,创建您自己的 dts 文件并使用它。

要了解如何修补 dts 或如何添加自定义,我有 2 个 stackoverflow 答案,herehere

了解之后,现在让我们谈谈添加 I2C 节点。

首先,您需要搜索您的传感器是否有官方内核驱动程序。

如果它有一个驱动程序,那么它就有一个在其中定义的compatible 名称。

您将该名称与该 I2C 总线中的传感器地址一起使用,然后:

例如将地址为0x01的传感器添加到I2C 1总线:

&i2c1 {
    // ...
    sensor_name: sensor_name@0x01 {
         compatible = "compatible_name";
         reg = "0x01";
    }
}

现在,你需要激活内核中驱动的标志defconfig

bitbake linux-XXX -c menuconfig

激活标志,然后:

bitbake linux-XXX -c diffconfig

它将生成仅包含差异的.cfg 文件。

将其添加到您的 linux 配方中:

SRC_URI_append = " file://sensor.cfg"

【讨论】:

  • BelHadjSalem TALEL,谢谢,我会尝试以上步骤。
  • 嗨,请您指导我为 beaglebone 修补设备树。我已经尝试了上述修补步骤,但无法修补它。
  • 您可以按照以下步骤操作:stackoverflow.com/questions/67820230/…,只需将 linux-yocto 更改为 beaglebone linux
  • 以上任何一位都可以指导。
猜你喜欢
  • 1970-01-01
  • 2016-12-20
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-23
  • 2017-02-26
  • 1970-01-01
相关资源
最近更新 更多