This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320DM8168: Regarding issues faced with Customized SOM based on TMS320DM8168.

Reference Documents:

Reference 1:  processors.wiki.ti.com/.../DM816x_C6A816x_AM389x_DDR3_Init

Reference 2:  DM8168’s Technical Reference Manual.

 

Description:

We have interfaced 2 chips to DDR0 section of DM8168 and another 2 chips to DDR1 section of DM8168.

CLK trace and DQS trace for DDR0 interface is as follows:

 

CLK trace and DQS trace for DDR1 interface is as follows:

 

We have used Excel spreadsheet from “RatioSeed.zip” for obtaining the seed values which is the input to the CCS based app.

We have taken 400MHz for DDR3 clock frequency and 1 for Invert Clock Output. We have followed the steps as per the document present in “Reference 1” above for Byte wise levelling of DDR3 and Optimum values of RD_DQS, WR_DQS, and RD_GATE_DQS are obtained. These values are entered in GEL file titled “EVMDM8168_mod_400_withNewseedValue_SOM_REV01.gel”. With this we were able to get connected through XDS200 JTAG to DM8168. We have entered the following values in “ddr_defs_ti816x.h” under “Bootloader/u-boot-2010.06/src/arch/arm/include/asm/arch-ti81xx/” and built the Bootloader:

 #if defined(CONFIG_TI816X_DDR3_400)
#define WR_DQS_RATIO_BYTE_LANE3         ((emif == 0) ? 0x7A : 0x7E )
#define WR_DQS_RATIO_BYTE_LANE2         ((emif == 0) ? 0x79 : 0x7D )
#define WR_DQS_RATIO_BYTE_LANE1         ((emif == 0) ? 0x82 : 0x75 )
#define WR_DQS_RATIO_BYTE_LANE0         ((emif == 0) ? 0x83 : 0x76 )
 
#define WR_DATA_RATIO_BYTE_LANE3        ((emif == 0) ? ( WR_DQS_RATIO_BYTE_LANE3 + 0x40 ):(  WR_DQS_RATIO_BYTE_LANE3 + 0x40  ))
#define WR_DATA_RATIO_BYTE_LANE2        ((emif == 0) ? ( WR_DQS_RATIO_BYTE_LANE2 + 0x40 ):(  WR_DQS_RATIO_BYTE_LANE2 + 0x40  ))
#define WR_DATA_RATIO_BYTE_LANE1        ((emif == 0) ? ( WR_DQS_RATIO_BYTE_LANE1 + 0x40 ):(  WR_DQS_RATIO_BYTE_LANE1 + 0x40  ))
#define WR_DATA_RATIO_BYTE_LANE0        ((emif == 0) ? ( WR_DQS_RATIO_BYTE_LANE0 + 0x40 ):(  WR_DQS_RATIO_BYTE_LANE0 + 0x40  ))
 
#define RD_DQS_RATIO0                    ((emif == 0) ? 0x3B : 0x37)
#define RD_DQS_RATIO1                    ((emif == 0) ? 0x39 : 0x39)
#define RD_DQS_RATIO2                    ((emif == 0) ? 0x3C : 0x3C)
#define RD_DQS_RATIO3                    ((emif == 0) ? 0x3C : 0x3A)

#define DQS_GATE_BYTE_LANE0             ((emif == 0) ? 0x115 : 0xFE)
#define DQS_GATE_BYTE_LANE1             ((emif == 0) ? 0x11D : 0x103)
#define DQS_GATE_BYTE_LANE2             ((emif == 0) ? 0xFB : 0x10F)
#define DQS_GATE_BYTE_LANE3             ((emif == 0) ? 0x103 : 0x116)
       
#endif

SOM card is able to boot with BOOTLOADER and run Kernel.

But it is unable to sync with Filesystem.

So we had stopped the boot prompt on u-Boot terminal and we have done the DDR3 memory test through “mTest” command.

We did not get any error for full memory range test through “mTest” command.

Previous SOM is able to get synced with UBIFS Filesystem.

Current Customized DM8168 based SOM Card is unable to get it synced with UBIFS Filesystem.

Please note that, in this SOM revision there is no change in the signal connections and circuit.

Please let us know if there is any way to check cross talks over U-boot to test DDR3 Memory for full 2GB range.

We are unable to identify the root cause of the issue.

Please suggest what checks can be done to identify the issue.

We will be waiting for your reply.

Please find the attached files for your quick reference.

ddr_defs_ti816x.hEVMDM8168_mod_400_withNewseedValue_SOM_REV01.gelinRatioSeed_13SEP2021_emif0.xlsRatioSeed_13SEP2021_emif1.xlsDM816x C6A816x AM389x DDR3 Init Bytewise Levelling- Texas Instruments Wiki.pdfTI816x_DDR3.gel

Backtrace: 
[<c00c260c>] (kfree+0x0/0xd0) from [<c0095918>] (free_modinfo_version+0x18/0x24)
 r7:fffffffe r6:bf002118 r5:00000000 r4:bf002118
[<c0095900>] (free_modinfo_version+0x0/0x24) from [<c00979f8>] (load_module+0x1384/0x1440)
 r5:00000000 r4:00000000
[<c0096674>] (load_module+0x0/0x1440) from [<c0097b00>] (sys_init_module+0x4c/0x1bc)
[<c0097ab4>] (sys_init_module+0x0/0x1bc) from [<c0044e00>] (ret_fast_syscall+0x0/0x30)
 r7:00000080 r6:00000000 r5:00000000 r4:00006572
Code: e5933000 e5921000 e1a03623 e0633620 (e7912283) 
---[ end trace b2240751987301ff ]---
Error while running '/etc/rc.d/S00coprocessors'.
Starting System
Unable to handle kernel NULL pointer dereference at virtual address 0000000d
pgd = c0004000
[0000000d] *pgd=00000000
Internal error: Oops: 17 [#2]
last sysfs file: /sys/devices/virtual/tty/tty/dev
Modules linked in:
CPU: 0    Tainted: G      D      (2.6.37-ridgerun #506)
PC is at tcp_read_sock+0x194/0x204
LR is at kmem_cache_free+0x88/0x98
pc : [<c031170c>]    lr : [<c00c2214>]    psr: 80000113
sp : c0491be8  ip : 00000000  fp : c0491c14
r10: c0491c18  r9 : c035276c  r8 : d5c244e8
r7 : 00000078  r6 : 4eec2419  r5 : d5c24480  r4 : 4eec2418
r3 : 00000000  r2 : 00000020  r1 : d5c244e0  r0 : d6402100
Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387d  Table: 95c64019  DAC: 00000017
Process swapper (pid: 0, stack limit = 0xc04902e8)
Stack: (0xc0491be8 to 0xc0492000)
1be0:                   00010000 d5c24480 d67c10c0 00000000 d5c24480 00000020
1c00: d67ef064 d67c10d8 c0491c3c c0491c18 c035274c c0311584 c0491c3c 00010000
1c20: d6527800 c031bc50 d5c24480 d5c24480 c0491c6c c0491c40 c0319af0 c03526e8
1c40: 00000098 d5c24480 d67c10c0 00000363 d5c24480 0202a8c0 d67ef050 00000003
1c60: c0491ca4 c0491c70 c0320b34 c0319680 d67c10c0 00000000 c0491ca4 c0491c88
1c80: c02f134c c00717fc d5c24480 d67c10c0 00000363 d67ef064 c0491ce4 c0491ca8
1ca0: c0321118 c0320b10 0202a8c0 00000363 00000003 c0304fc8 c0491d0c c039ec5c
1cc0: 00000000 d67c10c0 00000000 d67c10c0 0000000a d6526800 c0491d0c c0491ce8
1ce0: c03050a0 c0320cc0 d67c10c0 00000000 d67c10c0 00000000 d67c10c0 0000000a
1d00: c0491d34 c0491d10 c0305224 c0304fd4 00000000 c0304fc8 80000000 d67c10c0
1d20: 0000000a d67ef050 c0491d64 c0491d38 c0304c68 c03051a0 d6526800 00000001
1d40: 00000000 00000001 00000000 002c9138 00000000 d67c10c0 c0491d9c c0491d68
1d60: c0304f7c c0304954 00000000 c0304948 80000000 c00c00f4 d67c10c0 c0509fb4
1d80: 00000008 d6526800 d67c1164 00000000 c0491dd4 c0491da0 c02e121c c0304c94
1da0: c0491df4 c0491db0 c0275d48 c0509fd4 d67c10c0 d67c10c0 d67c10c0 d6526b40
1dc0: 000000ba 000000ba c0491df4 c0491dd8 c02e13f8 c02e0ef0 d6526800 d67c10c0
1de0: d67c10c0 d6526800 c0491e24 c0491df8 c0274e4c c02e13a8 c0496100 00000000
1e00: c0491e1c 60000113 d6726e40 d6725980 d67c10c0 00000000 c0491e4c c0491e28
1e20: c0275834 c0274df8 00000000 d70ecf40 80000113 d70ec000 4a122000 c00000ba
1e40: c0491e74 c0491e50 c0275938 c02757b8 00000000 d6725980 00000040 d6526b4c
1e60: d6526800 ffff9423 c0491e94 c0491e78 c0275980 c0275844 00000001 d6526b40
1e80: 00000040 d6526b4c c0491ebc c0491e98 c0274be8 c027595c d6526b4c 00000040
1ea0: 0000000c 00000001 0000012c ffff9423 c0491ee4 c0491ec0 c02e1638 c0274b84
1ec0: c0490000 00000100 0000000c 00000001 00000003 c04ee400 c0491f1c c0491ee8
1ee0: c0071438 c02e15ec c0491f14 c0491ef8 c04ac618 0000002d 00000000 c002d220
1f00: c04940b4 80000000 413fc082 0000001f c0491f2c c0491f20 c0071508 c00713c4
1f20: c0491f44 c0491f30 c003a080 c00714cc ffffffff fa200000 c0491f9c c0491f48
1f40: c0372af4 c003a00c 81600281 60000013 c0491f90 00000814 c0490000 c04cd000
1f60: c002d220 c04940b4 80000000 413fc082 0000001f c0491f9c c0491f90 c0491f90
1f80: c0045fac c0045fb0 80000013 ffffffff c0491fb4 c0491fa0 c0046554 c0045f70
1fa0: c04f15f4 c04cd000 c0491fc4 c0491fb8 c036cf44 c0046510 c0491ff4 c0491fc8
1fc0: c0008cc4 c036cef0 c0008804 00000000 00000000 c002d220 00000000 10c53c7d
1fe0: c04cd11c c002d21c 00000000 c0491ff8 80008048 c0008a60 00000000 00000000

 

 

Thanking You,

With Best Regards,

KumaraswamyHollaV