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

2024-05-13: 2712: Add support for NVMe boot with PCIe switches (latest) #578

Merged
merged 1 commit into from
May 13, 2024

Conversation

timg236
Copy link
Collaborator

@timg236 timg236 commented May 13, 2024

* Add preliminary support for booting NVMe devices behind PCIe switches.
  See: raspberrypi/firmware#1833
* Fix MAX_RESTARTS parameter
  See: raspberrypi#576
* arm_dt: Support HAT EEPROM dtparams
* Fix reporting of the partition number via DT
  See: raspberrypi#575
* Resolve HID counting bug which caused Network Install to fail on some keyboards
  See: Fixes raspberrypi#574
* Pull PCIE DET_WAKE high by default on CM5
@timg236 timg236 merged commit 2b2c810 into raspberrypi:master May 13, 2024
@timg236 timg236 deleted the pieeprom-2024-05-13-12 branch May 13, 2024 16:46
gportay added a commit to Rtone/rtone-br2-external that referenced this pull request May 24, 2024
The firmware of the raspberrypi5 reports invalid partition as 0 causing
the rpi-firmware-generator to generate a mount unit with an unexistant
partition 0.

This exits in error if the boot partition is 0 instead of creating an
invalid mount unit that slows down the boot process.

See:

	RPi: BOOTSYS release VERSION:30de0ba5 DATE: 2023/10/30 TIME: 16:45:10
	BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1698684310 serial 64b59de4 boardrev d04170 stc 1265055
	AON_RESET: 00000003 PM_RSTS 00001000
	RP1_BOOT chip ID: 0x20001927
	PM_RSTS: 0x00001000
	part 00000000 reset_info 00000000
	PMIC reset-event 00000000 rtc 00000001 alarm 00000000 enabled 0
	uSD voltage 3.3V
	Initialising SDRAM 'Micron' 32Gb x2 total-size: 64 Gbit 4267
	DDR 4267 1 0 64 152
	RP1_BOOT chip ID: 0x20001927

	RP1_BOOT chip ID: 0x20001927
	RP1_BOOT: fw size 25968
	PCI2 init
	PCI2 reset
	PCIe scan 00001de4:00000001
	RP1_CHIP_INFO 20001927

	RPi: BOOTLOADER release VERSION:30de0ba5 DATE: 2023/10/30 TIME: 16:45:10
	BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1698684310 serial 64b59de4 boardrev d04170 stc 4254551
	AON_RESET: 00000003 PM_RSTS 00001000
	usb_pd_init status 3
	USB_PD CONFIG 0 41
	Boot mode: SD (01) order f4
	SD HOST: 200000000 CTL0: 0x00800000 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
	SD HOST: 200000000 CTL0: 0x00800f00 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
	SD retry 1 oc 501
	SD HOST: 200000000 CTL0: 0x00800000 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
	OCR c0ff8000 [183]
	CID: 0012345653440000000003284d170125
	CSD: 400e00325b590000761f7f800a400000
	SD: bus-width: 4 spec: 2 SCR: 0x02b58443 0x00000000
	SD HOST: 200000000 CTL0: 0x00800f04 BUS: 50000000 Hz actual: 50000000 HZ div: 4 (2) status: 0x1fff0000 delay: 2
	MBR: 0x00002000, 1048576 type: 0x0c
	MBR: 0x00102000,29908992 type: 0x83
	MBR: 0x00000000,       0 type: 0x00
	MBR: 0x00000000,       0 type: 0x00
	USB-PD: src-cap PDO object1 0x0a01912c
	Current 3000 mA
	Voltage 5000 mV
	USB-PD: src-cap PDO object2 0x0002d12c
	Current 3000 mA
	Voltage 9000 mV
	USB-PD: src-cap PDO object3 0x0003c12c
	Current 3000 mA
	Voltage 12000 mV
	USB-PD: src-cap PDO object4 0x0004b12c
	Current 3000 mA
	Voltage 15000 mV
	USB-PD: src-cap PDO object5 0x00064145
	Current 3250 mA
	Voltage 20000 mV
	USB-PD: src-cap PDO object6 0xc1a4213c
	Trying partition: 0
	type: 32 lba: 8192 'mkfs.fat' ' bootfs     ' clusters 261116 (4)
	rsc 32 fat-sectors 2040 root dir cluster 2 sectors 0 entries 0
	FAT32 clusters 261116
	[sdcard] autoboot.txt not found
	Trying partition: 0
	type: 32 lba: 8192 'mkfs.fat' ' bootfs     ' clusters 261115 (4)
	rsc 32 fat-sectors 2040 root dir cluster 2 sectors 0 entries 0
	FAT32 clusters 261115
	Read config.txt bytes     1213 hnd 0x199
	[sdcard] pieeprom.upd not found
	usb_max_current_enable default 0 max-current 3000
	Read bcm2712-rpi-5-b.dtb bytes    77755 hnd 0xe6
	dt-match: compatible: raspberrypi,5-model-b match: brcm,bcm2712
	dt-match: compatible: brcm,bcm2712 match: brcm,bcm2712
	PM_RSTS 00001000
	Selecting USB low current limit

Note: This misbehaviour was reported[1] and it has been fixed[2][3]
since pieeprom-2024-05-13.bin[4].

[1]: raspberrypi/rpi-eeprom#575
[2]: raspberrypi/rpi-eeprom#578
[3]: https://github.com/raspberrypi/rpi-eeprom/blob/2b2c8103ff4b1b6d64345af5864f25841199e2dd/firmware-2712/release-notes.md
[4]: https://github.com/raspberrypi/rpi-eeprom/raw/2b2c8103ff4b1b6d64345af5864f25841199e2dd/firmware-2712/latest/pieeprom-2024-05-13.bin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant