Codewarrior SPD read ERROR

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

Codewarrior SPD read ERROR

2,353 Views
shivam_kumar
Contributor I

I have a custom board based on LX2160A with a DDR4 SODIMM and I am validating a new DDR4 module using the DDR validation tool. However, I can't read the SPD from the CW. I am getting following errors: 

Try to read SPD from: eeprom @0x51, I2C3 controller @0x2020000

********

********

Try to read SPD from: eeprom @0x52, I2C3 controller @0x2020000

********

********

Try to read SPD from: eeprom @0x53, I2C3 controller @0x2020000

********

********

Try to read SPD from: eeprom @0x54, I2C3 controller @0x2020000

********

********

Try to read SPD from: eeprom @0x55, I2C3 controller @0x2020000

********

********

Try to read SPD from: eeprom @0x56, I2C3 controller @0x2020000

********

********

Try to read SPD from: eeprom @0x57, I2C3 controller @0x2020000

********

********

Try to read SPD from: eeprom @0x50, I2C4 controller @0x2030000

********

********

Try to read SPD from: eeprom @0x51, I2C4 controller @0x2030000

********

********

Try to read SPD from: eeprom @0x52, I2C4 controller @0x2030000

********

********

Try to read SPD from: eeprom @0x53, I2C4 controller @0x2030000

********

********

Try to read SPD from: eeprom @0x54, I2C4 controller @0x2030000

********

********

Try to read SPD from: eeprom @0x55, I2C4 controller @0x2030000

********

********

Try to read SPD from: eeprom @0x56, I2C4 controller @0x2030000

********

********

Try to read SPD from: eeprom @0x57, I2C4 controller @0x2030000

********

Error: No SPD could be read from target.

we the same setup i am able to read spd on lx2160ardb but not on the custom board.
Kindly help to resolve this issue.

0 Kudos
Reply
10 Replies

2,327 Views
shivam_kumar
Contributor I

Yes, we have checked RCW, and it is fine. I am sharing both the CCS log and RCW log with you—kindly check.

0 Kudos
Reply

2,270 Views
yipingwang
NXP TechSupport
NXP TechSupport

On your custom board, have you used oscilloscope to measure I2C signals?

0 Kudos
Reply

2,258 Views
shivam_kumar
Contributor I

Hey, after additional testing we have figured out that the issue is with the I2C multiplexer we are using. For context we have designed the circuit quite similar to the EVAL board (LX2160ardb_rev2) however we have used a different I2C  muliplexer. 

The multiplexers have different logic to set the control registers to select a particular channel.

Further Looking (and decoding) into the I2C signals from a Oscilloscope it looks like the I2C knows  the control bit logic needed for the RDBs multiplexer channel select.

Is there  a way to setup the I2C to work with different I2C multiplexers??

We believe the issue is because we chose Lx2160ardb_rev2 as our target connecetion

(it seems like there is no other way but to pick the RDB). 

 

somewhere the RDBs config is being picked in the Code warrior setup. how do we fix this issue

0 Kudos
Reply

2,242 Views
yipingwang
NXP TechSupport
NXP TechSupport

Below are the parameters related to I2C that are used by QCVS.

yipingwang_0-1747906861875.png

 

 

To enable different I2C mux you can select checkmark from wizard and put desired I2C mux. Right now, the value “0x77 0x76” is used.

 

Another way is to edit the .json file below and put your custom parameters.

C:\Freescale\CW4NET_v2020.06\Common\QCVS\Optimization\resources\QorIQ\ARMv8\templates\ddr\ system_config_params_read_spd.json

0 Kudos
Reply

2,219 Views
shivam_kumar
Contributor I

Hi,
We have implemented the changes and modified the ''i2c_mux_ch_default" in .Json file settings to align with our multiplexer configuration. As a result, SPD read is now functioning successfully, and we have attached a snapshot of this progress.

However, after creating the project, In the Component Inspector SPD section, there is no data, and it shows a message stating, “No SPD data found for the selected DDR component.”. Is this an issue for ddr configuration?

Additionally, Could you clarify what modifications need to be made in the ddr_init.c and platform_def.h files after project creation? & where should these files be loaded, and what is the process for generating the binary?

0 Kudos
Reply

2,140 Views
yipingwang
NXP TechSupport
NXP TechSupport

After connecting to the target board to complete the validation and optimization via QCVS DDRv tool.

Please click Project->Generate Processor Expert code, you will get file ddr_init1.c and platform_def1.h in Generated_Code folder, please use them to modify the related files in ATF.

0 Kudos
Reply

2,143 Views
yipingwang
NXP TechSupport
NXP TechSupport

After click "Read SPD" button in "DDR configuration" panel, please click the green PASS icon, and check whether you can get data similar as the following.

yipingwang_0-1748419969401.png

If cannot, please use oscilloscope to measure I2C multiplexer input and output, whether they are normal.

 

0 Kudos
Reply

2,134 Views
shivam_kumar
Contributor I

Hi,

I have successfully completed the suggested step and can read the SPD values by clicking the green tick mark. I’ve also attached a snapshot of this. However, the SPD section in the Component Inspector does not display any values. Additionally, I am uncertain about the required modifications in the ddr_init.c file and the procedure for compiling the files generated from Processor Expert code into bl2_sd.pbl using BitBake. Could you please clarify?

Thanks!

0 Kudos
Reply

2,132 Views
yipingwang
NXP TechSupport
NXP TechSupport

However, the SPD section in the Component Inspector does not display any values.

[NXP] Would you please capture a screenshot to show this.

Please check whether you can connect to the target board to perform validation now.

0 Kudos
Reply

2,331 Views
yipingwang
NXP TechSupport
NXP TechSupport

Have you checked whether RCW is valid your custom board?

Would you please capture CCS console log to me to do more investigation?

When you clicking "Read SPD" button, CCS icon will pop up in the right bottom of your Windows task bar, please double click to open it and type "log v", then click "Read SPD" button again, the low level CCS console log will be printed automatically in CCS console. 

Please capture this CCS console log to me to do more investigation.

0 Kudos
Reply