From: Andrew Baumann <Andrew.Baumann@microsoft.com>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Grégory ESTRADE" <gregory.estrade@gmail.com>,
"Stefan Weil" <sw@weilnetz.de>,
"Peter Crosthwaite" <crosthwaite.peter@gmail.com>,
"Andrew Baumann" <Andrew.Baumann@microsoft.com>,
qemu-arm@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>
Subject: [Qemu-devel] [PATCH v3 0/7] Raspberry Pi 2 support
Date: Thu, 31 Dec 2015 16:31:27 -0800 [thread overview]
Message-ID: <1451608294-16432-1-git-send-email-Andrew.Baumann@microsoft.com> (raw)
This patch series adds initial support for Raspberry Pi 2
(bcm2836). It is heavily based on the original (out of tree) work of
Gregory Estrade, Stefan Weil and others to support Raspberry Pi
1. Thanks are also due to Peter Crosthwaite for the code reviews and
feedback.
At the end of this series, it is possible to boot a recent raspbian
kernel to a serial console using an invocation such as:
qemu-system-arm -M raspi2 -kernel raspbian-boot/kernel7.img -sd
2015-09-24-raspbian-jessie.vhd -append "rw earlyprintk loglevel=8
console=ttyAMA0 root=/dev/mmcblk0p2" -serial stdio
(where raspbian-boot is the boot partition from the matching image,
and after commenting-out or removing /etc/ld.so.preload to avoid an
unimplemented setend instruction).
I plan to add DMA, USB, framebuffer, timers, and other system devices
(power, mphi, aux/uart1) in future patches. In the meantime, the
complete code is available at: https://github.com/0xabu/qemu
Although this series includes many of the peripherals common to Pi1
(aka bcm2835 aka Pi0), it's not yet possible to boot a Pi1, because it
requires additional peripherals, so I'll also add that SoC and machine
in a later patch.
v2 changes:
* cleanup based on reviews of mbox and ic devices by Peter Crosthwaite
(see specific notes on each patch)
* removed custom SD controller in favour of sdhci
v3 changes:
* cleanup/tweaks to mbox, ic, peripherals and bcm2836_control devices from v2 review
* changed how I allocate and pass ram from the board through to the SoC
* cleanup raspi_platform.h
* s/_/-/ in device/property/type names
Cheers,
Andrew
Andrew Baumann (7):
bcm2835_mbox: add BCM2835 mailboxes
bcm2835_property: add bcm2835 property channel
bcm2835_ic: add bcm2835 interrupt controller
bcm2835_peripherals: add rollup device for bcm2835 peripherals
bcm2836_control: add bcm2836 ARM control logic
bcm2836: add bcm2836 soc device
raspi: add raspberry pi 2 machine
default-configs/arm-softmmu.mak | 1 +
hw/arm/Makefile.objs | 1 +
hw/arm/bcm2835_peripherals.c | 205 +++++++++++++++++++++
hw/arm/bcm2836.c | 155 ++++++++++++++++
hw/arm/raspi.c | 180 +++++++++++++++++++
hw/intc/Makefile.objs | 1 +
hw/intc/bcm2835_ic.c | 236 +++++++++++++++++++++++++
hw/intc/bcm2836_control.c | 317 +++++++++++++++++++++++++++++++++
hw/misc/Makefile.objs | 2 +
hw/misc/bcm2835_mbox.c | 333 +++++++++++++++++++++++++++++++++++
hw/misc/bcm2835_property.c | 277 +++++++++++++++++++++++++++++
include/hw/arm/bcm2835_peripherals.h | 42 +++++
include/hw/arm/bcm2836.h | 33 ++++
include/hw/arm/raspi_platform.h | 128 ++++++++++++++
include/hw/intc/bcm2835_ic.h | 33 ++++
include/hw/intc/bcm2836_control.h | 51 ++++++
include/hw/misc/bcm2835_mbox.h | 37 ++++
include/hw/misc/bcm2835_mbox_defs.h | 27 +++
include/hw/misc/bcm2835_property.h | 29 +++
19 files changed, 2088 insertions(+)
create mode 100644 hw/arm/bcm2835_peripherals.c
create mode 100644 hw/arm/bcm2836.c
create mode 100644 hw/arm/raspi.c
create mode 100644 hw/intc/bcm2835_ic.c
create mode 100644 hw/intc/bcm2836_control.c
create mode 100644 hw/misc/bcm2835_mbox.c
create mode 100644 hw/misc/bcm2835_property.c
create mode 100644 include/hw/arm/bcm2835_peripherals.h
create mode 100644 include/hw/arm/bcm2836.h
create mode 100644 include/hw/arm/raspi_platform.h
create mode 100644 include/hw/intc/bcm2835_ic.h
create mode 100644 include/hw/intc/bcm2836_control.h
create mode 100644 include/hw/misc/bcm2835_mbox.h
create mode 100644 include/hw/misc/bcm2835_mbox_defs.h
create mode 100644 include/hw/misc/bcm2835_property.h
--
2.5.3
next reply other threads:[~2016-01-01 0:31 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-01 0:31 Andrew Baumann [this message]
2016-01-01 0:31 ` [Qemu-devel] [PATCH v3 1/7] bcm2835_mbox: add BCM2835 mailboxes Andrew Baumann
2016-01-01 0:31 ` [Qemu-devel] [PATCH v3 2/7] bcm2835_property: add bcm2835 property channel Andrew Baumann
2016-01-12 3:53 ` Peter Crosthwaite
2016-01-01 0:31 ` [Qemu-devel] [PATCH v3 3/7] bcm2835_ic: add bcm2835 interrupt controller Andrew Baumann
2016-01-01 0:31 ` [Qemu-devel] [PATCH v3 4/7] bcm2835_peripherals: add rollup device for bcm2835 peripherals Andrew Baumann
2016-01-06 2:13 ` Alistair Francis
2016-01-06 6:07 ` Andrew Baumann
2016-01-06 13:32 ` Peter Crosthwaite
2016-01-06 20:04 ` Alistair Francis
2016-01-01 0:31 ` [Qemu-devel] [PATCH v3 5/7] bcm2836_control: add bcm2836 ARM control logic Andrew Baumann
2016-01-12 3:54 ` Peter Crosthwaite
2016-01-01 0:31 ` [Qemu-devel] [PATCH v3 6/7] bcm2836: add bcm2836 soc device Andrew Baumann
2016-01-12 3:56 ` Peter Crosthwaite
2016-01-12 22:56 ` Andrew Baumann
2016-01-12 23:14 ` Peter Crosthwaite
2016-01-13 0:09 ` Andrew Baumann
2016-01-01 0:31 ` [Qemu-devel] [PATCH v3 7/7] raspi: add raspberry pi 2 machine Andrew Baumann
2016-01-12 3:57 ` Peter Crosthwaite
2016-01-12 23:53 ` Andrew Baumann
2016-01-13 0:43 ` Peter Crosthwaite
2016-01-14 23:04 ` Andrew Baumann
2016-01-14 23:34 ` Peter Crosthwaite
2016-01-15 0:43 ` Andrew Baumann
2016-01-15 1:09 ` Peter Crosthwaite
2016-01-16 0:04 ` Andrew Baumann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1451608294-16432-1-git-send-email-Andrew.Baumann@microsoft.com \
--to=andrew.baumann@microsoft.com \
--cc=crosthwaite.peter@gmail.com \
--cc=gregory.estrade@gmail.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=sw@weilnetz.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).