how to bring-up a T2080 board when there is no rcw in flash

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

how to bring-up a T2080 board when there is no rcw in flash

3,876 Views
liujianbo
Contributor II

Hi Experts:

 

To bringup a new custom T2080 board, there is no rcw in flash, tried to start with the guide in SDK:

/*********************************************************/

 

1, Run T2080RDB_RCW_override.cfg in CodeWarrior connection server (CCS) to override RCW.

2, Download SPI U-Boot at 0xfff40000, and set PC reg to 0xfffffffc.

3, Run with the CodeWarrior IDE, and enter U-Boot at the console.

 

/*********************************************************/

 

To the first step, have the following question:

1,  if the board only have nand flash as boot device, which rcw file in $(Freescale_CW)\CW_PA_v10.5.0\PA\PA_Support\Initialization_Files\jtag_chains\ should we use? the txt(not cfg) file should be okay?

 

2, to connect target via CodeWarrior TAP, the Chapter 3 "connecting to target system" is the right doc we can refer? or I just need to run CodeWarrior Connection server console after install CodeWarrior? I remeber in previous version CodeWarrior(8.x), there is a connect button, but with this latest version, no such button.

3, To run rcw file, which command will be needed in CCS console?

 

4, besides run rcw file, do we need to run other hardware init script before download u-boot image to ram?

 

5, I just notice there is Errata A-007980, looks there must be a rcw on board when you first bring-up t2080 target, if this errata still there now?

 

Sorry for my silly question, and many thanks for your times!!

Labels (1)
0 Kudos
8 Replies

1,697 Views
liujianbo
Contributor II

Hi Yiping:

Many thanks for your quick updates!!

1, about the initialization file T2081QDS(RDB)_init_core(sram).tcl, I only found T2081QDS(RDB)_init_core.tcl, T2081QDS(RDB)_init_core_cacheon.tcl,T2081QDS(RDB)_init_sram.tcl, to use in SRAM project, should I use

T2081QDS(RDB)_init_sram.tcl?

2, about create a SRAM project, if it mean I need to select "Connect SRam" or "Download SRAM" in create wizard's "Debug Target Setting"?

3, about custom RCW.txt in Freescale\CW_PA_v10.5.0\PA\PA_Support\Initialization_Files\jtag_chains, do you know where I get the define of RCW value?

Thanks a lot !!

0 Kudos

1,697 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Jianbo,

1. Yes, please use T2081QDS(RDB)_init_sram.tcl. If you create a SRAM project, this initialization file will be specified automatically.

2.  Yes, please select "Connect SRAM" or "Download SRAM".

3. Please refer to the section "RCW Field Definitions" in T2080 Reference Manual, in CW JTAG configuration file registers 210001 to 210016 correspond to 512 bit RCW definition.


Have a great day,
Yiping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,697 Views
liujianbo
Contributor II

Hi Yiping:

Got it, many thanks for your patient answer!

1, About flash programmer:

We use MT29F8G16ADBDA Flash, according to the the steps AN4948-flash-program.pdf doc, we can start to program flash, but when select the flash device, I found there is only MT29F8G08ADBDA-IFC device.

Then I try to modify Freescale\CW_PA_v10.5.1\PA\bin\plugins\support\Products\ProductData\FPDevices.mwpdb\FP\MT29F8G08ADBDA-IFC.xml file to use MT29F8G16ADBDA flash device, but I found there is the following binary file was needed in xml file:

/*************************************************************************************************/

Freescale\CW_PA_v10.5.1\PA\bin\plugins\support\Flash_Programmer\EPPC\MT29FxG08-IFC.elf

Freescale\CW_PA_v10.5.1\PA\bin\plugins\support\Flash_Programmer\EPPC\MT29FxG08-IFCUtility.elf

/*************************************************************************************************/

I found there is Nand flash 16 bit configuration was supported in t2080rm doc:

/*************************************************************************************************/

1_1001_xxxx 16-bit NAND Flash, 4 KB page, 128 pages/block
          cfg_rcw_src[5:8] encodings are the same as those described for 1_0001_xxxx (8-bit NAND Flash, 4 KB page, 128 pages/block)
1_1010_xxxx 16-bit NAND Flash, 4 KB page, 256 pages/block cfg_rcw_src[5:8] encodings are the same as those described for 1_0001_xxxx (8-bit NAND Flash, 4 KB page, 128 pages/block)

/*************************************************************************************************/

to programmer this kind of flash, what we should do to add new type device in Flash Programmer? If there need some new elf file?

2, I still failed to connect target with the step you mentioned before, The init file I used is T2080RDB-PCIe_init_sram.tcl, and jtag chian rcw file I used is T2080RDB-PCIe_RCW_1533_600_1600-rev1.1.txt.

But With Hard Coded RCW options, the connect can be done successfully, looks the rcw file is not right, in the next, I plan to compare the content with hard coded rcw content,  and modify T2080RDB-PCIe_RCW_1533_600_1600-rev1.1.tx file to make connection happen..

And to go further with u-boot booting to verify some more module(just download into sram and boot, not via flash program), I saw the uboot debug doc you mentioned before is only for u-boot which resident in flash, do you know which other doc should I follow for this request(download u-boot to sram and boot)?

0 Kudos

1,697 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Jianbo,

1. You could use the existing flash programmer algorithm MT29FxG08-IFC.elf for your target board, you could follow the application note to add a new device.

Please note you also need to modify the IFC timing configuration section in CW initialization file for the flash on your target board.

2. I suggest you program u-boot to NAND Flash and debug u-boot from NAND Flash, just follow the procedure of the real product. Actually for debugging from NAND Flash, CodeWarrior also performs debuging and executing u-boot from SRAM, please refer to the exact section in the application note.

3. What's about the hardware switch settings? Did you configure the target as boot from NAND Flash or NOR Flash.


Have a great day,
Yiping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,697 Views
liujianbo
Contributor II

Hi Yiping:

Got it, many thanks for your helps!!

The custom board have been configed to boot from NAND flash.

For now, with modify rcw and T2080RDB-PCIe_init_sram.tcl, the default example application can do debug in sram.

But failed to connect target with DDR init script(T2080RDB-PCIe_init_core.tcl), I think there might be some DDR configuration error which cause error,  in this situation, I think the default u-boot(created in SDK 2.0) will failed to run either. We have to resolve this DDR init issue firstly.

After look into this issue, I found the RCW value which we set did no apply into DCFG_CCSR_RCWSRn register:

1, the value in first two register is wrong

We set the following value via rcw file:

(210001 0x100A0013)

(210002 0x08000000)

but after imply the rcw and connect to target, we read back the following value:

DCFG_CCSR_RCWSR1=0x080B0007

DCFG_CCSR_RCWSR2=0x07000000

2, except these two register, the other 14 register were right(it get the same value with the value we set in rcw file)

3, we also tried to write the other value in the first two value of rcw, but always read the same value(0x080B0007 and 0x07000000)

4, the first register's value will set the wrong DDR ref clk, we think it might be the main reason of DDR can not init successfully.

So here are several question:

1, if DCFG_CCSR_RCWSRn will reflect the value we used in rcw file?

2, we use CodeWarrior USB TAP to connect target, if this issue(the first two register did not reflect right value) cause by this old device, should switch to CodeWarrior TAP instead? Or is it a known issue?

0 Kudos

1,697 Views
liujianbo
Contributor II

Hi Yiping:

I can connect to target without hard coded rcw now with your suggestion, I found there is an RCW issue, not sure if it's a defect:

1, because on custom board, there is only nand flash, so we change rcw config to boot from nand flash.

2, with this custom rcw, the connection will failed and show:

/***********************************************************/

CCSProtocolPlugin : Failed to correctly configure the JTAG chain

/***********************************************************/

3, but with a rcw which config to boot from nor flash, the connection can be done successfully, the difference is here listed:

rcw_compare.png

The only differenct was on the seventh rcw configuration:

210007: 0xFC187000  // failed to connection

210007: 0xFC027000  // can do connection

The bold part is 203-211 bit of RCW, and belong to IFC_MODE

pastedImage_1.pngpastedImage_4.png

pastedImage_5.png

Not sure here is some limitation or product defect..

0 Kudos

1,697 Views
liujianbo
Contributor II

When there is no rcw in flash, if the steps in sdk is not suitable?  Do we need some special steps to bring-up this t2080 board only with a empty nand flash?

0 Kudos

1,697 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Liu Jianbo,

Here are some procedures for you, which we often use in custom boards bringing up.

1. Use CodeWarrior 10.5 to connect to the empty target board with CW JTAG configuration file overriding RCW function. Please following new project wizards to create a sample bare board project in CodeWarrior IDE, and refer to section "8.4 Setting up a remote system to use a JTAG configuration file" in C:\Freescale\CW_PA_v10.5.0\PA\Help\PDF\Targeting_PA_Processors.pdf to configure CW JTAG configuration file.

Please customize JTAG configuration file for T2080 in C:\Freescale\CW_PA_v10.5.0\PA\PA_Support\Initialization_Files\jtag_chains and initialization file T2081QDS(RDB)_init_core(sram).tcl in C:\Freescale\CW_PA_v10.5.0\PA\PA_Support\Initialization_Files according to your custom target board.

Here I suggest you choose SRAM project when create a new project, which uses CPC as SRAM to avoid to configure DDR controller in the initialization file.

2. After CodeWarrior connect to the target board, please flash RCW and u-boot to the flash of the target board. Please refer to the document Flash Programmer for CodeWarrior Power Architecture  to do flash programming.

3. After program u-boot to the flash, please try to use CodeWarrior to debug u-boot from SPI flash. Please refer to the document CodeWarrior U-Boot Debugging .

If further assistance is needed, please feel free to let me know.


Have a great day,
Yiping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos