Hi everybody,
I have big problems to get our device running.
Acually we develop a TFT-Module for displaying elevator-applications.
We use the i.MX285-Processor from freescale. As OS we decided to use linux.
For evaluation we use the imx28evk with the linuxkernel 2.6.35.3 from the L2.6.35_10.01_SDK - (here all works)
now our real Hardware arrived and the Problems begins.
After checking power and other hardware aspects we want to program the imx285 with the MfgTool from Freescale with the kernel of EVK.
The tool detect our Hardware as HID-Device , I think thats a good sign. But after I press the start button, the tool display an Error (err=2, File not found, but the file is there, I tried it with absolute paths too)
It seems that the tool have problems with reading the updater_ivt.sb File.
Is there a diffenence in Kernelbuilding between the imx285 of our Hardware and the imx287 of the EVK?
and what I have to change to get a Basic Kernel running?
I hope anyone can help me. Many thanks
Original Attachment has been moved to: mfgtool.log.zip
Original Attachment has been moved to: ucl.xml.zip
Issue of incorrect DDR settings.
We have done some stress tests with success, but we think there is a problem in interacting with DDR2, IMX285 and NAND-Flash.
The imx has following registers to setup DDR
(In our first step, used the excelsheet for this register without success)
Could someone help us for setting this register for our DDR chip (MT47H64M16HR-25E). Actual we work with the settings of EVK and the kernel hung on checking bad block for NAND.
This are the default values for EVK
DRAM_REG[0] = 0x00000000; |
DRAM_REG[1] = 0x00000000;
DRAM_REG[2] = 0x00000000;
DRAM_REG[3] = 0x00000000;
DRAM_REG[4] = 0x00000000;
DRAM_REG[5] = 0x00000000;
DRAM_REG[6] = 0x00000000;
DRAM_REG[7] = 0x00000000;
DRAM_REG[8] = 0x00000000;
DRAM_REG[9] = 0x00000000;
DRAM_REG[10] = 0x00000000;
DRAM_REG[11] = 0x00000000;
DRAM_REG[12] = 0x00000000;
DRAM_REG[13] = 0x00000000;
DRAM_REG[14] = 0x00000000;
DRAM_REG[15] = 0x00000000;
DRAM_REG[16] = 0x00000000;
DRAM_REG[17] = 0x00000100;
DRAM_REG[18] = 0x00000000;
DRAM_REG[19] = 0x00000000;
DRAM_REG[20] = 0x00000000;
DRAM_REG[21] = 0x00000000;
DRAM_REG[22] = 0x00000000;
DRAM_REG[23] = 0x00000000;
DRAM_REG[24] = 0x00000000;
DRAM_REG[25] = 0x00000000;
DRAM_REG[26] = 0x00010101;
DRAM_REG[27] = 0x01010101;
DRAM_REG[28] = 0x000f0f01;
DRAM_REG[29] = 0x0f02020a;
DRAM_REG[30] = 0x00000000;
DRAM_REG[31] = 0x00010101;
DRAM_REG[32] = 0x00000100;
DRAM_REG[33] = 0x00000100;
DRAM_REG[34] = 0x00000000;
DRAM_REG[35] = 0x00000002;
DRAM_REG[36] = 0x01010000;
DRAM_REG[37] = 0x07080403; //Original
//DRAM_REG[37] = 0x07080304; //CASLAT=3 WRLAT=4
DRAM_REG[38] = 0x06005003;
DRAM_REG[39] = 0x0a0000c8;
DRAM_REG[40] = 0x02009c40;
DRAM_REG[41] = 0x0002030c;
DRAM_REG[42] = 0x0036a609;
DRAM_REG[43] = 0x031a0612;
DRAM_REG[44] = 0x02030202;
DRAM_REG[45] = 0x00c8001c;
DRAM_REG[46] = 0x00000000;
DRAM_REG[47] = 0x00000000;
DRAM_REG[48] = 0x00012100;
DRAM_REG[49] = 0xffff0303;
DRAM_REG[50] = 0x00012100;
DRAM_REG[51] = 0xffff0303;
DRAM_REG[52] = 0x00012100;
DRAM_REG[53] = 0xffff0303;
DRAM_REG[54] = 0x00012100;
DRAM_REG[55] = 0xffff0303;
DRAM_REG[56] = 0x00000003;
DRAM_REG[57] = 0x00000000;
DRAM_REG[58] = 0x00000000;
DRAM_REG[59] = 0x00000000;
DRAM_REG[60] = 0x00000000;
DRAM_REG[61] = 0x00000000;
DRAM_REG[62] = 0x00000000;
DRAM_REG[63] = 0x00000000;
DRAM_REG[64] = 0x00000000;
DRAM_REG[65] = 0x00000000;
DRAM_REG[66] = 0x00000612;
DRAM_REG[67] = 0x01000f02;
DRAM_REG[68] = 0x06120612;
DRAM_REG[69] = 0x00000200;
DRAM_REG[70] = 0x00020007;
DRAM_REG[71] = 0xf4004a27;
DRAM_REG[72] = 0xf4004a27;
DRAM_REG[73] = 0xf4004a27;
DRAM_REG[74] = 0xf4004a27;
DRAM_REG[75] = 0x07000300;
DRAM_REG[76] = 0x07000300;
DRAM_REG[77] = 0x07400300;
DRAM_REG[78] = 0x07400300;
DRAM_REG[79] = 0x00000005;
DRAM_REG[80] = 0x00000000;
DRAM_REG[81] = 0x00000000;
DRAM_REG[82] = 0x01000000;
DRAM_REG[83] = 0x01020408;
DRAM_REG[84] = 0x08040201;
DRAM_REG[85] = 0x000f1133;
DRAM_REG[86] = 0x00000000;
DRAM_REG[87] = 0x00001f04;
DRAM_REG[88] = 0x00001f04;
DRAM_REG[89] = 0x00001f04;
DRAM_REG[90] = 0x00001f04;
DRAM_REG[91] = 0x00001f04;
DRAM_REG[92] = 0x00001f04;
DRAM_REG[93] = 0x00001f04;
DRAM_REG[94] = 0x00001f04;
DRAM_REG[95] = 0x00000000;
DRAM_REG[96] = 0x00000000;
DRAM_REG[97] = 0x00000000;
DRAM_REG[98] = 0x00000000;
DRAM_REG[99] = 0x00000000;
DRAM_REG[100] = 0x00000000;
DRAM_REG[101] = 0x00000000;
DRAM_REG[102] = 0x00000000;
DRAM_REG[103] = 0x00000000;
DRAM_REG[104] = 0x00000000;
DRAM_REG[105] = 0x00000000;
DRAM_REG[106] = 0x00000000;
DRAM_REG[107] = 0x00000000;
DRAM_REG[108] = 0x00000000;
DRAM_REG[109] = 0x00000000;
DRAM_REG[110] = 0x00000000;
DRAM_REG[111] = 0x00000000;
DRAM_REG[112] = 0x00000000;
DRAM_REG[113] = 0x00000000;
DRAM_REG[114] = 0x00000000;
DRAM_REG[115] = 0x00000000;
DRAM_REG[116] = 0x00000000;
DRAM_REG[117] = 0x00000000;
DRAM_REG[118] = 0x00000000;
DRAM_REG[119] = 0x00000000;
DRAM_REG[120] = 0x00000000;
DRAM_REG[121] = 0x00000000;
DRAM_REG[122] = 0x00000000;
DRAM_REG[123] = 0x00000000;
DRAM_REG[124] = 0x00000000;
DRAM_REG[125] = 0x00000000;
DRAM_REG[126] = 0x00000000;
DRAM_REG[127] = 0x00000000;
DRAM_REG[128] = 0x00000000;
DRAM_REG[129] = 0x00000000;
DRAM_REG[130] = 0x00000000;
DRAM_REG[131] = 0x00000000;
DRAM_REG[132] = 0x00000000;
DRAM_REG[133] = 0x00000000;
DRAM_REG[134] = 0x00000000;
DRAM_REG[135] = 0x00000000;
DRAM_REG[136] = 0x00000000;
DRAM_REG[137] = 0x00000000;
DRAM_REG[138] = 0x00000000;
DRAM_REG[139] = 0x00000000;
DRAM_REG[140] = 0x00000000;
DRAM_REG[141] = 0x00000000;
DRAM_REG[142] = 0x00000000;
DRAM_REG[143] = 0x00000000;
DRAM_REG[144] = 0x00000000;
DRAM_REG[145] = 0x00000000;
DRAM_REG[146] = 0x00000000;
DRAM_REG[147] = 0x00000000;
DRAM_REG[148] = 0x00000000;
DRAM_REG[149] = 0x00000000;
DRAM_REG[150] = 0x00000000;
DRAM_REG[151] = 0x00000000;
DRAM_REG[152] = 0x00000000;
DRAM_REG[153] = 0x00000000;
DRAM_REG[154] = 0x00000000;
DRAM_REG[155] = 0x00000000;
DRAM_REG[156] = 0x00000000;
DRAM_REG[157] = 0x00000000;
DRAM_REG[158] = 0x00000000;
DRAM_REG[159] = 0x00000000;
DRAM_REG[160] = 0x00000000;
DRAM_REG[161] = 0x00000000;
DRAM_REG[162] = 0x00010000;
DRAM_REG[163] = 0x00030404;
DRAM_REG[164] = 0x00000003;
DRAM_REG[165] = 0x00000000;
DRAM_REG[166] = 0x00000000;
DRAM_REG[167] = 0x00000000;
DRAM_REG[168] = 0x00000000;
DRAM_REG[169] = 0x00000000;
DRAM_REG[170] = 0x00000000;
DRAM_REG[171] = 0x01010000;
DRAM_REG[172] = 0x01000000;
DRAM_REG[173] = 0x03030000;
DRAM_REG[174] = 0x00010303;
DRAM_REG[175] = 0x01020202;
DRAM_REG[176] = 0x00000000;
DRAM_REG[177] = 0x02040303;
DRAM_REG[178] = 0x21002103;
DRAM_REG[179] = 0x00061200;
DRAM_REG[180] = 0x06120612;
DRAM_REG[181] = 0x04420442;
DRAM_REG[182] = 0x04420442;
DRAM_REG[183] = 0x00040004;
DRAM_REG[184] = 0x00040004;
DRAM_REG[185] = 0x00000000;
DRAM_REG[186] = 0x00000000;
DRAM_REG[187] = 0x00000000;
DRAM_REG[188] = 0x00000000;
DRAM_REG[189] = 0xffffffff;
Hi all,
I have disabled NAND driver support. Now the kernel stops after starting UTP commands
This problem I found in this discussion: NAND device unrecognized with an Update Error 0xffffffea(-22)
But the NAND in our Customboard is the same we used in EVK (MT29F4G08ABADA) and it work at EVK.
Please see log
Thanks
Hi all,
we have new Information
After we found an error in boarddesign, the kernel now starts, but run into kernel panic.
This is the log.
HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLC
PowerPrep start initialize power...
Configured for 5v only power source.
Battery powered operation disabled.
PowerPrep finished
LLLC
BootPrep start initialize boot...
Feb 28 201311:54:27
Read HW_PINCTRL_EMI_DS_CTRL: 0x00030000
Read HW_RTC_CTRL: 0x00000008
Read HW_RTC_STAT: 0xE0000000
FRAC 0x92925552
memory type is DDR2
Wait for ddr ready 1
set VDDD power to 1.50V (0x0062071C)
set Frac to 0x92925513
start change cpu freq
cpu 0x00010002
set cpu to 0x00010001
hbus 0x00000003
cpu 0x00010001
BootPrep finished
LLLLLLLFLCLFLLJUncompressing Linux... done, booting the kernel.
Linux version 2.6.35.3-571-gcca29a0-hg000000000000 (ubuntu@ubuntu) (gcc version 4.4.4 (4.4.4_09.06.2010) ) #16 Fri Mar 1 11:05:43 CET 2013
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Freescale MX28EVK board
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: console=ttyAM0,115200 rdinit=/linuxrc rw gpmi
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 122352k/122352k available, 8720k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xfde00000 - 0xffe00000 ( 32 MB)
vmalloc : 0xc8800000 - 0xf0000000 ( 632 MB)
lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0027000 ( 124 kB)
.text : 0xc0027000 - 0xc0305000 (2936 kB)
.data : 0xc0306000 - 0xc0324fc0 ( 124 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:288
Console: colour dummy device 80x30
console [ttyAM0] enabled
Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
regulator: core version 0.5
NET: Registered protocol family 16
regulator: vddd: 800 <--> 1575 mV at 1500 mV fast normal
regulator: vdddbo: 800 <--> 1575 mV fast normal
regulator: vdda: 1500 <--> 2275 mV at 1800 mV fast normal
vddio = 3380000, val=10
regulator: vddio: 2880 <--> 3680 mV at 3380 mV fast normal
regulator: overall_current: fast normal
regulator: vbus5v:
regulator: mxs-duart-1: fast normal
regulator: mxs-bl-1: fast normal
regulator: mxs-i2c-1: fast normal
regulator: mmc_ssp-1: fast normal
regulator: mmc_ssp-2: fast normal
regulator: charger-1: fast normal
regulator: power-test-1: fast normal
regulator: cpufreq-1: fast normal
i.MX IRAM pool: 124 KB@0xc8820000
Initializing GPMI pins
usb DR wakeup device is registered
IMX usb wakeup probe
audit: cannot initialize inotify handle
bio: create slab <bio-0> at 0
SCSI subsystem initialized
Switching to clocksource mxs clock source
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 4096K
Bus freq driver module loaded
mxs_cpu_init: cpufreq init finished
hier atomic - 1 1
audit: initializing netlink socket (disabled)
type=2000 audit(1.290:1): initialized
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 246
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
Console: switching to colour frame buffer device 100x30
mxs-duart.0: ttyAM0 at MMIO 0x80074000 (irq = 47) is a DebugUART
mxs-auart.0: ttySP0 at MMIO 0x8006a000 (irq = 112) is a mxs-auart.0
Found APPUART 3.1.0
mxs-auart.1: ttySP1 at MMIO 0x8006c000 (irq = 113) is a mxs-auart.1
Found APPUART 3.1.0
mxs-auart.2: ttySP2 at MMIO 0x8006e000 (irq = 114) is a mxs-auart.2
Found APPUART 3.1.0
mxs-auart.3: ttySP3 at MMIO 0x80070000 (irq = 115) is a mxs-auart.3
Found APPUART 3.1.0
brd: module loaded
loop: module loaded
Loading iSCSI transport class v2.0-870.
i.MX GPMI NFC
NFC: Version 1, 8-chip GPMI and BCH
Boot ROM: Version 1, Single-chip boot area, block mark swapping supported
Scanning for NAND Flash chips...
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xdc (Micron NAND 512MiB 3,3V 8-bit)
-----------------------------
NAND Flash Device Information
-----------------------------
Manufacturer : Micron (0x2c)
Device Code : 0xdc
Cell Technology : SLC
Chip Size : 512 MiB
Pages per Block : 64
Page Geometry : 2048+64
ECC Strength : 4 bits
ECC Size : 512 B
Data Setup Time : 20 ns
Data Hold Time : 10 ns
Address Setup Time: 10 ns
GPMI Sample Delay : 6 ns
tREA : Unknown
tRLOH : Unknown
tRHOH : Unknown
Description : MT29F4G08AAA
-----------------
Physical Geometry
-----------------
Chip Count : 1
Page Data Size in Bytes: 2048 (0x800)
Page OOB Size in Bytes : 64
Block Size in Bytes : 131072 (0x20000)
Block Size in Pages : 64 (0x40)
Chip Size in Bytes : 536870912 (0x20000000)
Chip Size in Pages : 262144 (0x40000)
Chip Size in Blocks : 4096 (0x1000)
Medium Size in Bytes : 536870912 (0x20000000)
------------
NFC Geometry
------------
ECC Algorithm : BCH
ECC Strength : 8
Page Size in Bytes : 2112
Metadata Size in Bytes : 10
ECC Chunk Size in Bytes: 512
ECC Chunk Count : 4
Payload Size in Bytes : 2048
Auxiliary Size in Bytes: 16
Auxiliary Status Offset: 12
Block Mark Byte Offset : 1999
Block Mark Bit Offset : 0
-----------------
Boot ROM Geometry
-----------------
Boot Area Count : 1
Boot Area Size in Bytes : 20971520 (0x1400000)
Stride Size in Pages : 64
Search Area Stride Exponent: 2
Scanning device for bad blocks
(null) | 2À| 2À: [gpmi_nfc_dma_go] Chip: 0, DMA Channel: 4, Error -110
gpmi-nfc gpmi-nfc.0: [read_data] DMA error
Internal error: Oops - undefined instruction: 0 [#1]
last sysfs file:
CPU: 0 Not tainted (2.6.35.3-571-gcca29a0-hg000000000000 #16)
PC is at dequeue_task_fair+0x78/0x188
LR is at dequeue_task_fair+0x24/0x188
pc : [<c003fdc8>] lr : [<c003fd74>] psr: 60000093
sp : c7c27a68 ip : c7c27a68 fp : c7c27a9c
r10: 00000001 r9 : 0002d440 r8 : 00000000
r7 : c7c24000 r6 : 00000001 r5 : c7c24030 r4 : c7c24000
r3 : c0310020 r2 : 00000000 r1 : 00000400 r0 : c0310020
Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 0005317f Table: 40004000 DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc7c26270)
Stack: (0xc7c27a68 to 0xc7c28000)
7a60: c0040934 c0077e38 c0310020 c7c24000 c0310020 00000001
7a80: c7c24000 00000000 0002d440 c7c24164 c7c27abc c7c27aa0 c003eaf8 c003fd60
7aa0: c0310020 c7c26000 c0318704 c7c24000 c7c27aec c7c27ac0 c027ce50 c003eac0
7ac0: c0346cfc ffff8c6a a0000013 c7c26000 00000002 00000000 0002d440 00000000
7ae0: c7c27b24 c7c27af0 c027d318 c027cd70 c027cc18 c0346cfc c0346cfc ffff8c6a
7b00: c03469a0 c004d8b0 c7c24000 ffffffff 00000064 c0321478 c7c27b64 c7c27b28
7b20: c027cc18 c027d1c8 c0039ae0 00000001 c7c24000 c003ef64 c032147c c032147c
7b40: 00000004 00000000 c0321444 c7c5f000 c030eea8 03800000 c7c27b74 c7c27b68
7b60: c027cd40 c027cb4c c7c27bc4 c7c27b78 c0210840 c027cd3c c030eea8 fde00120
7b80: 000000ce 00000004 c7c27bbc c7c27b98 c0211adc c02107e4 c7c27b98 c7c27b98
7ba0: 00000800 c0321444 00000000 c7c5f000 c030eea8 00000004 c7c27bec c7c27bc8
7bc0: c021185c c02107e4 c7c5f000 00000040 c7251800 40803000 c030eea8 fdf7b000
7be0: c7c27c14 c7c27bf0 c0215120 c02116bc c7c5f0c0 c7c5f1e8 0002d440 c0321584
7c00: c7c5f000 00000040 c7c27c3c c7c27c18 c02149a8 c0215074 c7c5f0c0 c7c5f1e8
7c20: c7c27cd0 00000040 0002d440 0002d440 c7c27c94 c7c27c40 c020c584 c0214950
7c40: c0313098 c7c5f1e8 00000040 0000003f c7251000 00000040 00000000 00000000
7c60: 00000001 00000000 c027c8f0 c7c5f1e8 c032159c c7c5f0c0 000016a2 00000000
7c80: c7251000 00000001 c7c27d1c c7c27c98 c020cacc c020c3b8 c7c27cd0 00020001
7ca0: c0324e7c c7c27cb0 c00434ec c005b82c 00002000 00000001 00000000 c7251000
7cc0: 16a20000 00000000 16a20000 00000000 00000000 c7c27ce0 00000000 00000040
7ce0: 00000040 00000000 00000000 c7251000 c037b080 c7c5f1e8 00000000 c7c5f0c0
7d00: c0321584 00000000 c030eea8 c7c5f1e8 c7c27d74 c7c27d20 c020dbd4 c020c864
7d20: c037b060 c7c5f4f8 c030bc30 c7c5f4f8 00000810 c032159c 00000001 00000800
7d40: 00020000 c7c5f1e8 c7c27d84 c7c5f000 c00257a0 c0321444 c0321584 00000800
7d60: c030eea8 c7c5f1e8 c7c27d84 c7c27d78 c020e09c c020db5c c7c27df4 c7c27d88
7d80: c02147b8 c020dff0 20000000 00000000 c7c27db4 00000001 c00376ec 00000014
7da0: c7c5f378 0000000b c0321444 c030eea8 20000000 00000000 060a0a14 ffffffff
7dc0: 9590dc2c c7c20056 c0212024 c7c5f0c0 c7c5f1e8 00000000 c0368af4 c030ca2c
7de0: c030eea8 c7c5f1e8 c7c27e14 c7c27df8 c0209b90 c0214138 c7c5f1e8 c030eea8
7e00: 00000001 c0368af4 c7c27e2c c7c27e18 c020b328 c02096b4 c7c5f000 c030eea8
7e20: c7c27e6c c7c27e30 c0213ea0 c020b310 c030eea8 c030eea8 c7c27e5c c7c27e48
7e40: c027c8f0 c7c5f000 c030ca2c c030ca2c c030eea8 c030ca2c c030eea8 c030eea8
7e60: c7c27ea4 c7c27e70 c0210150 c0213d50 c7c5f028 00000000 c7c27e94 c030eea8
7e80: c030eea8 c0321208 c0321208 00000000 00000000 00000000 c7c27eb4 c7c27ea8
7ea0: c01de114 c020fd48 c7c27ed4 c7c27eb8 c01dd0d4 c01de108 c030eea8 c030eedc
7ec0: c0321208 00000000 c7c27ef4 c7c27ed8 c01dd1f4 c01dd02c c0321208 c7c27ef8
7ee0: c01dd18c 00000000 c7c27f1c c7c27ef8 c01dc8dc c01dd19c c7c05638 c7c73ed0
7f00: c0321208 c6d90a80 c031ec18 00000000 c7c27f2c c7c27f20 c01dcf30 c01dc898
7f20: c7c27f5c c7c27f30 c01dc1b4 c01dcf20 c02cd3fb c0020af0 c0321208 c0020af0
7f40: 00000000 00000013 00000000 00000000 c7c27f84 c7c27f60 c01dd50c c01dc120
7f60: c001bb50 c0020af0 00000000 00000013 00000000 00000000 c7c27f94 c7c27f88
7f80: c01de560 c01dd468 c7c27fa4 c7c27f98 c001bb6c c01de524 c7c27fdc c7c27fa8
7fa0: c002736c c001bb60 0000011f c0317b98 c0045f08 00000013 c0020a60 c0020af0
7fc0: c0045f08 00000013 00000000 00000000 c7c27ff4 c7c27fe0 c0008474 c0027318
7fe0: 00000000 c00083d0 00000000 c7c27ff8 c0045f08 c00083e0 e6be2f5b efdbffd5
Backtrace:
[<c003fd50>] (dequeue_task_fair+0x0/0x188) from [<c003eaf8>] (T.776+0x48/0x58)
[<c003eab0>] (T.776+0x0/0x58) from [<c027ce50>] (schedule+0xf0/0x2ac)
r7:c7c24000 r6:c0318704 r5:c7c26000 r4:c0310020
[<c027cd60>] (schedule+0x0/0x2ac) from [<c027d318>] (schedule_timeout+0x160/0x194)
[<c027d1b8>] (schedule_timeout+0x0/0x194) from [<c027cc18>] (wait_for_common+0xdc/0x178)
r5:c0321478 r4:00000064
[<c027cb3c>] (wait_for_common+0x0/0x178) from [<c027cd40>] (wait_for_completion_timeout+0x14/0x18)
[<c027cd2c>] (wait_for_completion_timeout+0x0/0x18) from [<c0210840>] (gpmi_nfc_dma_go+0x6c/0xf8)
[<c02107d4>] (gpmi_nfc_dma_go+0x0/0xf8) from [<c021185c>] (read_data+0x1b0/0x1ec)
r8:00000004 r7:c030eea8 r6:c7c5f000 r5:00000000 r4:c0321444
[<c02116ac>] (read_data+0x0/0x1ec) from [<c0215120>] (mil_read_buf+0xbc/0xd8)
[<c0215064>] (mil_read_buf+0x0/0xd8) from [<c02149a8>] (mil_ecc_read_oob+0x68/0xa4)
[<c0214940>] (mil_ecc_read_oob+0x0/0xa4) from [<c020c584>] (nand_read_oob+0x1dc/0x2cc)
r9:0002d440 r8:0002d440 r7:00000040 r6:c7c27cd0 r5:c7c5f1e8
r4:c7c5f0c0
[<c020c3a8>] (nand_read_oob+0x0/0x2cc) from [<c020cacc>] (create_bbt+0x278/0x36c)
[<c020c854>] (create_bbt+0x0/0x36c) from [<c020dbd4>] (nand_scan_bbt+0x88/0x494)
[<c020db4c>] (nand_scan_bbt+0x0/0x494) from [<c020e09c>] (nand_default_bbt+0xbc/0xd8)
[<c020dfe0>] (nand_default_bbt+0x0/0xd8) from [<c02147b8>] (mil_scan_bbt+0x690/0x730)
[<c0214128>] (mil_scan_bbt+0x0/0x730) from [<c0209b90>] (nand_scan_tail+0x4ec/0x5ac)
[<c02096a4>] (nand_scan_tail+0x0/0x5ac) from [<c020b328>] (nand_scan+0x28/0x2c)
r7:c0368af4 r6:00000001 r5:c030eea8 r4:c7c5f1e8
[<c020b300>] (nand_scan+0x0/0x2c) from [<c0213ea0>] (gpmi_nfc_mil_init+0x160/0x3e8)
r5:c030eea8 r4:c7c5f000
[<c0213d40>] (gpmi_nfc_mil_init+0x0/0x3e8) from [<c0210150>] (gpmi_nfc_probe+0x418/0x558)
[<c020fd38>] (gpmi_nfc_probe+0x0/0x558) from [<c01de114>] (platform_drv_probe+0x1c/0x20)
[<c01de0f8>] (platform_drv_probe+0x0/0x20) from [<c01dd0d4>] (driver_probe_device+0xb8/0x170)
[<c01dd01c>] (driver_probe_device+0x0/0x170) from [<c01dd1f4>] (__driver_attach+0x68/0x8c)
r7:00000000 r6:c0321208 r5:c030eedc r4:c030eea8
[<c01dd18c>] (__driver_attach+0x0/0x8c) from [<c01dc8dc>] (bus_for_each_dev+0x54/0x94)
r7:00000000 r6:c01dd18c r5:c7c27ef8 r4:c0321208
[<c01dc888>] (bus_for_each_dev+0x0/0x94) from [<c01dcf30>] (driver_attach+0x20/0x28)
r7:00000000 r6:c031ec18 r5:c6d90a80 r4:c0321208
[<c01dcf10>] (driver_attach+0x0/0x28) from [<c01dc1b4>] (bus_add_driver+0xa4/0x21c)
[<c01dc110>] (bus_add_driver+0x0/0x21c) from [<c01dd50c>] (driver_register+0xb4/0x144)
[<c01dd458>] (driver_register+0x0/0x144) from [<c01de560>] (platform_driver_register+0x4c/0x60)
r9:00000000 r8:00000000 r7:00000013 r6:00000000 r5:c0020af0
r4:c001bb50
[<c01de514>] (platform_driver_register+0x0/0x60) from [<c001bb6c>] (gpmi_nfc_init+0x1c/0x40)
[<c001bb50>] (gpmi_nfc_init+0x0/0x40) from [<c002736c>] (do_one_initcall+0x64/0x1cc)
[<c0027308>] (do_one_initcall+0x0/0x1cc) from [<c0008474>] (kernel_init+0xa4/0x158)
r9:00000000 r8:00000000 r7:00000013 r6:c0045f08 r5:c0020af0
r4:c0020a60
[<c00083d0>] (kernel_init+0x0/0x158) from [<c0045f08>] (do_exit+0x0/0x5f0)
r5:c00083d0 r4:00000000
Code: e59f3114 e5941030 e5930030 e3a02000 (e0611000)
---[ end trace 055b45d0762880fc ]---
Kernel panic - not syncing: Attempted to kill init!
Backtrace:
[<c002b6a8>] (dump_backtrace+0x0/0x114) from [<c027c7e0>] (dump_stack+0x18/0x1c)
r7:c003fdcc r6:c7c24000 r5:0000000b r4:c0325eb8
[<c027c7c8>] (dump_stack+0x0/0x1c) from [<c027c844>] (panic+0x60/0xe4)
[<c027c7e4>] (panic+0x0/0xe4) from [<c0045f7c>] (do_exit+0x74/0x5f0)
r3:c0311b04 r2:c7c27898 r1:00000000 r0:c02ced37
[<c0045f08>] (do_exit+0x0/0x5f0) from [<c002ba68>] (die+0x2ac/0x2ec)
[<c002b7bc>] (die+0x0/0x2ec) from [<c002bb6c>] (arm_notify_die+0x58/0x5c)
[<c002bb14>] (arm_notify_die+0x0/0x5c) from [<c00271b0>] (do_undefinstr+0x11c/0x130)
[<c0027094>] (do_undefinstr+0x0/0x130) from [<c0027b04>] (__und_svc+0x44/0x60)
Exception stack(0xc7c27a20 to 0xc7c27a68)
7a20: c0310020 00000400 00000000 c0310020 c7c24000 c7c24030 00000001 c7c24000
7a40: 00000000 0002d440 00000001 c7c27a9c c7c27a68 c7c27a68 c003fd74 c003fdc8
7a60: 60000093 ffffffff
r8:00000000 r7:c7c24000 r6:00000001 r5:c7c27a54 r4:ffffffff
[<c003fd50>] (dequeue_task_fair+0x0/0x188) from [<c003eaf8>] (T.776+0x48/0x58)
[<c003eab0>] (T.776+0x0/0x58) from [<c027ce50>] (schedule+0xf0/0x2ac)
r7:c7c24000 r6:c0318704 r5:c7c26000 r4:c0310020
[<c027cd60>] (schedule+0x0/0x2ac) from [<c027d318>] (schedule_timeout+0x160/0x194)
[<c027d1b8>] (schedule_timeout+0x0/0x194) from [<c027cc18>] (wait_for_common+0xdc/0x178)
r5:c0321478 r4:00000064
[<c027cb3c>] (wait_for_common+0x0/0x178) from [<c027cd40>] (wait_for_completion_timeout+0x14/0x18)
[<c027cd2c>] (wait_for_completion_timeout+0x0/0x18) from [<c0210840>] (gpmi_nfc_dma_go+0x6c/0xf8)
[<c02107d4>] (gpmi_nfc_dma_go+0x0/0xf8) from [<c021185c>] (read_data+0x1b0/0x1ec)
r8:00000004 r7:c030eea8 r6:c7c5f000 r5:00000000 r4:c0321444
[<c02116ac>] (read_data+0x0/0x1ec) from [<c0215120>] (mil_read_buf+0xbc/0xd8)
[<c0215064>] (mil_read_buf+0x0/0xd8) from [<c02149a8>] (mil_ecc_read_oob+0x68/0xa4)
[<c0214940>] (mil_ecc_read_oob+0x0/0xa4) from [<c020c584>] (nand_read_oob+0x1dc/0x2cc)
r9:0002d440 r8:0002d440 r7:00000040 r6:c7c27cd0 r5:c7c5f1e8
r4:c7c5f0c0
[<c020c3a8>] (nand_read_oob+0x0/0x2cc) from [<c020cacc>] (create_bbt+0x278/0x36c)
[<c020c854>] (create_bbt+0x0/0x36c) from [<c020dbd4>] (nand_scan_bbt+0x88/0x494)
[<c020db4c>] (nand_scan_bbt+0x0/0x494) from [<c020e09c>] (nand_default_bbt+0xbc/0xd8)
[<c020dfe0>] (nand_default_bbt+0x0/0xd8) from [<c02147b8>] (mil_scan_bbt+0x690/0x730)
[<c0214128>] (mil_scan_bbt+0x0/0x730) from [<c0209b90>] (nand_scan_tail+0x4ec/0x5ac)
[<c02096a4>] (nand_scan_tail+0x0/0x5ac) from [<c020b328>] (nand_scan+0x28/0x2c)
r7:c0368af4 r6:00000001 r5:c030eea8 r4:c7c5f1e8
[<c020b300>] (nand_scan+0x0/0x2c) from [<c0213ea0>] (gpmi_nfc_mil_init+0x160/0x3e8)
r5:c030eea8 r4:c7c5f000
[<c0213d40>] (gpmi_nfc_mil_init+0x0/0x3e8) from [<c0210150>] (gpmi_nfc_probe+0x418/0x558)
[<c020fd38>] (gpmi_nfc_probe+0x0/0x558) from [<c01de114>] (platform_drv_probe+0x1c/0x20)
[<c01de0f8>] (platform_drv_probe+0x0/0x20) from [<c01dd0d4>] (driver_probe_device+0xb8/0x170)
[<c01dd01c>] (driver_probe_device+0x0/0x170) from [<c01dd1f4>] (__driver_attach+0x68/0x8c)
r7:00000000 r6:c0321208 r5:c030eedc r4:c030eea8
[<c01dd18c>] (__driver_attach+0x0/0x8c) from [<c01dc8dc>] (bus_for_each_dev+0x54/0x94)
r7:00000000 r6:c01dd18c r5:c7c27ef8 r4:c0321208
[<c01dc888>] (bus_for_each_dev+0x0/0x94) from [<c01dcf30>] (driver_attach+0x20/0x28)
r7:00000000 r6:c031ec18 r5:c6d90a80 r4:c0321208
[<c01dcf10>] (driver_attach+0x0/0x28) from [<c01dc1b4>] (bus_add_driver+0xa4/0x21c)
[<c01dc110>] (bus_add_driver+0x0/0x21c) from [<c01dd50c>] (driver_register+0xb4/0x144)
[<c01dd458>] (driver_register+0x0/0x144) from [<c01de560>] (platform_driver_register+0x4c/0x60)
r9:00000000 r8:00000000 r7:00000013 r6:00000000 r5:c0020af0
r4:c001bb50
[<c01de514>] (platform_driver_register+0x0/0x60) from [<c001bb6c>] (gpmi_nfc_init+0x1c/0x40)
[<c001bb50>] (gpmi_nfc_init+0x0/0x40) from [<c002736c>] (do_one_initcall+0x64/0x1cc)
[<c0027308>] (do_one_initcall+0x0/0x1cc) from [<c0008474>] (kernel_init+0xa4/0x158)
r9:00000000 r8:00000000 r7:00000013 r6:c0045f08 r5:c0020af0
r4:c0020a60
[<c00083d0>] (kernel_init+0x0/0x158) from [<c0045f08>] (do_exit+0x0/0x5f0)
r5:c00083d0 r4:00000000
I hope someone can help.
Just to narrow down the issue: please unselect the GPMI NAND driver, re-build the kernel and try again.
As Jason pointed out: "Internal error: Oops - undefined instruction: 0 [#1]" could be related to DDR2 misconfiguration, but please try removing NAND driver support.
From the log, I doubt your DDR is stable enough. Could you please do some stress test for it?
I have tried to debug the steps after jumping to kernel adress at 40008000
I debugged it with an led so i found out the position where the kernel stops
In head.S - File (linux/arch/arm/boot/compressed/) it will hung up at trying to "Realocate entries in the GOT table"
#ifndef CONFIG_ZBOOT_ROM
/*
* If we're running fully PIC === CONFIG_ZBOOT_ROM = n,
* we need to fix up pointers into the BSS region.
* r2 - BSS start
* r3 - BSS end
* sp - stack pointer
*/
add r2, r2, r0
add r3, r3, r0
add sp, sp, r0
/*
* Relocate all entries in the GOT table.
*/
//hung up there
1: ldr r1, [r11, #0] @ relocate entries in the GOT
add r1, r1, r0 @ table. This fixes up the
str r1, [r11], #4 @ C references.
bl led3on //my debug LED
cmp r11, ip
blo 1b
#else
...
What now?
Hi all,
I think I solved the discribed problem by changing the register of ddr.
Now I can read and write into RAM.
The problem now the kernel doesn´t start.
Bootloader hang up by jumping into kernel. I think I have an invalid zImage. The updater_ivt.bd script runs correct I think.
Do I have to change something in the kernelfiles for creating a correct zImage?
I think it might need to be fixed in imx-bootlets as well; I'd advice you to go to U-Boot 2013.01 as it has full support to mx28evk and should be very straighforward to put support for your custom board in it.
May I know what is the message shown on the MfG Tool?
Which file is it looking for?
The Message now is shown "Updater Error 0x79 (121) - Das Zeitlimit für die Semaphore wurde erreicht." (I'm from Germany)
And the Log-File of Tool show this
"
Friday, February 08, 2013 07:10:59
1 - Panel A Start processing Singlechip NAND <LIST/>.
1 - Panel A Start <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="60" onError="" text="Booting update firmware. (updater.sb)".
1 - Panel A Finished <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="60" onError="" text="Booting update firmware. (updater.sb)" SUCCESS code=0.
1 - Panel A Start <CMD/> type="boot" body="Recovery" file="updater_ivt.sb" timeout="60" onError="" text="Booting update firmware. (updater_ivt.sb)".
1 - Panel A DoBoot() - Failed to load updater_ivt.sb to Recovery mode device. (err=2)
1 - Panel A Finished <CMD/> type="boot" body="Recovery" file="updater_ivt.sb" timeout="60" onError="" text="Booting update firmware. (updater_ivt.sb)" FAIL code=2.
Panel A: Updater Error 0x2 (2) - Das System kann die angegebene Datei nicht finden.
2 - Panel A Finished processing Singlechip NAND <LIST/> : FAIL code=2.
2 - Panel A Start processing Singlechip NAND <LIST/>.
2 - Panel A Start <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="60" onError="" text="Booting update firmware. (updater.sb)".
2 - Panel A Finished <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="60" onError="" text="Booting update firmware. (updater.sb)" SUCCESS code=0.
2 - Panel A Start <CMD/> type="boot" body="Recovery" file="updater_ivt.sb" timeout="60" onError="" text="Booting update firmware. (updater_ivt.sb)".
2 - Panel A DoBoot() - Failed to load updater_ivt.sb to Recovery mode device. (err=2)
2 - Panel A Finished <CMD/> type="boot" body="Recovery" file="updater_ivt.sb" timeout="60" onError="" text="Booting update firmware. (updater_ivt.sb)" FAIL code=2.
Panel A: Updater Error 0x2 (2) - Das System kann die angegebene Datei nicht finden.
3 - Panel A Finished processing Singlechip NAND <LIST/> : FAIL code=2.
3 - Panel A Start processing Singlechip NAND <LIST/>.
3 - Panel A Start <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="60" onError="" text="Booting update firmware. (updater.sb)".
3 - Panel A Finished <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="60" onError="" text="Booting update firmware. (updater.sb)" SUCCESS code=0.
3 - Panel A Start <CMD/> type="boot" body="Recovery" file="updater_ivt.sb" timeout="60" onError="" text="Booting update firmware. (updater_ivt.sb)".
3 - Panel A DoBoot() - Failed to load updater_ivt.sb to Recovery mode device. (err=121)
3 - Panel A Finished <CMD/> type="boot" body="Recovery" file="updater_ivt.sb" timeout="60" onError="" text="Booting update firmware. (updater_ivt.sb)" FAIL code=121.
Panel A: Updater Error 0x79 (121) - Das Zeitlimit für die Semaphore wurde erreicht.
4 - Panel A Finished processing Singlechip NAND <LIST/> : FAIL code=121.
"
i use the default ucl.xml file for imx28 and all files are there. But it seems that the tool didn't find the file update_ivt.sb or didn't read correctly.