[PATCH 00/44] Raspberry Pi 4B machine
Hi, is there an git tree with this series or a newer one available please? -- Ben Dooks http://www.codethink.co.uk/ Senior Engineer Codethink - Providing Genius https://www.codethink.co.uk/privacy.html
Re: [PATCH 00/44] Raspberry Pi 4B machine
On Fri, 4 Aug 2023 at 13:13, Peter Maydell wrote: > > On Wed, 26 Jul 2023 at 14:56, Sergey Kambalin wrote: > > > > 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. > > Thanks for doing this -- I really like the way the split > has turned out, and the overall structure of the patchseries > is good. I'm going through the patches individually > (which will probably take me into next week to finish) > but I'm not seeing anything major, just some smaller > issues. I got through the second half of the patchset faster than I expected, so I'm now done with my first pass review of it. Please let me know if you have any questions about my comments/suggestions on the individual patches. -- PMM
Re: [PATCH 00/44] Raspberry Pi 4B machine
On Wed, 26 Jul 2023 at 14:56, Sergey Kambalin wrote: > > 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. Thanks for doing this -- I really like the way the split has turned out, and the overall structure of the patchseries is good. I'm going through the patches individually (which will probably take me into next week to finish) but I'm not seeing anything major, just some smaller issues. -- PMM
[PATCH 00/44] Raspberry Pi 4B machine
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 (44): 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 Add BCM2838 checkpoint support Introduce Raspberry PI 4 machine Temporary disable unimplemented rpi4b devices Add memory region for BCM2837 RPiVid ASB Add BCM2838 PCIE Root Complex Add BCM2838 PCIE host Enable BCM2838 PCIE Add RNG200 skeleton Add RNG200 RNG and RBG Add RNG200 timer 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 Impl GENET register ops. Impl GENET MDIO Impl GENET TX path Impl GENET RX path Enable BCM2838 GENET controller Connect RNG200, PCIE and GENET to GIC 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 hw/arm/bcm2835_peripherals.c | 218 --- hw/arm/bcm2836.c | 116 ++-- hw/arm/bcm2838.c | 298 + hw/arm/bcm2838_pcie.c| 293 + hw/arm/bcm2838_peripherals.c | 288 + hw/arm/meson.build | 8 +- hw/arm/raspi.c | 128 ++-- hw/arm/raspi4b.c | 225 +++ hw/arm/trace-events | 6 + hw/gpio/bcm2838_gpio.c | 392 hw/gpio/meson.build | 5 +- hw/misc/bcm2835_property.c | 170 + hw/misc/bcm2838_rng200.c | 419 + hw/misc/bcm2838_thermal.c| 96 +++ hw/misc/meson.build | 2 + hw/misc/trace-events | 10 + hw/net/bcm2838_genet.c | 756 +++ hw/net/meson.build | 2 + hw/net/trace-events | 17 + include/hw/arm/bcm2835_peripherals.h | 29 +- include/hw/arm/bcm2836.h | 27 +- include/hw/arm/bcm2838.h | 28 + include/hw/arm/bcm2838_pcie.h| 67 ++ include/hw/arm/bcm2838_peripherals.h | 95 +++ include/hw/arm/raspi_platform.h | 34 + include/hw/display/bcm2835_fb.h | 2 + include/hw/gpio/bcm2838_gpio.h | 45 ++ include/hw/misc/bcm2838_rng200.h | 77 +++ include/hw/misc/bcm2838_thermal.h| 24 + include/hw/misc/raspberrypi-fw-defs.h| 11 + include/hw/net/bcm2838_genet.h | 732 ++ tests/avocado/boot_linux_console.py | 92 +++ tests/qtest/bcm2838-mailbox.c| 70 +++ tests/qtest/bcm2838-mailbox.h| 603 ++ tests/qtest/bcm2838-mbox-property-test.c | 666 tests/qtest/meson.build | 3 +- 36 files changed, 5857 insertions(+), 197 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