LS1046 I2C for i2c3 cannot work

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1046 I2C for i2c3 cannot work

112 Views
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 Kudos
Reply
1 Reply

62 Views
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 Kudos
Reply