Hi Tom,
ok many thanks for all your points, checking them all carefully, even if 90% of them has already been checked.
Yes, in the linux side i am working on eDMA and it is "hard"
also for difficulty in testing it.
But to fast up the development i decided to try to have sdcard boot enabled from u-boot first (y-modem is not that friendly). So i am in u-boot eSDHC driver now.
As in Linux, also u-boot already has an eSDHC driver that seems to do the right things also for coldfire.
Yes, as Linux drivers i am contributing mainly to have this custom board (stmark2) fully functional and code into mainline.
Actually, some of the imx drivers can work with minimal changes for Coldfire too. For spi i managed to have the existing spi driver working, i now boot from spi-nor flash into linux.
U-Boot 2018.01-00386-gd3b7151fc4-dirty (Jan 30 2018 - 22:52:23 +0100)
CPU: Freescale MCF54410 (Mask:9f Version:2)
CPU CLK 240 MHz BUS CLK 120 MHz FLB CLK 60 MHz
INP CLK 30 MHz VCO CLK 480 MHz
SPI: ready
DRAM: 128 MiB
MMC: FSL_SDHC: 0
SF: Detected is25lp128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
SF: Detected is25lp128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
device 0 offset 0x100000, size 0x1e1040
SF: 1970240 bytes @ 0x100000 Read: OK
## Booting kernel from Legacy Image at 40001000 ...
Image Name: mainline kernel
Created: 2018-01-14 16:40:18 UTC
Image Type: M68K Linux Kernel Image (uncompressed)
Data Size: 1970176 Bytes = 1.9 MiB
Load Address: 40001000
Entry Point: 40001000
Verifying Checksum ... OK
Loading Kernel Image ... OK
[ 0.000000] Linux version 4.15.0-rc3stmark2-001-00860-g2dd6486ddf91-dirty (angelo@jerusalem) (gcc version 5.2.0 (crosstools-sysam-2016.04.16)) #159 Sun Jan 14 17:40:17 CET 2018
[ 0.000000] uClinux with CPU COLDFIRE(m5441x)
[ 0.000000] COLDFIRE port done by Greg Ungerer, gerg@snapgear.com
[ 0.000000] Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne
[ 0.000000] On node 0 totalpages: 16384
[ 0.000000] DMA zone: 64 pages used for memmap
[ 0.000000] DMA zone: 0 pages reserved
[ 0.000000] DMA zone: 16384 pages, LIFO batch:0
[ 0.000000] random: fast init done
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16320
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/ram0 rw rootfstype=ramfs rdinit=/bin/init devtmpfs.mount=1 ignore_loglevel
[ 0.000000] debug: ignoring loglevel setting.
[ 0.000000] Dentry cache hash table entries: 16384 (order: 3, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 2, 32768 bytes)
[ 0.000000] Memory: 128416K/131072K available (1189K kernel code, 112K rwdata, 304K rodata, 312K init, 61K bss, 2656K reserved, 0K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0x40000000 - 0x40000400 ( 1 KiB)
[ 0.000000] kmap : 0x00000000 - 0xffffffff (4095 MiB)
[ 0.000000] vmalloc : 0x00000000 - 0xffffffff (4095 MiB)
[ 0.000000] lowmem : 0x40000000 - 0x48000000 ( 128 MiB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) ( 312 KiB)
[ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (1190 KiB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 417 KiB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 62 KiB)
[ 0.000000] SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=8
[ 0.000000] NR_IRQS: 256
[ 0.000000] clocksource: pit: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1019338904850 ns
[ 0.070000] Calibrating delay loop... 234.70 BogoMIPS (lpj=1173504)
[ 0.070000] pid_max: default: 32768 minimum: 301
[ 0.080000] Mount-cache hash table entries: 2048 (order: 0, 8192 bytes)
[ 0.080000] Mountpoint-cache hash table entries: 2048 (order: 0, 8192 bytes)
[ 0.180000] devtmpfs: initialized
[ 0.330000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.340000] futex hash table entries: 256 (order: -2, 3072 bytes)
[ 0.350000] gpio gpiochip0: (mcfgpio): added GPIO chardev (254:0)
[ 0.350000] gpiochip_setup_dev: registered GPIOs 0 to 86 on device: gpiochip0 (mcfgpio)
[ 0.620000] WARNING: workqueue cpumask: online intersect > possible intersect
[ 0.640000] mcf_edma_probe() entering
[ 0.650000] mcf_edma_probe() init channels
[ 0.650000] mcf_edma_probe() init irq
[ 0.650000] mcf_edma_irq_init() entering
[ 0.650000] mcf_edma_irq_init() int0 res->start 72 res->end 87
[ 0.660000] mcf_edma_irq_init() int16 res->start 136 res->end 176
[ 0.690000] mcf_edma_irq_init() int56 res->start 192
[ 0.690000] mcf_edma_irq_init() 0-63 ok
[ 0.690000] mcf_edma_irq_init() all ok
[ 1.060000] mcf_edma_probe() exiting, all ok
[ 1.080000] clocksource: Switched to clocksource pit
[ 1.090000] FS-Cache: Loaded
[ 4.050000] workingset: timestamp_bits=27 max_order=14 bucket_order=0
[ 4.840000] io scheduler noop registered
[ 4.840000] io scheduler deadline registered
[ 4.870000] io scheduler cfq registered (default)
[ 4.870000] io scheduler mq-deadline registered
[ 4.870000] io scheduler kyber registered
[ 8.600000] ColdFire internal UART serial driver
[ 8.600000] mcfuart.0: ttyS0 at MMIO 0xfc060000 (irq = 90, base_baud = 7500000) is a ColdFire UART
[ 8.910000] console [ttyS0] enabled
[ 8.930000] mcfuart.0: ttyS1 at MMIO 0xfc064000 (irq = 91, base_baud = 7500000) is a ColdFire UART
[ 8.950000] mcfuart.0: ttyS2 at MMIO 0xfc068000 (irq = 92, base_baud = 7500000) is a ColdFire UART
[ 8.980000] mcfuart.0: ttyS3 at MMIO 0xfc06c000 (irq = 93, base_baud = 7500000) is a ColdFire UART
[ 9.050000] fsl-dspi fsl-dspi.0: registered master spi0
[ 9.060000] spi spi0.1: setup mode 3, 8 bits/w, 5000000 Hz max --> 0
[ 9.100000] m25p80 spi0.1: is25lp128 (16384 Kbytes)
[ 9.100000] Creating 3 MTD partitions on "is25lp128":
[ 9.110000] 0x000000000000-0x000000100000 : "U-Boot (1024K)"
[ 9.180000] 0x000000100000-0x000000800000 : "Kernel+initramfs (7168K)"
[ 9.250000] 0x000000800000-0x000001000000 : "Flash Free Space (8192K)"
[ 9.310000] fsl-dspi fsl-dspi.0: registered child spi0.1
[ 10.590000] Freeing unused kernel memory: 312K
[ 10.600000] This architecture does not have kernel memory protection.
Sysam Firmware Solutions - stmark 2
Greetings !
For further information check: http://www.sysam.it
/ #
angelo