All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tuomas Tynkkynen <tuomas@tuxera.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] rpi: Adjust fdt_addr_r to a sane address
Date: Thu, 24 May 2018 14:07:30 +0300	[thread overview]
Message-ID: <20180524140730.45cd1732@duuni> (raw)
In-Reply-To: <4d531ba5-ef49-cef7-76ef-8612de978f8e@suse.de>

Hi Alexander,

On Thu, 24 May 2018 10:12:54 +0200
Alexander Graf <agraf@suse.de> wrote:

> On 14.04.18 20:04, Tuomas Tynkkynen wrote:
> > Hi Alexander,
> > 
> > On Fri, 13 Apr 2018 17:49:00 +0200
> > Alexander Graf <agraf@suse.de> wrote:
> > 
> > [...]  
> >>
> >> diff --git a/include/configs/rpi.h b/include/configs/rpi.h
> >> index 325e52a019..fcf7e0976b 100644
> >> --- a/include/configs/rpi.h
> >> +++ b/include/configs/rpi.h
> >> @@ -124,7 +124,7 @@
> >>  #define ENV_MEM_LAYOUT_SETTINGS \
> >>  	"fdt_high=ffffffff\0" \
> >>  	"initrd_high=ffffffff\0" \
> >> -	"fdt_addr_r=0x00000100\0" \
> >> +	"fdt_addr_r=0x01f00000\0" \
> >>  	"pxefile_addr_r=0x00100000\0" \
> >>  	"kernel_addr_r=0x01000000\0" \
> >>  	"scriptaddr=0x02000000\0" \  
> > 
> > Note that above the #define is a larger comment block that needs to be
> > updated as well. Also the other addresses also need updatingfor bigger
> > kernels on AArch64: https://patchwork.ozlabs.org/patch/777725/
> > 
> > Though now I double-checked that the smallest possible GPU-CPU memory
> > split is actually 64MB for the CPU, not 128M. So maybe something like:
> > 
> >          "kernel_addr_r=0x00080000\0" \
> >          "fdt_addr_r=0x02400000\0" \
> >          "scriptaddr=0x02500000\0" \
> >          "pxefile_addr_r=0x02600000\0" \
> >          "ramdisk_addr_r=0x02700000\0"
> > 
> > which would allow a kernel up to 36M, 1M for dtb, script and pxe files
> > each, and at least 25M for the initrd. Also I think giving up with the
> > constraint of locating the zImage high enough so that the kernel
> > decompressor doesn't need to relocate itself can be dropped. If the
> > boot speed of their Raspi matters that much, probably they wouldn't use
> > U-Boot in the first place.
> > 
> > What is the address that the RPi firmware loads its device tree to? I
> > hope that we don't have to worry about the positioning of that too...  
> 
> U-Boot> bdinfo
> arch_number = 0x00000000
> boot_params = 0x00000100
> DRAM bank   = 0x00000000
> -> start    = 0x00000000
> -> size     = 0x3B400000  
> baudrate    = 115200 bps
> TLB addr    = 0x3B3F0000
> relocaddr   = 0x3B348000
> reloc off   = 0x3B2C8000
> irq_sp      = 0x3AF3E120
> sp start    = 0x3AF3E120
> Early malloc usage: 138 / 2000
> fdt_blob = 000000003af3e130
> U-Boot> print fdt_addr
> fdt_addr=2effb300
> 
> So on boot the DT passed into U-Boot is either at ~750MB or close to the
> top. I can't quite find any code that explains the difference in the two
> variables. Either way, I guess firmware tries to put it reasonably high?

I believe fdt_addr is what is passed to the kernel and fdt_blob is what
U-Boot's device model is using.

> So as long as we keep the load addresses low enough, we should be safe.

Good.

> Also fyi, I would like to switch to CONFIG_OF_BOARD by default, once I
> added code that marks u-boot.bin as an "upstream kernel" for the RPi
> firmware, because then newer RPi firmwares will pass us a fully upstream
> compatible device tree [1] which we can then pass on to Linux as default.

Makes sense, but I guess needs some documentation. Also for existing things
like whether enable_uart=1 is needed or not.

> 
> Alex
> 
> [1] https://github.com/raspberrypi/firmware/issues/943

Thanks,
Tuomas

      reply	other threads:[~2018-05-24 11:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-13 15:49 [U-Boot] [PATCH] rpi: Adjust fdt_addr_r to a sane address Alexander Graf
2018-04-14 18:04 ` Tuomas Tynkkynen
2018-04-20 10:03   ` Tuomas Tynkkynen
2018-04-20 10:03     ` [U-Boot] [PATCH 1/2] rpi: Fix fdt_high & initrd_high for 64-bit builds Tuomas Tynkkynen
2018-05-24  7:51       ` Alexander Graf
2018-05-24 14:57         ` Tuomas Tynkkynen
2018-05-24 15:22           ` Alexander Graf
2018-04-20 10:03     ` [U-Boot] [PATCH 2/2] rpi: Change load addresses to make more room for the kernel & DTB Tuomas Tynkkynen
2018-04-22 19:41     ` [U-Boot] [PATCH] rpi: Adjust fdt_addr_r to a sane address Tuomas Tynkkynen
2018-05-24  8:12   ` Alexander Graf
2018-05-24 11:07     ` Tuomas Tynkkynen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180524140730.45cd1732@duuni \
    --to=tuomas@tuxera.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.