|
30 | 30 | #define PLATFORM_NAME_RASPBERRY_PI3_A_PLUS "Raspberry Pi 3 Model A+"
|
31 | 31 | #define PLATFORM_NAME_RASPBERRY_PI4_B "Raspberry Pi 4 Model B"
|
32 | 32 | #define PLATFORM_NAME_RASPBERRY_PI_400 "Raspberry Pi 400"
|
| 33 | +#define PLATFORM_NAME_RASPBERRY_PI5_B "Raspberry Pi 5 Model B" |
33 | 34 | #define PLATFORM_RASPBERRY_PI_B_REV_1 1
|
34 | 35 | #define PLATFORM_RASPBERRY_PI_A_REV_2 2
|
35 | 36 | #define PLATFORM_RASPBERRY_PI_B_REV_2 3
|
|
44 | 45 | #define PLATFORM_RASPBERRY_PI3_A_PLUS 12
|
45 | 46 | #define PLATFORM_RASPBERRY_PI4_B 13
|
46 | 47 | #define PLATFORM_RASPBERRY_PI_400 14
|
| 48 | +#define PLATFORM_RASPBERRY_PI5_B 15 |
47 | 49 | #define MMAP_PATH "/dev/mem"
|
48 | 50 | #define BCM2835_PERI_BASE 0x20000000
|
49 | 51 | #define BCM2836_PERI_BASE 0x3f000000
|
@@ -523,6 +525,12 @@ mraa_raspberry_pi()
|
523 | 525 | platform_detected = PLATFORM_RASPBERRY_PI_400;
|
524 | 526 | b->phy_pin_count = MRAA_RASPBERRY_PI_400_PINCOUNT;
|
525 | 527 | peripheral_base = BCM2837_PERI_BASE;
|
| 528 | + block_size = BCM2837_BLOCK_SIZE; |
| 529 | + } else if (strstr(line, "c04170") || strstr(line,"d04170")) { |
| 530 | + b->platform_name = PLATFORM_NAME_RASPBERRY_PI5_B; |
| 531 | + platform_detected = PLATFORM_RASPBERRY_PI5_B; |
| 532 | + b->phy_pin_count = MRAA_RASPBERRY_PI5_B_PINCOUNT; |
| 533 | + peripheral_base = BCM2837_PERI_BASE; |
526 | 534 | block_size = BCM2837_BLOCK_SIZE;
|
527 | 535 | } else {
|
528 | 536 | b->platform_name = PLATFORM_NAME_RASPBERRY_PI_B_REV_1;
|
@@ -602,6 +610,10 @@ mraa_raspberry_pi()
|
602 | 610 | b->platform_name = PLATFORM_NAME_RASPBERRY_PI_400;
|
603 | 611 | platform_detected = PLATFORM_RASPBERRY_PI_400;
|
604 | 612 | b->phy_pin_count = MRAA_RASPBERRY_PI_400_PINCOUNT;
|
| 613 | + } else if (mraa_file_contains(compatible_path, "raspberrypi,5-model-b")) { |
| 614 | + b->platform_name = PLATFORM_NAME_RASPBERRY_PI5_B; |
| 615 | + platform_detected = PLATFORM_RASPBERRY_PI5_B; |
| 616 | + b->phy_pin_count = MRAA_RASPBERRY_PI5_B_PINCOUNT; |
605 | 617 | }
|
606 | 618 | }
|
607 | 619 |
|
@@ -872,7 +884,8 @@ mraa_raspberry_pi()
|
872 | 884 | (platform_detected == PLATFORM_RASPBERRY_PI3_B_PLUS) ||
|
873 | 885 | (platform_detected == PLATFORM_RASPBERRY_PI3_A_PLUS) ||
|
874 | 886 | (platform_detected == PLATFORM_RASPBERRY_PI4_B) ||
|
875 |
| - (platform_detected == PLATFORM_RASPBERRY_PI_400)) { |
| 887 | + (platform_detected == PLATFORM_RASPBERRY_PI_400) || |
| 888 | + (platform_detected == PLATFORM_RASPBERRY_PI5_B) ) { |
876 | 889 |
|
877 | 890 | strncpy(b->pins[27].name, "ID_SD", MRAA_PIN_NAME_SIZE);
|
878 | 891 | b->pins[27].capabilities = (mraa_pincapabilities_t){ 1, 0, 0, 0, 0, 0, 0, 0 };
|
|
0 commit comments