Mini2440 questions

Belisko Marek marek.belisko at gmail.com
Sat Apr 2 12:44:20 EDT 2011


On Sat, Apr 2, 2011 at 5:31 PM, Juergen Beisert <jbe at pengutronix.de> wrote:
> Hi Zoltán,
>
> Zoltán Kócsi wrote:
>> I've got two issues. One is barebox related:
>>
>> Does the current git master branch supposed to boot from NAND?
>> Download, config (mini2440 defconfig + very little personalisation),
>> compile. Boot from NAND *is* enabled in the config.
>
> As long Sascha release a new barebox, the NAND boot feature of the mini2440 is
> still in next. Its going to be released in the May release.
>
> So, you must still use the 'next' branch to get all S3C2440 related NAND boot
> changes.
>
>> Load to RAM and start: starts up just fine.
>> Boot from NAND: nothing.
>
> Sure. The NAND driver for the S3C2440 CPU is still broken for other NAND types
> than small page ones.
>
>> I looked at the actual binary image with objdump -d and it seems to
>> initialise the PLL, the SDRAM controller and load the NAND into the
>> RAM, then jump onto it. All that code is within the 4K StepStone range.
>> However, nothing happens, the board is dead.
>
> Yes, because the S3C2440 NAND driver loads the wrong content from the NAND.
>
>> The other problem is not barebox related, but considering the audience
>> of the list someone might have some ideas.
>>
>> Linux kernel, 2.6.37.2. Defconfig for mini2440. A fairly minimalistic
>> kernel is then configured, dev. drivers for on-board stuff are static,
>> everything else is modules. Low-level debug messages are enabled.
>>
>> Booting the kernel (using vivi...) hangs, just after the console is
>> initialised:
>>
>> Copy linux kernel from 0x00060000 to 0x30008000, size = 0x002a0000 ...
>> done
>> zImage magic = 0x016f2818
>> Setup linux parameters at 0x30000100
>> linux command line is: "noinitrd root=/dev/mtdblock3 init=/linuxrc
>> console=ttySAC0,115200"
>> MACH_TYPE = 1999
>> NOW, Booting Linux......
>> Uncompressing Linux... done, booting the kernel.
>> s3c24xx_serial_initconsole
>> s3c24xx_serial_init_ports: initialising ports...
>> s3c24xx_serial_init_port: port=c03a6378, platdev=c03b9ab0
>> s3c24xx_serial_init_port: c03a6378 (hw 0)...
>> resource c0397b10 (50000000..50003fff)
>> port: map=50000000, mem=f7000000, irq=70 (70,71), clock=1
>> s3c2440_serial_resetport: port=c03a6378 (50000000), cfg=c03b9a24
>> s3c24xx_serial_init_port: port=c03a6434, platdev=c0398d00
>> s3c24xx_serial_init_port: c03a6434 (hw 1)...
>> resource c0397b48 (50004000..50007fff)
>> port: map=50004000, mem=f7004000, irq=73 (73,74), clock=1
>> s3c2440_serial_resetport: port=c03a6434 (50004000), cfg=c03b9a44
>> s3c24xx_serial_init_port: port=c03a64f0, platdev=c0398db8
>> s3c24xx_serial_init_port: c03a64f0 (hw 2)...
>> resource c0397b80 (50008000..5000bfff)
>> port: map=50008000, mem=f7008000, irq=76 (76,77), clock=1
>> s3c2440_serial_resetport: port=c03a64f0 (50008000), cfg=c03b9a64
>> s3c24xx_serial_init(c03a665c,c03a6628)
>> s3c2440_serial_probe: dev=c03b9ab0
>> s3c24xx_serial_probe(c03b9ab0, c03a6628) 0
>> s3c24xx_serial_probe: initialising port c03a6354...
>> s3c24xx_serial_init_port: port=c03a6378, platdev=c03b9ab0
>> s3c24xx_serial_probe: adding port
>> s3c2440_serial_probe: dev=c0398d00
>> s3c24xx_serial_probe(c0398d00, c03a6628) 1
>> s3c24xx_serial_probe: initialising port c03a6410...
>> s3c24xx_serial_init_port: port=c03a6434, platdev=c0398d00
>> s3c24xx_serial_probe: adding port
>> s3c2440_serial_probe: dev=c0398db8
>> s3c24xx_serial_probe(c0398db8, c03a6628) 2
>> s3c24xx_serial_probe: initialising port c03a64cc...
>> s3c24xx_serial_init_port: port=c03a64f0, platdev=c0398db8
>> s3c24xx_serial_probe: adding port
>>
>> and then nothing. A LED on the board is blinking (two blinks, maybe
>> 100ms apart, then about 200ms pause) but nothing comes out of the
>> serial port. The LCD backlight is off and there doesn't seem to be
>> either a splash image or debug info on it (console on LCD is enabled).
>>
>> The build environment is the latest buildroot, 4.5.2 gcc, 0.9.31 uClibc,
>> everything is built from scratch (that's actually the aim of the whole
>> excercise, to build a working Linux system on a Mini2440 HW from clean,
>> up-to-date sources, not pre-built toolchains and pre-compiled packages
>> or binary images).
>>
>> Any pointers would be highly appreciated.
>
> 1) do you use the mini2440 kernel command line parameter?
>
> In the 'next' branch I added this comment into mini2440's config:
> #
> # "mini2440" kernel parameter
> # 0 .. 9 = screen type
> # b = backlight enabled
> # t = touch enabled
> # c = camera enabled
> # Note: can be "minit2440= " if nothing of these components are connected
> #
> bootargs="console=ttySAC0,115200 mini2440=0tbc"
>
> 2) in 2.6.37 and 2.6.38 the serial console name is totally broken. There is a
> patch around to fix it.
Not sure about that. I post latest updates last week to lkml and still
use ttySAC0 and
everything booting fine (at least with 2.6.39)
>
> From: Darius Augulis <augulis.darius at gmail.com>
> Subject: serial: samsung: fix device name
>
> Without this patch you must use a serial UART name of "/dev/s3c2410_serial0"
> to make it work. Ugly.
>
> I will send you this patch offline.
>
> Regards,
> Juergen
>
> --
> Pengutronix e.K.                              | Juergen Beisert             |
> Linux Solutions for Science and Industry      | Phone: +49-8766-939 228     |
> Vertretung Sued/Muenchen, Germany             | Fax:   +49-5121-206917-5555 |
> Amtsgericht Hildesheim, HRA 2686              | http://www.pengutronix.de/  |
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>

regards,

marek

-- 
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
icq: 290551086
web: http://open-nandra.com



More information about the barebox mailing list