at91sam9g20 and SDRAM setup

Discussion around AT91RM9200 and SAM9 Series Products.

Moderator: nferre

jairsakae
Posts: 4
Joined: Wed May 08, 2013 4:43 pm

at91sam9g20 and SDRAM setup

Wed Jan 13, 2016 9:18 pm

Hello,

I have designed a board using the at91sam9g20 based on at91sam9g20ek. I had to change the memory SDRAM manufacture from Micron to Winbond because the micron's memory used by kit is obsolete. So we have changed to W9825G6JH-6I from Winbond. That memory is a PC-166. We do not change anything in at91bootstrap and u-boot-at91. The boot is stopping when it is loading the kernel showing a panic message below.

My question is if we need to change the setup of SDRAM controller to use this new part? The Micron was PC-133 memories and now we are using PC-166 memories. If yes how the right values to program those registers? Looking at the specs from which memory looks like similar. But something is different because with Micron memories my board is working very well.

Best regards,
Jair


[ 1.120000] atmel_mci atmel_mci: Atmel MCI controller at 0xfffa8000 irq 25, 1 slots
[ 1.140000] UBIFS: background thread "ubifs_bgt0_0" started, PID 44
[ 1.160000] Unable to handle kernel paging request at virtual address 00100104
[ 1.170000] pgd = c0004000
[ 1.170000] [00100104] *pgd=00000000
[ 1.180000] Internal error: Oops: 805 [#1] ARM
[ 1.180000] Modules linked in:
[ 1.180000] CPU: 0 PID: 1 Comm: swapper Not tainted 3.10.0+ #10
[ 1.180000] task: c3826d60 ti: c382a000 task.ti: c382a000
[ 1.180000] PC is at ubifs_scan_destroy+0x28/0x5c
[ 1.180000] LR is at ubifs_scan_destroy+0x3c/0x5c
[ 1.180000] pc : [<c016cd48>] lr : [<c016cd5c>] psr: 20000013
[ 1.180000] sp : c382bd70 ip : 00000000 fp : c3a197e4
[ 1.180000] r10: c3a197a0 r9 : 00000003 r8 : c39bbaa0
[ 1.180000] r7 : 00100100 r6 : 00200200 r5 : c3a125e8 r4 : c3a125e0
[ 1.180000] r3 : c39bb9e0 r2 : 00200200 r1 : 00100100 r0 : c39bb9e0
[ 1.180000] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 1.180000] Control: 0005317f Table: 20004000 DAC: 00000017
[ 1.180000] Process swapper (pid: 1, stack limit = 0xc382a1b8)
[ 1.180000] Stack: (0xc382bd70 to 0xc382c000)
[ 1.180000] bd60: c3a719ff c3a19000 c3a125e0 00000005
[ 1.180000] bd80: 00002000 c016bad8 00000001 c39425b0 c0507790 c003f564 00000001 c0507790
[ 1.180000] bda0: c3942580 c3826d60 c0507790 c3a19000 00000000 c3a19008 00000003 c3a197a0
[ 1.180000] bdc0: c382bdd4 00000000 c39a9000 c3a19000 00000000 c3a19008 00000003 c3a197a0
[ 1.180000] bde0: c3a197e4 c0162838 c3a197a0 c382be24 c05af340 0000000c 00000000 c052e6b0
[ 1.180000] be00: 00000000 c3a127a0 0000000c c3808e40 c052e6b0 c3a12760 00800000 00000000
[ 1.180000] be20: 0001f800 00000000 0007e001 00000000 000000d0 c3a127a5 c3a127a0 c3813260
[ 1.180000] be40: c050c1f4 c050c1f4 00008000 00000000 00008000 c3a127a0 00000000 c00895e0
[ 1.180000] be60: 00000000 c050c1f4 c3813260 c050c1f4 c3a127a0 00000000 00008000 c009de38
[ 1.180000] be80: c050c1f4 00000020 c3a127c0 c0506b1c 00000000 c009fa68 c04ef6cc 00000000
[ 1.180000] bea0: c3813950 c3408c40 0000000c 00000000 c3a127a0 c006c658 0000000c c384d000
[ 1.180000] bec0: c04ef6cc 00008000 00000000 c04ef6cc c05af340 c3a1a006 00000000 c00a017c
[ 1.180000] bee0: 00000000 00000001 00000002 c3a127c0 c3a127a0 00000000 c0524d00 c3a1a000
[ 1.180000] bf00: c3a1a000 00008000 c04ef6c0 c04ceb64 00000000 c3826d60 00000001 ffffff9c
[ 1.180000] bf20: c0445a6c c053289c 00000007 c04ef698 c0524d00 00000088 c04f4900 c01f70e8
[ 1.180000] bf40: c04ef6c0 c04ef6cc c04ef698 c0524d00 00000088 c04f4900 c04ce210 c04ceefc
[ 1.180000] bf60: c0524d00 00000088 c04f4900 c04ef6b8 00000007 c04ce8fc 00000007 00000007
[ 1.180000] bf80: c04ce210 c382cc4c 00000000 c03a5f00 00000000 00000000 00000000 00000000
[ 1.180000] bfa0: 00000000 c03a5f08 00000000 c000e870 00000000 00000000 00000000 00000000
[ 1.180000] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.180000] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 aaaaaaa2 aaaaa22a
[ 1.180000] [<c016cd48>] (ubifs_scan_destroy+0x28/0x5c) from [<c016bad8>] (ubifs_read_master+0x108/0xd2c)
[ 1.180000] [<c016bad8>] (ubifs_read_master+0x108/0xd2c) from [<c0162838>] (ubifs_mount+0xc90/0x1610)
[ 1.180000] [<c0162838>] (ubifs_mount+0xc90/0x1610) from [<c00895e0>] (mount_fs+0x14/0xd0)
[ 1.180000] [<c00895e0>] (mount_fs+0x14/0xd0) from [<c009de38>] (vfs_kern_mount+0x4c/0xc0)
[ 1.180000] [<c009de38>] (vfs_kern_mount+0x4c/0xc0) from [<c009fa68>] (do_mount+0x18c/0x81c)
[ 1.180000] [<c009fa68>] (do_mount+0x18c/0x81c) from [<c00a017c>] (SyS_mount+0x84/0xb8)
[ 1.180000] [<c00a017c>] (SyS_mount+0x84/0xb8) from [<c04ceb64>] (mount_block_root+0x11c/0x2c8)
[ 1.180000] [<c04ceb64>] (mount_block_root+0x11c/0x2c8) from [<c04ceefc>] (prepare_namespace+0x8c/0x1c4)
[ 1.180000] [<c04ceefc>] (prepare_namespace+0x8c/0x1c4) from [<c04ce8fc>] (kernel_init_freeable+0x170/0x1b4)
[ 1.180000] [<c04ce8fc>] (kernel_init_freeable+0x170/0x1b4) from [<c03a5f08>] (kernel_init+0x8/0xe4)
[ 1.180000] [<c03a5f08>] (kernel_init+0x8/0xe4) from [<c000e870>] (ret_from_fork+0x14/0x24)
[ 1.180000] Code: e59f7034 e59f6034 e8930006 e1a00003 (e5812004)
[ 1.530000] ---[ end trace 11c43d464a4c73ba ]---
[ 1.540000] Kernel panic - not syncing: Fatal exception
blue_z
Location: USA
Posts: 1504
Joined: Thu Apr 19, 2007 10:15 pm

Re: at91sam9g20 and SDRAM setup

Wed Jan 13, 2016 10:26 pm

jairsakae wrote:We do not change anything in at91bootstrap and u-boot-at91.
That's presumptuous.
jairsakae wrote:My question is if we need to change the setup of SDRAM controller to use this new part?
Apparently.
Review the initialization code in AT91Bootstrap, and learn how to use the memory test in U-Boot.

Regards
jairsakae
Posts: 4
Joined: Wed May 08, 2013 4:43 pm

Re: at91sam9g20 and SDRAM setup

Tue Jan 19, 2016 8:31 pm

blue_z wrote:
jairsakae wrote:We do not change anything in at91bootstrap and u-boot-at91.
That's presumptuous.
jairsakae wrote:My question is if we need to change the setup of SDRAM controller to use this new part?
Apparently.
Review the initialization code in AT91Bootstrap, and learn how to use the memory test in U-Boot.

Regards
Thanks for reply.
I have solved the problem using the at91sam9g20 in 16 bits. My kernel is running fine. I am thinking that is a noise problem on second memory. How I'm reviewing my layout I will try to change the lines from memory to better ways.

Best regards,
Jair
TKL
Posts: 32
Joined: Thu Feb 11, 2010 7:47 pm

Re: at91sam9g20 and SDRAM setup

Fri Feb 12, 2016 4:24 pm

Hi Jair,

did you make any further findings regarding this problem? I am facing exactly the same problem after changing from an ISSI IS42S16160D to an IS42S16160G. Only solution I found so far is reducing the termination in the clk line. I am looking for some software solution as an alternative.

We are using a 32Bit, 64MByte configuration with 133MHz and CL 3.

Return to “SAM9 ARM9 MPU”

Who is online

Users browsing this forum: No registered users and 2 guests