[U-Boot] mx28evk_config integration

Marek Vasut marek.vasut at gmail.com
Fri Jan 13 13:49:27 CET 2012


> Hi Stephan,
> 
> > Of course you can post patches ! Any fix is always high appreciated !
> 
> I figured patches on a different repo were a bit 'unusual', but I'll clean
> up my work and submit my patch soon.
> 
> > Exactly which kernel version ? Do you tried with mainline kernel ? The
> > board is officially supported in mainline. Can you test with a 3.2+
> > kernel ?
> 
> 'Any' version; The FreeScale supplied version 2.6.35.3-571 that came with
> the board, but also a community version 3.1.6. The strange thing is that
> the exact same uImage files of both these Kernels work perfectly fine when
> loaded by the ancient FreeScale supplied U-Boot 2009.08, so there must be
> some difference in the hand-over.
> 
> The Kernel stops booting after the message:
> mxs_cpu_init: cpufreq init finished
> (Full log included below)
> With the JTAG debugger attached, it will report SIGABRT somewhere in
> emi_set_rate. I realize that the message above is printed _after_ this
> function has run successfully, hence with the JTAG debugger attached it
> doesn't get that far. But for now I'd like to disregard that as a
> difference in cache contents.
> 
> Function mxs_cpu_init relocates function mxs_ram_freq_scale to SRAM and
> calls it. (I've noticed that the arguments are still in SDRAM, but the
> function seems to take care of copying those to SRAM itself) Function
> mxs_ram_freq_scale configures the SDRAM clock and after that it all stops.
> With the debugger it stops immediately, when running freely it still gets
> around to printing the message. I suppose without debugger there's still
> enough code in cache to do that.
> 
> So there must be something wrong with SDRAM configuration. But this Kernel
> runs on this board when it's loaded by an older version of U-Boot. So I
> figured it assumes an underlying clock configuration that's no longer
> corresponds with the way the newer U-Boot configures the clocks. And
> that's where I'm puzzling now.
> 
> These guys:
> http://imxcommunity.org/group/imx28andimx28evk/forum/topics/kernel-executio
> n-stops-at?xg_source=activity (Still stuck with the ancient U-Boot version
> and ditto Kernel) report a similar symptom with mis-configured SDRAM, so I
> think I'm heading in the right way.
> 
> I'll pull Kernel version 3.2.1 now and see how that works, though I'd
> really like to understand the problem before considering it 'solved'.
> 
> Cheers,
> 
> 	Robert.
> 
> Log:
> ====
> U-Boot 2011.12-svn319 (Jan 11 2012 - 12:54:24)
> 
> Freescale i.MX28 family
> I2C:   ready
> DRAM:  128 MiB
> WARNING: Caches not enabled
> NAND:  1024 MiB
> MMC:   MXS MMC: 0
> In:    serial
> Out:   serial
> Err:   serial
> Net:   FEC0
> Warning: failed to set MAC address
> , FEC1
> Warning: failed to set MAC address
> 
> Hit any key to stop autoboot:  0
> Using FEC0 device
> TFTP from server 192.168.72.80; our IP address is 192.168.72.111
> Filename 'uImage'.
> Load address: 0x42000000
> Loading: T
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> ##########################
> done
> Bytes transferred = 2461264 (258e50 hex)
> ## Booting kernel from Legacy Image at 42000000 ...
>    Image Name:   linux-2.6.35.3-571-gcca29a0490
>    Created:      2012-01-03  20:42:29 UTC
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>    Data Size:    2461200 Bytes = 2.3 MiB
>    Load Address: 40008000
>    Entry Point:  40008000
>    Verifying Checksum ... OK
>    Loading Kernel Image ... OK
> OK
> 
> Starting kernel ...
> 
> Uncompressing Linux... done, booting the kernel.
> Linux version 2.6.35.3-571-gcca29a0490 Micro GC FuMo-svn300
> (robert at macpro-ubuntu) (gcc version 4.4.4 (4.4.4_09.06.2012 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=ttyAMA0,115200n8
> ip=192.168.72.111::192.168.72.1:255.255.255.0:::none root=/dev/nfs nfsro/
> 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: 124676k/124676k available, 6396k 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)
>       .text : 0xc002b000 - 0xc04a8000   (4596 kB)
>       .init : 0xc0008000 - 0xc002b000   ( 140 kB)
>       .data : 0xc04a8000 - 0xc04dda60   ( 215 kB)
>        .bss : 0xc04ddae0 - 0xc0524274   ( 282 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 [ttyAMA0] enabled
> Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
> pid_max: default: 32768 minimum: 301
> Security Framework initialized
> SELinux:  Initializing.
> 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 at 0xc8820000
> 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
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> Advanced Linux Sound Architecture Driver Version 1.0.23.
> Switching to clocksource mxs clock source
> NET: Registered protocol family 2
> IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
> TCP established hash table entries: 4096 (order: 3, 32768 bytes)
> TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
> TCP: Hash tables configured (established 4096 bind 4096)
> TCP reno registered
> UDP hash table entries: 256 (order: 0, 4096 bytes)
> UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
> NET: Registered protocol family 1
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> Bus freq driver module loaded
> IMX usb wakeup probe
> usb h1 wakeup device is registered
> mxs_cpu_init: cpufreq init finished

Looks like CPUfreq+usb is doing something eerie ... Fabio, can you look into it?

M


More information about the U-Boot mailing list