From: Clement Deschamps <clement.deschamps@antfield.fr>
To: qemu-devel@nongnu.org
Cc: Clement Deschamps <clement.deschamps@antfield.fr>,
qemu-arm@nongnu.org, peter.maydell@linaro.org,
andrew.baumann@microsoft.com, gregory.estrade@gmail.com
Subject: [Qemu-devel] [PATCH 0/2] add bcm2835 sdhost controller to bcm2835 platform
Date: Mon, 20 Feb 2017 18:34:28 +0100 [thread overview]
Message-ID: <20170220173430.31630-1-clement.deschamps@antfield.fr> (raw)
This patches add the Arasan SD controller to the BCM2835/36 platforms.
The BCM2835/36/37 have 2 SD controllers.
The first one has an SDHCI interface and is already supported in QEMU
(hw/sd/sdhci.c), the second one is an IP from Arasan.
The latest versions of raspbian (since 2016) have a linux kernel which is using
the Arasan SD controller for better performances, and thus are not working with
the current version of QEMU.
This patch can be tested with the latest version of raspbian (2017-01-11-raspbian-jessie):
1. Extract kernel7.img and bcm2709-rpi-2-b.dtb from the first partition of 2017-01-11-raspbian-jessie.img
2. Run qemu-system-arm -M raspi2 -kernel kernel7.img -dtb bcm2709-rpi-2-b.dtb -append "rw root=/dev/mmcblk0p2 console=ttyAMA0 rootwait" -sd 2017-01-11-raspbian-jessie.img -sd 2017-01-11-raspbian-jessie.img
On the real hardware, both SD controllers are wired to the same SD card.
Selection is done via multi-function pins through the GPIO controller. I'm not
sure what would be the good solution to emulate this in QEMU. For now on we
pass two sd cards on the command line which is not ideal.
Note: In order to properly boot the kernel, you will first need to apply the
BCM2835 hardware RNG patch submitted recently.
Once raspbian has booted, the mouse and keyboard cannot be used in the
graphical environment because the USB is not yet implemented in the raspberry
pi emulation. Gregory Estrade and Andrew Baumann both worked on the USB
implementation, their work is available on Andrew's github.
Best regards,
Clement Deschamps
Clement Deschamps (2):
bcm2835_sdhost: add bcm2835 sdhost controller
bcm2835: add bcm2835_sdhost to bcm2835 platform
hw/arm/bcm2835_peripherals.c | 24 ++
hw/arm/bcm2836.c | 7 +
hw/arm/raspi.c | 13 +-
hw/sd/Makefile.objs | 1 +
hw/sd/bcm2835_sdhost.c | 429 +++++++++++++++++++++++++++++++++++
include/hw/arm/bcm2835_peripherals.h | 2 +
include/hw/sd/bcm2835_sdhost.h | 48 ++++
7 files changed, 523 insertions(+), 1 deletion(-)
create mode 100644 hw/sd/bcm2835_sdhost.c
create mode 100644 include/hw/sd/bcm2835_sdhost.h
--
2.11.0
next reply other threads:[~2017-02-20 17:34 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-20 17:34 Clement Deschamps [this message]
2017-02-20 17:34 ` [Qemu-devel] [PATCH 1/2] bcm2835_sdhost: add bcm2835 sdhost controller Clement Deschamps
2017-02-20 17:34 ` [Qemu-devel] [PATCH 2/2] bcm2835: add bcm2835_sdhost to bcm2835 platform Clement Deschamps
2017-02-21 18:59 ` Andrew Baumann
2017-02-21 10:59 ` [Qemu-devel] [PATCH 0/2] add bcm2835 sdhost controller " Peter Maydell
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=20170220173430.31630-1-clement.deschamps@antfield.fr \
--to=clement.deschamps@antfield.fr \
--cc=andrew.baumann@microsoft.com \
--cc=gregory.estrade@gmail.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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).