我们尝试访问 barebox 下的 I2C4-Bus,我们使用:
中央处理器:
STM32MP151CAA Rev.Z
TF-A: v2.4-r1.0-nofip(release):b5d0088b9-dirty
裸机:裸机 2021.04.0-02204-gaa9b7b34b8e-脏
在 TF-A 中,I2C4 通过以下方式解锁:
DECPROT(STM32MP1_ETZPC_I2C4_ID,DECPROT_NS_RW,DECPROT_UNLOCK)
当我启动
电路板时,TF-A 通过以下方式成功初始化 PMIC
I2C4 总线。
I2C4 的 Pinmux 是:
i2c4_pins_a: i2c4-0 {
别针{
pinmux =
, /* I2C4_SCL */
; /* I2C4_SDA */
偏置禁用;
驱动开漏;
转换率 = <0>;
};
};
总线设置是:
&i2c4 {
pinctrl-名称=“默认”;
pinctrl-0 = <&i2c4_pins_a>;
i2c-scl-上升时间-ns = <185>;
i2c-scl-下降时间-ns = <20>;
时钟频率 = <100000>;
状态=“好的”;
安全状态=“好的”;
PMIC: stpmic@33 {
compatible = "st,stpmic1";
reg = <0x33>;
中断扩展 = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
中断控制器;
#interrupt-cells = <2>;
状态=“好的”;
安全状态=“好的”;
监管机构{
...
};
};
};
TF-A 和 barebox 中的设置是相同的。
我尝试访问 I2C4 总线时没有任何反应,
这意味着信号 SDA 和 SCL 保持在高电平。
在另一条总线 I2C2 上,我可以毫无问题地访问所有 I2C 设备。
我们是否缺少一些让 I2C4 工作的设置?