6717f587a4
bcm2835_dma: add emulation of Raspberry Pi DMA controller
...
At present, all DMA transfers complete inline (so a looping descriptor
queue will lock up the device). We also do not model pause/abort,
arbitrarion/priority, or debug features.
Signed-off-by: Grégory ESTRADE <gregory.estrade@gmail.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Message-id: 1457467526-8840-6-git-send-email-Andrew.Baumann@microsoft.com
[AB: implement 2D mode, cleanup/refactoring for upstream submission]
Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-03-16 17:42:18 +00:00
355a8ccc5c
bcm2835_property: implement framebuffer control/configuration properties
...
The property channel driver now interfaces with the framebuffer device
to query and set framebuffer parameters. As a result of this, the "get
ARM RAM size" query now correctly returns the video RAM base address
(not total RAM size), and the ram-size property is no longer relevant
here.
Signed-off-by: Grégory ESTRADE <gregory.estrade@gmail.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Message-id: 1457467526-8840-5-git-send-email-Andrew.Baumann@microsoft.com
[AB: cleanup/refactoring for upstream submission]
Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-03-16 17:42:18 +00:00
5e9c2a8dac
bcm2835_fb: add framebuffer device for Raspberry Pi
...
The framebuffer occupies the upper portion of memory (64MiB by
default), but it can only be controlled/configured via a system
mailbox or property channel (to be added by a subsequent patch).
Signed-off-by: Grégory ESTRADE <gregory.estrade@gmail.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Message-id: 1457467526-8840-4-git-send-email-Andrew.Baumann@microsoft.com
[AB: added Windows (BGR) support and cleanup/refactoring for upstream submission]
Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-03-16 17:42:18 +00:00
97398d900c
bcm2835_aux: add emulation of BCM2835 AUX (aka UART1) block
...
At present only the core UART functions (data path for tx/rx) are
implemented, which is enough for UEFI to boot. The following
features/registers are unimplemented:
* Line/modem control
* Scratch register
* Extra control
* Baudrate
* SPI interfaces
Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 1457467526-8840-3-git-send-email-Andrew.Baumann@microsoft.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-03-16 17:42:18 +00:00
a2a8dfa8d8
bcm2835_peripherals: enable sdhci pending-insert quirk for raspberry pi
...
Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 1457467526-8840-2-git-send-email-Andrew.Baumann@microsoft.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-03-16 17:42:18 +00:00
a55b53a2f4
raspi: fix SD card with recent sdhci changes
...
Recent changes to sdhci broke SD on raspi. This change mirrors
the logic to create the SD card device at the board level.
Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Message-id: 1456351128-5560-1-git-send-email-Andrew.Baumann@microsoft.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-02-26 15:09:42 +00:00
c964b66022
all: Clean up includes
...
Clean up includes so that osdep.h is included first and headers
which it implies are not included manually.
This commit was created with scripts/clean-includes.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Eric Blake <eblake@redhat.com >
2016-02-16 14:29:28 +00:00
f0afa73164
bcm2835_property: implement "get board revision" query
...
Return a valid value from the BCM2835 property mailbox query "get board
revision". This query is used by U-Boot. Implementing it fixes the first
obvious difference between qemu and real HW.
The value returned is currently hard-coded to match the RPi2 I own. Other
values are legal, e.g. different board manufacturer field values are
likely to exist in the wild.
Cc: Andrew Baumann <Andrew.Baumann@microsoft.com >
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org >
Reviewed-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Message-id: 1454993910-24077-1-git-send-email-swarren@wwwdotorg.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-02-11 11:17:32 +00:00
7c62aeb82a
bcm2835_peripherals: add rollup device for bcm2835 peripherals
...
This device maintains all the non-CPU peripherals on bcm2835 (Pi1)
which are also present on bcm2836 (Pi2). It also implements the
private address spaces used for DMA and mailboxes.
Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com >
Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-02-03 15:00:45 +00:00