PowerPC/e500: how is FDT access supposed to work?

Daniel Wohllebe daniel.wohllebe at nepdrive.de
Sun Jul 7 08:41:09 UTC 2024


Hello Sebastian,

thank you for your response. I found out that the problem was me 
including the FDT-address incorrectly in the boot-command.

For anybody who may also stumble upon this future, I will give a small 
outline of what to check for:

On the U-Boot commandline, we can see the environment via printenv...

```
=> printenv
bootcmd=test -n "$qemu_kernel_addr" && bootm $qemu_kernel_addr - 
$fdtcontroladdr
ethaddr=52:52:52:52:52:52
fdtcontroladdr=7a6de90
stderr=serial at 4500
stdin=serial at 4500
stdout=serial at 4500
```

We can see the env-variable holding the address of the FDT, $fdtcontroladdr.
I used the bootm command to boot but did so with the wrong arguments.  
What I need to use to boot (with my application loaded to 0x2000000) is...

```
=> bootm 0x2000000 - $fdtcontroladdr
## Booting kernel from Legacy Image at 02000000 ...
    Image Name:   RTEMS
    Created:      2024-06-26   9:32:37 UTC
    Image Type:   PowerPC Linux Kernel Image (gzip compressed)
    Data Size:    2279513 Bytes = 2.2 MiB
    Load Address: 00004000
    Entry Point:  00004000
    Verifying Checksum ... OK

## Flattened Device Tree blob at 07a6de90
    Booting using the fdt blob at 0x7a6de90
    Uncompressing Kernel Image
    Loading Device Tree to 03efc000, end 03ffefff ... OK
```


Kind Regards,

Daniel Wohllebe



More information about the users mailing list