[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 00/41] Raspberry Pi 4B machine
From: |
Sergey Kambalin |
Subject: |
[PATCH v6 00/41] Raspberry Pi 4B machine |
Date: |
Sun, 25 Feb 2024 18:02:18 -0600 |
Introducing Raspberry Pi 4B model.
It contains new BCM2838 SoC, PCIE subsystem,
RNG200, Thermal sensor and Genet network controller.
It can work with recent linux kernels 6.x.x.
Two avocado tests was added to check that.
Unit tests has been made as read/write operations
via mailbox properties.
Genet integration test is under development.
Every single commit
1) builds without errors
2) passes regression tests
3) passes style check*
*the only exception is bcm2838-mbox-property-test.c file
containing heavy macros usage which cause a lot of
false-positives of checkpatch.pl.
I did my best to keep the commits less than 200 changes,
but had to make some of them a bit more in order to
keep their integrity.
Sergey Kambalin (41):
Split out common part of BCM283X classes
Split out common part of peripherals
Split out raspi machine common part
Introduce BCM2838 SoC
Add GIC-400 to BCM2838 SoC
Add BCM2838 GPIO stub
Implement BCM2838 GPIO functionality
Connect SD controller to BCM2838 GPIO
Add GPIO and SD to BCM2838 periph
Introduce Raspberry PI 4 machine
Temporarily disable unimplemented rpi4b devices
Add memory region for BCM2837 RPiVid ASB
Add BCM2838 PCIE Root Complex
Add BCM2838 PCIE host
Enable BCM2838 PCIE
Add RPi4 RNG200
Implement BCM2838 thermal sensor
Add clock_isp stub
Add GENET stub
Add GENET register structs. Part 1
Add GENET register structs. Part 2
Add GENET register structs. Part 3
Add GENET register structs. Part 4
Add GENET register access macros
Implement GENET register ops
Implement GENET MDIO
Implement GENET TX path
Implement GENET RX path
Enable BCM2838 GENET controller
Add Rpi4b boot tests
Add mailbox test stub
Add mailbox test constants
Add mailbox tests tags. Part 1
Add mailbox tests tags. Part 2
Add mailbox tests tags. Part 3
Add mailbox property tests. Part 1
Add mailbox property tests. Part 2
Add mailbox property tests. Part 3
Add missed BCM2835 properties
Append added properties to mailbox test
Add RPi4B to raspi.rst
docs/system/arm/raspi.rst | 11 +-
hw/arm/bcm2835_peripherals.c | 215 +++--
hw/arm/bcm2836.c | 117 ++-
hw/arm/bcm2838.c | 282 ++++++
hw/arm/bcm2838_pcie.c | 295 ++++++
hw/arm/bcm2838_peripherals.c | 287 ++++++
hw/arm/meson.build | 8 +-
hw/arm/raspi.c | 130 +--
hw/arm/raspi4b.c | 111 +++
hw/arm/trace-events | 7 +
hw/gpio/bcm2838_gpio.c | 390 ++++++++
hw/gpio/meson.build | 5 +-
hw/misc/bcm2835_property.c | 21 +
hw/misc/bcm2838_rng200.c | 405 ++++++++
hw/misc/bcm2838_thermal.c | 98 ++
hw/misc/meson.build | 2 +
hw/misc/trace-events | 9 +
hw/net/bcm2838_genet.c | 1088 ++++++++++++++++++++++
hw/net/meson.build | 2 +
hw/net/trace-events | 16 +
include/hw/arm/bcm2835_peripherals.h | 29 +-
include/hw/arm/bcm2836.h | 27 +-
include/hw/arm/bcm2838.h | 31 +
include/hw/arm/bcm2838_pcie.h | 75 ++
include/hw/arm/bcm2838_peripherals.h | 94 ++
include/hw/arm/raspberrypi-fw-defs.h | 11 +
include/hw/arm/raspi_platform.h | 38 +-
include/hw/display/bcm2835_fb.h | 2 +
include/hw/gpio/bcm2838_gpio.h | 45 +
include/hw/misc/bcm2838_rng200.h | 43 +
include/hw/misc/bcm2838_thermal.h | 24 +
include/hw/net/bcm2838_genet.h | 426 +++++++++
tests/avocado/boot_linux_console.py | 92 ++
tests/qtest/bcm2838-mailbox.c | 60 ++
tests/qtest/bcm2838-mailbox.h | 532 +++++++++++
tests/qtest/bcm2838-mbox-property-test.c | 631 +++++++++++++
tests/qtest/meson.build | 3 +-
37 files changed, 5457 insertions(+), 205 deletions(-)
create mode 100644 hw/arm/bcm2838.c
create mode 100644 hw/arm/bcm2838_pcie.c
create mode 100644 hw/arm/bcm2838_peripherals.c
create mode 100644 hw/arm/raspi4b.c
create mode 100644 hw/gpio/bcm2838_gpio.c
create mode 100644 hw/misc/bcm2838_rng200.c
create mode 100644 hw/misc/bcm2838_thermal.c
create mode 100644 hw/net/bcm2838_genet.c
create mode 100644 include/hw/arm/bcm2838.h
create mode 100644 include/hw/arm/bcm2838_pcie.h
create mode 100644 include/hw/arm/bcm2838_peripherals.h
create mode 100644 include/hw/gpio/bcm2838_gpio.h
create mode 100644 include/hw/misc/bcm2838_rng200.h
create mode 100644 include/hw/misc/bcm2838_thermal.h
create mode 100644 include/hw/net/bcm2838_genet.h
create mode 100644 tests/qtest/bcm2838-mailbox.c
create mode 100644 tests/qtest/bcm2838-mailbox.h
create mode 100644 tests/qtest/bcm2838-mbox-property-test.c
--
2.34.1
- [PATCH v6 00/41] Raspberry Pi 4B machine,
Sergey Kambalin <=
[PATCH v6 08/41] Connect SD controller to BCM2838 GPIO, Sergey Kambalin, 2024/02/25