LS1046 I2C for i2c3 cannot work

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LS1046 I2C for i2c3 cannot work

72件の閲覧回数
Sally_Jay
Contributor I

I cannot scan the device on i2c-3

In dts,the configure is

i2c3: i2c@21b0000 {
compatible = "fsl,vf610-i2c", "fsl,ls1046a-vf610-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x0 0x21b0000 0x0 0x10000>;
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clockgen 4 1>;
fsl-scl-gpio = <&gpio3 12 0>;
status = "okay";
};
 
I checked the datasheet
Sally_Jay_0-1757378211038.pngSally_Jay_1-1757378233845.png

from the datasheet,it says the default value is 0000_1111h.
I add the bellow command to rcw_1800_qspiboot_1133_5a59.rcw
.pbi
//SCFG_RCWPMUXCR0, configure IIC4_SCL/SDA=000
write 0x157040C, 0x00000000
.end
after I add above command, the device cannot boot up.
I tried 0x00000011, 0x00330000.
all values will cause the device cannot boot.
What value do i need to configure? or I need to do more configure for this function?

0 件の賞賛
返信
1 返信

22件の閲覧回数
yisey
Contributor I

You cannot set the whole RCWPMUXCR0 to 0x00000000. Only the specific pin-mux fields for the pads you want as I²C3_SCL/I²C3_SDA need to be changed to the I²C3 function, while leaving the other bits exactly as in your working RCW. If you overwrite the whole register you break the boot pins, which is why the board won’t start. Just like when you are looking for fence contractors and only need to choose the right ones instead of replacing everything, here you must update only the required bitfields. The correct hex value depends on which pins you’re routing I²C3 to, so check the LS1046A Reference Manual pin-mux tables and update only those bitfields.

0 件の賞賛
返信