大家好、
我正在尝试与 I2C 器件、即温度传感器和 LED 驱动器进行通信、但当我运行"I2cdetect -l "时、我无法看到两个器件都被检测到。

您能告诉我需要做哪些更改才能访问两个器件吗?
我使用 https://www.ti.com/tool/PROCESSOR-SDK-AM62X 中提供的默认图像。
此致、
A·库马尔
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
我正在尝试与 I2C 器件、即温度传感器和 LED 驱动器进行通信、但当我运行"I2cdetect -l "时、我无法看到两个器件都被检测到。

您能告诉我需要做哪些更改才能访问两个器件吗?
我使用 https://www.ti.com/tool/PROCESSOR-SDK-AM62X 中提供的默认图像。
此致、
A·库马尔
您好、Ashutosh:
这是我对 SoC_I2C1在从地址设置为0x48和0x49时不显示温度传感器的原因的理解。
我在此附上部分有关如何在器件树文件中定义 SoC_I2C1的信息。
&main_i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <100000>;
exp1: gpio@22 {
compatible = "ti,tca6424";
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
"PRU_DETECT", "MMC1_SD_EN",
"VPP_LDO_EN", "EXP_PS_3V3_En",
"EXP_PS_5V0_En", "EXP_HAT_DETECT",
"GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
"UART1_FET_BUF_EN", "WL_LT_EN",
"GPIO_HDMI_RSTn", "CSI_GPIO1",
"CSI_GPIO2", "PRU_3V3_EN",
"HDMI_INTn", "TEST_GPIO2",
"MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
"MCASP1_FET_SEL", "UART1_FET_SEL",
"TSINT#", "IO_EXP_TEST_LED";
interrupt-parent = <&main_gpio1>;
interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
interrupt-controller;
#interrupt-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
};
sii9022: sii9022@3b {
#sound-dai-cells = <0>;
compatible = "sil,sii9022";
reg = <0x3b>;
clocks = <&hdmi_mstrclk>;
clock-names = "mclk";
interrupt-parent = <&exp1>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
sil,i2s-data-lanes = < 0 >;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
sii9022_in: endpoint {
remote-endpoint = <&dpi1_out>;
};
};
port@1 {
reg = <1>;
sii9022_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
tlv320aic3106: audio-codec@1b {
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic3106";
reg = <0x1b>;
ai3x-micbias-vg = <1>; /* 2.0V */
status = "okay";
/* Regulators */
AVDD-supply = <&vcc_3v3_sys>;
IOVDD-supply = <&vcc_3v3_sys>;
DRVDD-supply = <&vcc_3v3_sys>;
DVDD-supply = <&vcc_1v8>;
};
};
因此、上面的声明指出、考虑 I2C1总线时、只会寻址/检测三个此类从器件。 它们是0x22、0x3b 和0x1b
如果我们要探测它们、还需要添加其他参数。

对于唤醒 I2C0、我建议您使该节点启用。

这可以通过将 STATUS 指示为"正常"来实现
若要对 SoC_I2C1进一步发表评论、请等待分配的专家发表评论。
此致、
瓦伊布哈夫