Re: Configure M5329 NAND for Freescale MCF5329EVB (uClinux-dist-20150808)

Greg Ungerer <[email protected]>
Newsgroups gmane.linux.uclinux.devel
Message-ID <[email protected]>
Hi Ted,

On 03/12/15 19:24, Ted Victorio wrote:
> Your patch works! The m5329.c compiled.
> But I got 2 additional undefined errors ref to nand_ecc.c, so I
> corrected by adding MTD_NAND_ECC to linux config:
>      # Disk-On-Chip Device Drivers
>      #
>      CONFIG_MTD_NAND_ECC=y
>      CONFIG_MTD_NAND_M5329=y
>      CONFIG_MTD_NAND=y
>      CONFIG_MTD_NAND_IDS=y
>
> And I added these two lines to
> uClinux-dist/vendors/Freescale/M5329EVB/Makefile (as I did to make
> uClinux-dist-20080808 work)
>      mtd0,c,90,0 mtd1,c,90,2 mtd2,c,90,4 \
>      mtdblock0,b,31,0 mtdblock1,b,31,1 mtdblock2,b,31,2 \
>
> The image.bin was succesfully built. However, the problem now is the
> image.bin booting has stopped at 0x000000000000-0x00000016e000 : "ROMfs"
> (see captured display below)
>
> I noticed differences between 2015 and 2008:
> (1) Is m53xx compatible to m532x?  [2015] uClinux/COLDFIRE(m53xx)  vs
> [2008] uClinux/COLDFIRE(m532x)

Yes, that is the intention. 53xx is meant to cater for similar
parts such as the 5329 and 537x families.


> (2) Why different sizes for RAM probe?  [2015] uclinux[mtd]: probe
> address=0x4029bc20 size=0x16e000  vs  [2008] uclinux[mtd]: RAM probe
> address=0x401c83b8 size=0x3f7000

How big is your images/romfs.img file?
This size should match that (rounded to 4k I think).
Perhaps the default user space tool set is quite different,
thus producing a quite different size romfs (root filesystem).


> (3) Why does 2015 not display NAND found like in 2008?  [2008] NAND
> device: Manufacturer ID: 0x20, Chip ID: 0x73 (ST Micro NAND 16MiB 3,3V
> 8-bit)

My first guess is that this probing is where the kernel is stuck.
So without the nand enabled do you get a complete all the way up boot
of 20150808?


> (3) MTD partition creation? [2015] Creating 1 MTD partitions on "ram":
> 0x000000000000-0x00000016e000 : "ROMfs"  vs  [2008] Creating 1 MTD
> partitions on "NAND 16MiB 3,3V 8-bit": 0x00000000-0x01000000 : "M5329
> flash partition 1"
>
> Any clues to solve this?

I would suggest adding some more printk trace in the m5239.c nand
driver to see where it is possibly getting stuck.

Regards
Greg


> ---------------------------
> dBUG> go 0x40020000
> Linux version 4.0.0-uc0 (root@RHEL6) (gcc version 4.5.1 (GCC) ) #9 Wed
> Dec 2 20:51:10 PST 2015
>
> uClinux/COLDFIRE(m53xx)
> COLDFIRE port done by Greg Ungerer, [email protected]
> Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne
> Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 4080
> Kernel command line: console=ttyS0,19200 rootfstype=romfs
> PID hash table entries: 2048 (order: 0, 8192 bytes)
> Dentry cache hash table entries: 4096 (order: 1, 16384 bytes)
> Inode-cache hash table entries: 2048 (order: 0, 8192 bytes)
> Memory: 28416K/32768K available (1945K kernel code, 118K rwdata, 328K
> rodata, 72K init, 79K bss, 4352K reserved, 0K cma-reserved)
> Virtual kernel memory layout:
>      vector  : 0x40000000 - 0x40000400   (   1 KiB)
>      kmap    : 0x00000000 - 0xffffffff   (4095 MiB)
>      vmalloc : 0x00000000 - 0xffffffff   (4095 MiB)
>      lowmem  : 0x40000000 - 0x42000000   (  32 MiB)
>        .init : 0x40276000 - 0x40288000   (  72 KiB)
>        .text : 0x40020000 - 0x40206490   (1946 KiB)
>        .data : 0x40206490 - 0x40275e00   ( 447 KiB)
>        .bss  : 0x40288000 - 0x4029bc20   (  80 KiB)
> SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=8
> NR_IRQS:256
> Console: colour dummy device 80x25
> Calibrating delay loop... 159.12 BogoMIPS (lpj=795648)
> pid_max: default: 32768 minimum: 301
> Mount-cache hash table entries: 2048 (order: 0, 8192 bytes)
> Mountpoint-cache hash table entries: 2048 (order: 0, 8192 bytes)
> NET: Registered protocol family 16
> Switched to clocksource tmr
> NET: Registered protocol family 2
> TCP established hash table entries: 2048 (order: 0, 8192 bytes)
> TCP bind hash table entries: 2048 (order: 0, 8192 bytes)
> TCP: Hash tables configured (established 2048 bind 2048)
> TCP: reno registered
> UDP hash table entries: 512 (order: 0, 8192 bytes)
> UDP-Lite hash table entries: 512 (order: 0, 8192 bytes)
> NET: Registered protocol family 1
> jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
> romfs: ROMFS MTD (C) 2007 Red Hat, Inc.
> io scheduler noop registered (default)
> Initing M532x Framebuffer
> Console: switching to colour frame buffer device 100x37
> fb0: M532x FB frame buffer device @0x41a00000
> ColdFire internal UART serial driver
> mcfuart.0: ttyS0 at MMIO 0xfc060000 (irq = 90, base_baud = 5000000) is a
> ColdFire UART
> console [ttyS0] enabled
> mcfuart.0: ttyS1 at MMIO 0xfc064000 (irq = 91, base_baud = 5000000) is a
> ColdFire UART
> mcfuart.0: ttyS2 at MMIO 0xfc068000 (irq = 92, base_baud = 5000000) is a
> ColdFire UART
> brd: module loaded
> loop: module loaded
> nbd: registered device at major 43
> uclinux[mtd]: probe address=0x4029bc20 size=0x16e000
> uclinux[mtd]: set ROMfs to be root filesystem
> Creating 1 MTD partitions on "ram":
> 0x000000000000-0x00000016e000 : "ROMfs"
> ---------------------------
>
>
> On Wednesday, December 2, 2015 4:06 PM, Greg Ungerer <[email protected]>
> wrote:
>
> Hi Cristobal,
>
> On 03/12/15 01:13, Cristobal Chaves wrote:
>  > First of all you have to compile the drivers if you wanna add the
> drivers, then you have to modify the kconfig file adding the names of
> the divers files *.o and *.c. Once you have added the files to the
> configure file you can patch the kernel and finally add the drivers
> configuring the kernel graphically or manually. Just follow the steps of
> bellow:
>
> This really makes no sense. And it seems unnecessary given the
> original poster was clearly already compiling the driver in
> the kernel tree. The m5329.c driver source in that tree is
> broken - the compile error messages give that.
>
> You don't add *.c or *.o names into a Kconfig. They would only
> ever go into a Makefile.
>
> Regards
> Greg
>
>  > 1) Compile drivers
>  > 2) Add names of files *.o and *.c to the respective KCONFIG
>  > 3) Patch Kernel using Diff tool
>  > 4) Compile Kernel
>  > 5) Add drivers to the configuration of custom kernel
>  > 6) Compile Kernel
>  > 7) Done, you have your custom kernel with new drivers added.
>  >
>  > BR,
>  >
>  > Cristobal
>  >
>  >> To: [email protected]
>  >> From: [email protected]
>  >> Date: Thu, 3 Dec 2015 00:33:30 +1000
>  >> Subject: Re: [uClinux-dev] Configure M5329 NAND for Freescale
> MCF5329EVB (uClinux-dist-20150808)
>  >>
>  >> Hi Ted,
>  >>
>  >> On 02/12/15 06:56, Ted Victorio wrote:
>  >> > I am unable to compile for the M5329 NAND using the configuration
> below.
>  >> >
>  >> > Distro: uClinux-dist-20150808
>  >> > Tool: m68k-uclinux-tools-20101118
>  >> > Platform: Freescale MCF5329EVB
>  >> >
>  >> > # Linux/m68k 4.0.0-uc0 Kernel Configuration
>  >> [snip]
>  >> >
>  >>
>  >> The definitions for register addresses were sanitized for Coldfire
>  >> hardware a few kernel revisions back. They are now all register
>  >> addresses (or offsets) - not access macros as some were.
>  >>
>  >> You will need the patch below to fix this driver (compile tested
>  >> only). The include of mtdcore is a little ugly, but it should get
>  >> you going for now.
>  >>
>  >> Regards
>  >> Greg
>
>
>
>
>
>
>
>
> _______________________________________________
>
>
>
> _______________________________________________
> uClinux-dev mailing list
> [email protected]
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by [email protected]
> To unsubscribe see:
> http://mailman.uclinux.org/mailman/options/uclinux-dev
>
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.