2,851
社区成员




在6490 LE 1.0的版本中, 如何在启动时使用修改后的设备树覆盖?
我希望能够添加和使用设备树覆盖来测试硬件功能,例如 SPI 和 I2C,而无需编译和/或将新固件映像重新刷新到主板。
对于I2C和SPI的功能:
目前在设备树里, 这些都是通过qup的功能实现的,例如配置一路I2C的 qup:
Open a qupv3.dtsi file as follows:
qupv3_se0_i2c: i2c@880000 {
compatible = "qcom,i2c-geni";
reg = <0x880000 0x4000>;
interrupts = <GIC_SPI 601 0>;
#address-cells = <1>;
#size-cells = <0>;
clock-names = "se-clk", "m-ahb", "s-ahb";
clocks = <&clock_gcc GCC_QUPV3_WRAP0_S1_CLK>, //WRAP0_S0代表为QUPV3_0_SE1
<&clock_gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
<&clock_gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&qupv3_se0_i2c_active>;
pinctrl-1 = <&qupv3_se0_i2c_sleep>;
qcom,wrapper-core = <&qupv3_0>;
status = "disabled";
};
同时, 也需要在TZ的qup配置中设定qup的功能:
And TZ introduction:
For example: { QUPV3_0_SE0, QUPV3_PROTOCOL_SPI, QUPV3_MODE_FIFO, AC_HLOS, TRUE, TRUE, FALSE },
↑ ↑ ↑ ↑ ↑ ↑ ↑
PeriphID ProtocolID Mode NsOwner bAllowFifo bLoad bModExcl
这样可以把SE6设置为 AP侧的I2C功能.