Hi,
On Mon Jul 17, 2017 at 16:13:58 -0500, Daniel (Xiaolong) Wang wrote:
I’m sorry to bother again on the same topic. Many thanks to Matthias and Adam, with their help I was able to make some progress on configuring the BeagleBone Black MMC driver for L4linux. But I still have problem to boot the L4linux. Here is where I am so far. I’m very frustrated now any hints and advice would be very appreciated.
Following Adam and Matthias’s suggestions I found out:
- I need to enable TI DMA driver and TI MMC driver , so I updated Kconfig and compiled the kernel DMA engine support as well as TI MMC driver.
- a FDT also need to be passed to L4Linux kernel, so based on beagleBoard Linux repository (https://github.com/beagleboard/linux https://github.com/beagleboard/linux) I modified the simple.dts [src/l4linux/arch/l4/boot/dts/simple.dts] (as attached)
Everything looks fine, I was able to see the l4linux scan device and pick up the FDT (as shown ”Machine model: L4Linux (DT)”) and preallocate DMA (“DMA: preallocated 256 KiB pool for atomic coherent allocations”). However the booting process stoped right after printing the following:
DMA: preallocated 256 KiB pool for atomic coherent allocations Failed to create "l4x" debugfs directory: 1 IO | new iomem region: p=49000000 v=400000 s=400000 (bmb=0x2b138) IO | map mem: p=49000000 v=400000 s=10000: done(0) __l4x_ioremap: Mapping physaddr 49000000 [0x10000 Bytes, 49000000+010000] to 00302000+000000
That's hard/impossible to say what's the problem here with this output. However, adding initcall_debug=1 to the Linux command line is a big help and will tell use which function is called and then does not return.
Adam