Commit ecb8797287853acd0ac2ced40258f23a8990ceae

Authored by Petr Tesarik
Committed by Gordon Hollingworth
1 parent 56a8bd44

Add support for Pi4 (#42)

The BCM2711 can also boot in USB device mode. Note that the boot ROM
code now sets the iSerialNumber to 3, but it does not expect the
second stage boot server, instead it downloads a single image over
USB.

Signed-off-by: Petr Tesarik <petr@tesarici.cz>
Showing 1 changed file with 3 additions and 2 deletions
@@ -102,7 +102,8 @@ libusb_device_handle * LIBUSB_CALL open_device_with_vid( @@ -102,7 +102,8 @@ libusb_device_handle * LIBUSB_CALL open_device_with_vid(
102 102
103 if (desc.idVendor == vendor_id) { 103 if (desc.idVendor == vendor_id) {
104 if(desc.idProduct == 0x2763 || 104 if(desc.idProduct == 0x2763 ||
105 - desc.idProduct == 0x2764) 105 + desc.idProduct == 0x2764 ||
  106 + desc.idProduct == 0x2711)
106 { 107 {
107 if(verbose == 2) 108 if(verbose == 2)
108 printf("Found candidate Compute Module..."); 109 printf("Found candidate Compute Module...");
@@ -644,7 +645,7 @@ int main(int argc, char *argv[]) @@ -644,7 +645,7 @@ int main(int argc, char *argv[])
644 while (ret); 645 while (ret);
645 646
646 last_serial = desc.iSerialNumber; 647 last_serial = desc.iSerialNumber;
647 - if(desc.iSerialNumber == 0) 648 + if(desc.iSerialNumber == 0 || desc.idProduct == 0x2711)
648 { 649 {
649 printf("Sending bootcode.bin\n"); 650 printf("Sending bootcode.bin\n");
650 second_stage_boot(usb_device); 651 second_stage_boot(usb_device);