From: "Gaël PORTAY" <gael.portay+rtone@gmail.com>
To: "Fiona Klute" <fiona.klute@gmx.de>,
"Gaël PORTAY" <gael.portay@gmail.com>,
buildroot@buildroot.org
Cc: "José Mendes" <jp.baltazar.mendes@gmail.com>,
"Martin Bark" <martin@barkynet.com>,
"Julien Grossholtz" <julien.grossholtz@openest.io>,
"Yann E . MORIN" <yann.morin.1998@free.fr>
Subject: Re: [Buildroot] [PATCH next v2 3/3] configs/raspberrypicm4io_64_uboot_defconfig: new defconfig
Date: Fri, 07 Feb 2025 11:14:35 +0100 [thread overview]
Message-ID: <D7M4USL2KEM9.3MZ9W5ZLL5HOW@gmail.com> (raw)
In-Reply-To: <ba8e5707-9c21-4303-a9ae-1b307bc27173@gmx.de>
On Wed Feb 5, 2025 at 7:07 PM CET, Fiona Klute wrote:
>>> diff --git a/board/raspberrypi/boot.scr.in b/board/raspberrypi/boot.scr.in
>>> new file mode 100644
>>> index 0000000000..a5c986ef99
>>> --- /dev/null
>>> +++ b/board/raspberrypi/boot.scr.in
>>> @@ -0,0 +1,9 @@
>>> +# Please note that this is only a sample, we recommend you to change
>>> +# it to fit your needs. You should override this file using
>>> +# BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE.
>>> +
>>> +# load kernel from the root partition
>>> +load mmc 0:2 ${kernel_addr_r} boot/Image
>>> +env set bootargs "root=/dev/mmcblk0p2 rootwait console=tty1 console=ttyAMA0,115200"
>>> +# boot using the FDT provided by firmware
>>> +booti ${kernel_addr_r} - ${fdt_addr}
>>
>> The raspberrypi5 uses a different console (i.e. console=ttyAMA10,11500)
>> and thus it requires a different file, right?
>
> Either that, or some logic to detect different boards and adjust the
> command line (e.g. "fdt get value" to read the compatible string and
> compare, or just the default board_name environment variable). Not sure
> what's preferable, do you have an opinion?
>
Oh I got it...
>> What do you think about adding a suffix so we can make the distinction
>> between the whole Raspberry Pi 4 64bit familly and an hypotetical
>> Raspberry Pi 5 boot.scr file?
>>
>> I am thinking about renaming the file boot_4_64bit.scr (or maybe
>> boot_cm4io_64bit.scr it the file is specific to the CM4-IO Board) and
>> update BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE accordingly.
>
> I'd expect it to work with pretty much any 64 bit RPi variant, maybe
> with adjustments to the bootargs as you mentioned. It's not like the
> script itself has anything board specific, the variables are provided by
> U-Boot. If we go with separate scripts, the suffix is fine with me.
>
.... You are right, since this is all about scripting, this can be done
at runtime. Thus, we can have a single boot.scr compatible with every pi
(1-4-32bit, pi1-4-64bit, and pi5), and avoid another hassle of files
with prefixes.
So, IIUC, adding the raspberrypi5 is just about updating boot.scr this
way:
# load kernel from the root partition
load mmc 0:2 ${kernel_addr_r} boot/Image
-env set bootargs "root=/dev/mmcblk0p2 rootwait console=tty1 console=ttyAMA0,115200"
+if test "$board_name" = "5 Model B"; then
+ env set bootargs "root=/dev/mmcblk0p2 rootwait console=tty1 console=ttyAMA10,115200"
+else
+ env set bootargs "root=/dev/mmcblk0p2 rootwait console=tty1 console=ttyAMA00,115200"
+fi
# boot using the FDT provided by firmware
booti ${kernel_addr_r} - ${fdt_addr}
So forget what I said about the prefix, and stick to boot.scr, you got
the right approach ;)
Here all the environment for the pi5:
U-Boot> printenv
arch=arm
baudrate=115200
board=rpi
board_name=5 Model B
board_rev=0x17
board_rev_scheme=1
board_revision=0xD04170
boot_targets=mmc usb pxe dhcp
bootcmd=bootflow scan
bootdelay=2
cpu=armv8
dhcpuboot=usb start; dhcp u-boot.uimg; bootm
fdt_addr=2efec100
fdt_addr_r=0x02600000
fdt_high=ffffffffffffffff
fdtcontroladdr=3f726f80
fdtfile=broadcom/bcm2712-rpi-5-b.dtb
initrd_high=ffffffffffffffff
kernel_addr_r=0x00080000
loadaddr=0x1000000
preboot=pci enum; usb start;
pxefile_addr_r=0x02500000
ramdisk_addr_r=0x02700000
scriptaddr=0x02400000
serial#=xxxxxxxxxxxxxxxx
soc=bcm283x
stderr=serial,vidconsole
stdin=serial,usbkbd
stdout=serial,vidconsole
usb_ignorelist=0x1050:*,
vendor=raspberrypi
And I supposed the 32bit support can be added by testing the variable
$cpu.
Regards,
Gaël
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2025-02-07 10:14 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-31 19:01 [Buildroot] [PATCH next v2 0/3] U-Boot on RPi boards Fiona Klute via buildroot
2024-08-31 19:01 ` [Buildroot] [PATCH next v2 1/3] board/raspberrypi: Support boot.scr for U-Boot Fiona Klute via buildroot
2024-08-31 19:01 ` [Buildroot] [PATCH next v2 2/3] board/raspberrypi: allow non-matching globs for DTBs Fiona Klute via buildroot
2024-08-31 19:01 ` [Buildroot] [PATCH next v2 3/3] configs/raspberrypicm4io_64_uboot_defconfig: new defconfig Fiona Klute via buildroot
2024-09-03 11:08 ` Niklas Cassel via buildroot
2024-09-03 13:10 ` Fiona Klute via buildroot
2024-09-03 13:29 ` Niklas Cassel via buildroot
2024-09-04 18:52 ` Fiona Klute via buildroot
[not found] ` <D7JTJDZQ286V.32BNGSIJOMVCI@gmail.com>
2025-02-05 18:07 ` Fiona Klute via buildroot
2025-02-07 10:14 ` Gaël PORTAY [this message]
2025-02-07 17:23 ` Fiona Klute via buildroot
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=D7M4USL2KEM9.3MZ9W5ZLL5HOW@gmail.com \
--to=gael.portay+rtone@gmail.com \
--cc=buildroot@buildroot.org \
--cc=fiona.klute@gmx.de \
--cc=gael.portay@gmail.com \
--cc=jp.baltazar.mendes@gmail.com \
--cc=julien.grossholtz@openest.io \
--cc=martin@barkynet.com \
--cc=yann.morin.1998@free.fr \
/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.