Hi Sascha, I wrote a patch they do that what you have suggest. It write the dtb from memory into a file. My problem is, I don't know how I can share data between PBL and the main process? That are not the same binary, so I can't use extern keyword and on this early boot step I don't know how I can access to memory. I think with a simple pointer, I can't access to a memory area they are not my own? greets Pascal 2018-06-07 9:31 GMT+02:00 Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>: > Hi Pascal, > > On Wed, Jun 06, 2018 at 01:07:27AM +0200, Pascal Vizeli wrote: >> Hi, >> >> I'm working on a functionality to load a device tree with oftree from >> memory. The use case is like raspberry platform they have his own >> device tree for linux kernel. If I known the address (config.txt), I >> will load this from memory and read out the dynamic linux args and use >> other overlays for states with bootchoiser and boot the kernel >> correctly. >> >> On raspberry, I can write the device-tree to a memory address with >> config.txt. It would be nice, if I can access to barebox (start.c) >> main arguments, while the raspberry pi load barebox like a linux >> kernel and give him the device-address on r2. > > Starting barebox with the devicetree provided in r2 shouldn't be a > problem. See arch/arm/boards/raspberry-pi/lowlevel.c: > > ENTRY_FUNCTION(start_raspberry_pi2, r0, r1, r2) > { > void *fdt = __dtb_bcm2836_rpi_2_start + get_runtime_offset(); > > arm_cpu_lowlevel_init(); > > barebox_arm_entry(BCM2835_SDRAM_BASE, SZ_512M, fdt); > } > > Just call barebox_arm_entry() with 'r2' instead of 'fdt'. > > You could also store the value of r2 in a known memory location > and load the devicetree later in some board specific initcall. > > Sascha > > -- > Pengutronix e.K. | | > Industrial Linux Solutions | http://www.pengutronix.de/ | > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox