Programming S29GL01GS on LS1043ARDB

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

Programming S29GL01GS on LS1043ARDB

1,010 Views
mark_cheng
NXP Employee
NXP Employee

I tried to verify the flash programming function for Spansion S29GL01GS on CW for QorIQ LS - ARMv8 v11.2.1, but it didn't work. I changed the flash device from MT28EW01G to S29GL01GS on LS1043ARDB. I changed the target init file in CW target connections and set S29GL01GS as the NOR device name. I tested the "dump" action in flash GUI, but the "execute sequence" kept at 0%.  Are there any suggestions to debug this failure? Thanks!

Labels (1)
0 Kudos
6 Replies

643 Views
addiyi
NXP Employee
NXP Employee

The entry point for the S29GL-S_16x1 device should be changed to 0x251c. The change should be done in CW_ARMv8\Config\flash\algorithms\S29GL-S_16x1.xml:

<entry_point>0x251c</entry_point>

Adrian

0 Kudos

643 Views
mark_cheng
NXP Employee
NXP Employee

Thanks! I"ll try your suggestion and feedback the results.

0 Kudos

643 Views
addiyi
NXP Employee
NXP Employee

IFC initialization for S29GL01GS can be found in LS1088 QDS initialization file (LS1088A_QDS_init.gdb).

Adrian

0 Kudos

643 Views
mark_cheng
NXP Employee
NXP Employee

def Config_Flash_Devices():
    # Add NOR device
    gdb.execute("monitor flash device alias nor name S29GL01GS address 0x60000000 ws_address 0x10000000 ws_size 0x1FFFF geometry 16x1 controller IFC")

    # Add NAND device
    gdb.execute("monitor flash device alias nand name MT29F4G08ABBDAv1 address 0x7E800000 ws_address 0x10000000 ws_size 0x1FFFF geometry 8x1 controller IFC")

    # Add SD/eMMC device
    gdb.execute("monitor flash device alias sd name SDSP16GB_LSCH2 address 0x00000000 ws_address 0x80000000 ws_size 0x1FFFF geometry 8x1 controller IFC")

    #set nor as current device
    gdb.execute("monitor flash current nor")

    return

0 Kudos

643 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Mark,

In CodeWarrior initialization file, you need to modify NOR Flash IFC timing for  "S29GL01GS" in IFC Initialization section.

IFC timing calculation on ARM platform is the same with PowerPC, T4240RDB integrates NOR Flash S29GL01GP.

You could refer to the following IFC timing parameters for T4240RDB.


    # NOR Flash, addr 0xE8000000, 128MB size, 16-bit NOR
    # CSPR_EXT
    mem [CCSR_ADDR [expr 0x12400C + $NOR_CS * 0x0C]] = 0x00000000
    # CSPR
    mem [CCSR_ADDR [expr 0x124010 + $NOR_CS * 0x0C]] = 0xE8000101
    # AMASK
    mem [CCSR_ADDR [expr 0x1240A0 + $NOR_CS * 0x0C]] = 0xF8000000
    # CSOR
    mem [CCSR_ADDR [expr 0x124130 + $NOR_CS * 0x0C]] = 0x0000000c

    # IFC_FTIM0
    mem [CCSR_ADDR [expr 0x1241C0 + $NOR_CS * 0x30]] = 0x40050005
    # IFC_FTIM1
    mem [CCSR_ADDR [expr 0x1241C4 + $NOR_CS * 0x30]] = 0x35001A13
    # IFC_FTIM2
    mem [CCSR_ADDR [expr 0x1241C8 + $NOR_CS * 0x30]] = 0x0410381C
    # IFC_FTIM3
    mem [CCSR_ADDR [expr 0x1241CC + $NOR_CS * 0x30]] = 0x00000000


Have a great day,
Yiping

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

0 Kudos

643 Views
addiyi
NXP Employee
NXP Employee

Please share the content of def Config_Flash_Devices(): from initialization file.

Adrian

0 Kudos