mbox series

[RFC,00/14] hw/arm: Add the Raspberry Pi 4B

Message ID 20190904171315.8354-1-f4bug@amsat.org (mailing list archive)
Headers show
Series hw/arm: Add the Raspberry Pi 4B | expand

Message

Philippe Mathieu-Daudé Sept. 4, 2019, 5:13 p.m. UTC
Esteban wrote me over the weekend asking about raspi4 progress.
I cleaned up my patches/notes to pass him. Other help is also welcomed :)
I got scared trying to understand how to use the GIC, and wire the various
IRQs.

Most important notes about testing are in patch #12:
"Add the BCM2838 which uses a GICv2"

Not much works yet, it only runs a bit until configuring the GIC.

branch pushed at https://gitlab.com/philmd/qemu/commits/raspi4_wip

Regards,

Phil.

based-on: 20190903120555.7551-1-philmd@redhat.com
cutils: Move size_to_str() from "qemu-common.h" to "qemu/cutils.h"
https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg00229.html

Philippe Mathieu-Daudé (14):
  hw/arm/raspi: Use the IEC binary prefix definitions
  hw/misc/bcm2835_property: Add FIXME comment for uninitialized memory
  hw/misc/bcm2835_property: Handle the 'domain state' property
  hw/arm/bcm2835_peripherals: Improve logging
  hw/arm/bcm2835_peripherals: Name various address spaces
  hw/arm/bcm2835: Rename some definitions
  hw/arm/bcm2835: Add various unimplemented peripherals
  hw/arm/bcm2836: Make the SoC code modular
  hw/arm/raspi: Make the board code modular
  hw/arm/raspi: Define various blocks base addresses
  hw/arm/bcm2835_peripherals: Map various BCM2838 blocks
  hw/arm/bcm2836: Add the BCM2838 which uses a GICv2
  hw/arm/bcm2838: Map the PCIe memory space
  hw/arm/raspi: Add the Raspberry Pi 4B board

 hw/arm/bcm2835_peripherals.c         |  49 ++++++++-
 hw/arm/bcm2836.c                     | 103 +++++++++++++++++--
 hw/arm/raspi.c                       | 142 ++++++++++++++++++++++++---
 hw/char/bcm2835_aux.c                |   5 +-
 hw/display/bcm2835_fb.c              |   2 +-
 hw/dma/bcm2835_dma.c                 |  10 +-
 hw/intc/bcm2836_control.c            |   7 +-
 hw/misc/bcm2835_mbox.c               |   9 +-
 hw/misc/bcm2835_property.c           |  28 ++++--
 include/hw/arm/bcm2835_peripherals.h |  18 ++++
 include/hw/arm/bcm2836.h             |   3 +
 include/hw/arm/raspi_platform.h      |  79 ++++++++++++---
 12 files changed, 393 insertions(+), 62 deletions(-)

Comments

Stewart Hildebrand Sept. 21, 2019, 1:25 p.m. UTC | #1
On Wednesday, September 4, 2019 1:13 PM, Philippe Mathieu-Daudé wrote:
>Esteban wrote me over the weekend asking about raspi4 progress.
>I cleaned up my patches/notes to pass him. Other help is also welcomed :)
>I got scared trying to understand how to use the GIC, and wire the various
>IRQs.
>
>Most important notes about testing are in patch #12:
>"Add the BCM2838 which uses a GICv2"
>
>Not much works yet, it only runs a bit until configuring the GIC.
>
>branch pushed at https://gitlab.com/philmd/qemu/commits/raspi4_wip
>
>Regards,
>
>Phil.

It seems upstream linux may be adopting the BCM2711 naming convention [1], though it doesn't look like the series [1] has been committed yet. The SoC name in documentation is BCM2711 [2]. I have no opinion on which naming convention the QEMU community adopts, I simply wanted to pass along this observation.

-Stew

[1] https://patchwork.kernel.org/cover/11092613/
[2] https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/README.md