Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SAM9X60 D5M SIP - Stuck at "DRAM: 64 Mib" #33

Open
qbonenfant opened this issue Jan 3, 2024 · 0 comments
Open

SAM9X60 D5M SIP - Stuck at "DRAM: 64 Mib" #33

qbonenfant opened this issue Jan 3, 2024 · 0 comments

Comments

@qbonenfant
Copy link

qbonenfant commented Jan 3, 2024

Hi,
I am currently trying to test a custom board based on Microchip SAM9X60D5M SIP.
The board design is very close to the (now discontinued) SAM9X60 Evaluation Kit, but with twice the RAM and a 4Gb NAND flash.

The board manufacturer provided a pre-compiled AT91 bootloader, which seems to work fine.
As a side note, I did not manage to successfully recompile a functionnal AT91 bootloader myself (always had some issues with the NAND flash and PMECC).

Sadly, I can not reuse the EK demo files, since they use different CPU / RAM...

Following the recommandation from linux4sam website, I tried to recompile u-boot from this repo using the sam9x60ek_nandflash config and sam9x60ek device tree as a base.
I just need one of the integrated ethernet port to work for this first test, so I didn't try to modify the device tree (yet).
I tried to poke around, and alter the config a bit, but in the end I always get the same result:

u-boot_stuck

Seeing I will not go anywhere using default configs, I got into understanding u-boot configuration, tried and learn a few things from previous commits and the overall structure of this (quite impressive to be honest) tool.

So far I learned:

  • The sam9x60 D5M SIP "should" be supported, or is at least referenced in the arch/arm/mach-at91/arm926ejs/Sam9x60_device.c in function get_cpu_name().
    I am not sure what kind of impact this has since it only seems to set ATMEL_CPU_NAME, which is only used to display info about the cpu (print_cpuinfo() in file arch/arm/mach-at91/arm926ejs/cpu.c)
  • Despite trying my best to enable the debug_uart flag (following the procedure described in include/debug_uart.h), I can not manage to get it to work, and am not sure what I am doing wrong.
  • I really need to learn more about device trees for this project.

I do not know where to go from here, and would appreciate some help

Additionnal information:

  • I use a USB cable connected to the USB debug (DTXD / DRXD pins) for serial communication using default parameters (115200 bauds, slow but works fine)
  • I use SAM-BA 3.5 to flash my bootloaders to the NAND (using a qml script derived from Microchip demo)
  • I use the same offsets as the demos, which seems to match the ones described in the device tree "partition" i use.
  • Onboard LED turns RED.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant