-
Notifications
You must be signed in to change notification settings - Fork 73
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
USB boot support for raspberrypicm4-ioboard-sb #1141
Commits on Jul 15, 2024
-
rpi-eeprom: raspberrypicm4-ioboard-sb: modify boot order to prioritis…
…e USB boot With this change the device will first attempt to boot from USB and then boot from the NVME/internal eMMC/SD card. This allows to use USB flasher images as provisioning tools in preference of usbboot. 5: USB 2.0 boot from USB type A socket (CM4) or Type C socket (RPI4) 6: NVME 1: eMMC / SD Card 2: Network boot We place NVME before eMMC/SDcard as there are reports that NVME is not working if initialized after. Also, there is no USB mass storage boot to limit this option to using physical jumper configuration. See https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER Note that trying USB boot first adds a considerable delay to the boot process as the CM4 has a timeout of 2s (5s if extended via `program_usb_boot_timeout=1` per USB port enumeration. As such, this change is only done to the `raspberrypicm4-ioboard-sb` that requires USB boot for the secure boot provisioning flow. Changelog-entry: Modify boot order to prioritize USB boot Signed-off-by: Alex Gonzalez <alexg@balena.io>
Configuration menu - View commit details
-
Copy full SHA for dad87cf - Browse repository at this point
Copy the full SHA dad87cfView commit details -
rpi-eeprom: raspberrypicm4-ioboard-sb: configure to power off on halt
This is useful for the use case of a flasher image ran from external media, like in the traditional flasher workflow that expects the device to shutdown after programming. From https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#POWER_OFF_ON_HALT Changelog-entry: configure to power off on halt for raspberrypicm4-ioboard-sb Signed-off-by: Alex Gonzalez <alexg@balena.io>
Configuration menu - View commit details
-
Copy full SHA for 5641da6 - Browse repository at this point
Copy the full SHA 5641da6View commit details -
rpi-config: enable USB 2.0 for raspberrypicm4-ioboard-sb
As CM4 and CM4IO don’t include the external USB 3 controller, RaspberryPi OS sets `otg_mode=1` for better performance. See https://www.raspberrypi.com/documentation/computers/config_txt.html#otg_mode-raspberry-pi-4-only However, while testing, the kernel driver oops when the otg cable is connected at boot (works well if it is connected after boot though). As this is only needed in the USB provisioning mode, restrict the change to the raspberrypicm4-ioboard-sb for the time being. Changelog-entry: enable USB 2.0 for raspberrypicm4-ioboard-sb Signed-off-by: Alex Gonzalez <alexg@balena.io>
Configuration menu - View commit details
-
Copy full SHA for 6838519 - Browse repository at this point
Copy the full SHA 6838519View commit details -
usbboot: conditionally sign msd binaries
With the USB provisioning being preferred, the msd binaries are no longer required. This commit adds a recipe configuration to make the signing conditional. Changelog-entry: do not sign msd binaries by default as they are not needed Signed-off-by: Alex Gonzalez <alexg@balena.io>
Configuration menu - View commit details
-
Copy full SHA for 3cc312f - Browse repository at this point
Copy the full SHA 3cc312fView commit details -
rpi-eeprom: deploy locking binaries
Changelog-entry: deploy CM4/RPI4 locking binaries Signed-off-by: Alex Gonzalez <alexg@balena.io>
Configuration menu - View commit details
-
Copy full SHA for 3da91bb - Browse repository at this point
Copy the full SHA 3da91bbView commit details -
docs: rpi-secure-boot: update with USB booting re-provisioning process
Also, remove mentioning that write protecting further OTP changes is globally possible as only the customer OTP registers have this feature and these are not used by the secure boot implementation. Change-type: patch Signed-off-by: Alex Gonzalez <alexg@balena.io>
Configuration menu - View commit details
-
Copy full SHA for a867de4 - Browse repository at this point
Copy the full SHA a867de4View commit details -
rpi-eeprom: update firmware to 2024-05-17
Changelog-entry: update rpi-eeprom firmware to 2024-05-17 Signed-off-by: Alex Gonzalez <alexg@balena.io>
Configuration menu - View commit details
-
Copy full SHA for 3336d35 - Browse repository at this point
Copy the full SHA 3336d35View commit details
Commits on Jul 16, 2024
-
rpi-config: replace otg_mode with the dwc2 driver
The `otg_mode=1` setting makes the firmware mux the USB port to the XHCI host-only controller. However, even though this correctly enabled host mode in the USB port, the kernel drivers oops when a cable is plugged into the OTG port in the ioboard, probably because the XCHI controller does not support OTG or device mode. This commit reverts to using the dwc2 kernel overlay which has less performance but does not crash. Changelog-entry: use dwc2 driver for USB host mode in CM4-SB. Signed-off-by: Alex Gonzalez <alexg@balena.io>
Configuration menu - View commit details
-
Copy full SHA for fdb332b - Browse repository at this point
Copy the full SHA fdb332bView commit details -
linux: raspberrypicm4-ioboard-sb: add support for the dwc2 kernel driver
This adds support for the DesignWare Core USB 2.0 controller, required for the USB boot flow. Changelog-entry: add dwc2 support to the raspberrypicm4-ioboard-sb kernel Signed-off-by: Alex Gonzalez <alexg@balena.io>
Configuration menu - View commit details
-
Copy full SHA for e6d55dd - Browse repository at this point
Copy the full SHA e6d55ddView commit details