[Gen8 General] scholbert:
Hey folks,

thanks for your replies.

In the meatime i fiddled around with my u-boot setup and used the u-boot console for some debugging of certain memory areas.

I'm not sure, but apart form kernel cmdline issue, there might be something wrong with the ATAGs passing to the kernel, still investigating.

If things are not placed correctly, e.g. machine_type booting might fail at this point.

I'm just compiling a new kernel with low-level debug support and changed the cmdline to match baudrate as well.

If the image is ready, i will try to follow this:

http://processors.wiki.ti.com/index.php/FAQ_for_DaVinci_Linux#No_kernel_output_after_U-Boot_load

EDIT:

Tadaaah.... :p

Got it, see this:

Booting from mmc ...
## Booting kernel from Legacy Image at 82000000 ...
Image Name: Linux-2.6.29-omap1
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2986936 Bytes = 2.8 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Using existing atags at 0x80000100
Uncompressing Linux.............................................................
................................................................................
..................................................... done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x00000003).

Available machine support:

ID (hex) NAME
0000139c Archos A28 board
0000139d Archos A32 board
000013a4 Archos A32SD board
000013a5 Archos A35 board
000013a6 Archos A35DM board
000013a7 Archos A35DE board
0000139e Archos A43 board
000013a0 Archos A70S board
000013a1 Archos A70H board
000013ac Archos A70S2 board
000013ad Archos A70H2 board
000013a3 Archos A101IT board

Please check your kernel config and/or bootloader.

Should be solvable i guess, but it's already late today and i'm off for the weekend.

Maybe i digg in u-boot code for a while...

EDIT2: Enabled u-boot debugging as well...

U-Boot 2011.12 (Mar 23 2012 - 00:29:33)

U-Boot code: 80008000 -> 800393AC BSS: -> 8006B2E8
OMAP3630/3730-GP ES1.2, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
Archos 101IT Gen8 + LPDDR/MMC
I2C: ready
monitor len: 000632E8
ramsize: 10000000
TLB table at: 8fff0000
Top of RAM usable for U-Boot at: 8fff0000
Reserving 396k for U-Boot at: 8ff8c000
Reserving 1280k for malloc() at: 8fe4c000
Reserving 24 Bytes for Board Info at: 8fe4bfe8
Reserving 120 Bytes for Global Data at: 8fe4bf70
New Stack Pointer is: 8fe4bf60
RAM Configuration:
Bank #0: 80000000 256 MiB
relocation Offset is: 0ff84000
dram_bank_mmu_setup: bank: 0
monitor flash len: 00035E14
Now running in RAM - U-Boot at: 8ff8c000
MMC: OMAP SD/MMC: 0
Using default environment

Destroy Hash Table: 8ffbddcc table = (null)
Create Hash Table: N=150
INSERT: table 8ffbddcc, filled 1/151 rv 8fe4c5e4 ==> name="bootcmd" value="if mmc rescan 0; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else; fi; fi; else; fi"
INSERT: table 8ffbddcc, filled 2/151 rv 8fe4c56c ==> name="bootdelay" value="2"
INSERT: table 8ffbddcc, filled 3/151 rv 8fe4c674 ==> name="baudrate" value="115200"
INSERT: table 8ffbddcc, filled 4/151 rv 8fe4c6c8 ==> name="loadaddr" value="0x82000000"
INSERT: table 8ffbddcc, filled 5/151 rv 8fe4c998 ==> name="console" value="ttyS2"
INSERT: table 8ffbddcc, filled 6/151 rv 8fe4c374 ==> name="video_mode" value="debug omapdss.debug=0 vram=4915200 omapfb.vram=0:4915200 omapfb.debug=0"
INSERT: table 8ffbddcc, filled 7/151 rv 8fe4c698 ==> name="mmcroot" value="/dev/mmcblk0p2 rw"
INSERT: table 8ffbddcc, filled 8/151 rv 8fe4c4d0 ==> name="mmcrootfstype" value="ext3 rootwait"
INSERT: table 8ffbddcc, filled 9/151 rv 8fe4c548 ==> name="mmcargs" value="setenv bootargs console=${console},115200n8 ${video_mode} root=${mmcroot} rootfstype=${mmcrootfstype} ${extra_options}"
INSERT: table 8ffbddcc, filled 10/151 rv 8fe4c7d0 ==> name="loadbootscript" value="fatload mmc 0 ${loadaddr} boot.scr"
INSERT: table 8ffbddcc, filled 11/151 rv 8fe4c62c ==> name="bootscript" value="echo Running bootscript from mmc ...; source ${loadaddr}"
INSERT: table 8ffbddcc, filled 12/151 rv 8fe4c3e0 ==> name="loaduimage" value="fatload mmc 0 ${loadaddr} uImage"
INSERT: table 8ffbddcc, filled 13/151 rv 8fe4c680 ==> name="mmcboot" value="echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}"
INSERT: free(data = 8fe4c008)
INSERT: done
In: serial
Out: serial
Err: serial
Die ID #144800029ff800000160a4bb18027009
### main_loop entered: bootdelay=2

Nothing special here, but now it gets clear where code exactly lives.

Next the kernel placement:

...
2987000 bytes read
Booting from mmc ...
## Current stack ends at 0x8fe4baf8 * kernel: cmdline image address = 0x82000000
## Booting kernel from Legacy Image at 82000000 ...
Image Name: Linux-2.6.29-omap1
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2986936 Bytes = 2.8 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
kernel data at 0x82000040, len = 0x002d93b8 (2986936)
## No init Ramdisk
ramdisk start = 0x00000000, ramdisk end = 0x00000000
## No Flattened Device Tree
Loading Kernel Image ... OK
OK
kernel loaded at 0x80008000, end = 0x802e13b8
## Transferring control to Linux (at address 80008000) ...

Looks fine as well.

Now at u-boot console i typed bdinfo:

A101IT # bdinfo
arch_number = 0x000013A3
boot_params = 0x80000100
DRAM bank = 0x00000000
-> start = 0x80000000
-> size = 0x10000000
baudrate = 115200 bps
TLB addr = 0x8FFF0000
relocaddr = 0x8FF8C000
reloc off = 0x0FF84000
irq_sp = 0x8FE4BF70
sp start = 0x8FE4BF60
FB base = 0x00000000

All looks o.k. to me, arch_number is setup to A101IT, but is not passed over to the kernel correctly.

Seems that something is not interpreted the way it should be...

If R1 really holds the arch_number during kernel pass over and at early kernel startup,

then u-boot has to pass it right before the jump to kernel code...

Little irritating, maybe i should disable TAG support in u-boot :confused:

No need to hurry i guess, but i'd like to find a solution and i really enjoy your comments.

Thanks!!!

See ya,

scholbert