[PATCH v4 0/8] MIPS: Add virtual Ranchu board as a generic-based board

From: Aleksandar Markovic
Date: Fri Aug 18 2017 - 09:11:08 EST


From: Aleksandar Markovic <aleksandar.markovic@xxxxxxxxxx>

v3->v4:

- corrected RTC clock patch so that it does not cause build
errors for some targets, and limited compile support to Mips
architecture, since it is the only case where this driver is
used
- changed titles of patches 2 and 4 to make them consistent
with commit messages of corresponding directories
- applied "checkpatch --strict" to the whole series and
corrected several instances of reported warnings
- rebased to the latest code

v2->v3:

- fixed configuration dependency for VIRTIO_NET and
RTC_DRV_GOLDFISH
- fixed frequency calculation in ranchu_measure_hpt_freq()
- use DT info instead of hard-coding RTC base in
ranchu_measure_hpt_freq()
- Goldfish PIC reworked to follow legacy irq domain paradigm
- Goldfish RTC reimplemented to support alarm functionality
- added COMPILE_TEST to Goldfish PIC & RTC to extend compile
test coverage
- corrected location of documentation for Goldfish FB
- added a patch on unselecting ARCH_MIGHT_HAVE_PC_SERIO
- removed two patches on i8042 as not needed in new organization
- removed the patch on separate Mips Android config as not needed
- rebased to the latest code

v1->v2:

- patch on RTC driver cleaned up
- added drivers for virtio console and net to the Ranchu board
- minor improvements in commit messages
- updated recipient lists using get_maintainer.pl
- rebased to the latest code

This series adds Mips Ranchu virtual machine used by Android emulator.
The board relies on the concept of Mips generic boards, and utilizes
generic board framework for build and device organization.

The Ranchu board is intended to be used by Android emulator.The name
"Ranchu" originates from Android development community. "Goldfish" and
"Ranchu" are names for two generations of virtual boards used by
Android emulator. "Ranchu" is a newer one among the two, and this
series deals with Ranchu. However, for historical reasons, some file,
device, and variable names in this series still contain the word
"Goldfish".

Mips Ranchu machine includes a number of Goldfish devices. The
support for Virtio devices is also included. Ranchu board supports
up to 16 virtio devices which can be attached using virtio MMIO Bus.
This is summarized in the following picture:

ABUS
||----MIPS CPU
|| | IRQs
||----Goldfish PIC------------(32)--------
|| | | | | | | | | |
||----Goldfish TTY------ | | | | | | | |
|| | | | | | | | |
||----Goldfish RTC-------- | | | | | | |
|| | | | | | | |
||----Goldfish FB----------- | | | | | |
|| | | | | | |
||----Goldfish Events--------- | | | | |
|| | | | | |
||----Goldfish Audio------------ | | | |
|| | | | |
||----Goldfish Battery------------ | | |
|| | | |
||----Android PIPE------------------ | |
|| | |
||----Virtio MMIO Bus | |
|| | | | | |
|| | | (virtio-block)--------- |
|| (16) | |
|| | (virtio-net)------------------


Device Tree is created on the QEMU side based on the information about
devices IO map and IRQ numbers. Kernel will load this DTB using UHI
boot protocol.

Checkpatch script outputs a small number of warnings if applied to
this series. We did not correct the code, since we think the code is
correct for those particular cases of checkpatch warnings.

Aleksandar Markovic (4):
Documentation: Add device tree binding for Goldfish RTC driver
Documentation: Add device tree binding for Goldfish PIC driver
Documentation: Add device tree binding for Goldfish FB driver
video: goldfishfb: Add support for device tree bindings

Miodrag Dinic (4):
rtc: goldfish: Add RTC driver for Android emulator
irqchip/irq-goldfish-pic: Add Goldfish PIC driver
MIPS: ranchu: Add Ranchu as a new generic-based board
MIPS: Unselect ARCH_MIGHT_HAVE_PC_SERIO if MIPS_GENERIC

.../bindings/display/google,goldfish-fb.txt | 18 ++
.../interrupt-controller/google,goldfish-pic.txt | 18 ++
.../bindings/rtc/google,goldfish-rtc.txt | 17 ++
MAINTAINERS | 18 ++
arch/mips/Kconfig | 2 +-
arch/mips/configs/generic/board-ranchu.config | 30 +++
arch/mips/generic/Kconfig | 11 +
arch/mips/generic/Makefile | 1 +
arch/mips/generic/board-ranchu.c | 78 +++++++
drivers/irqchip/Kconfig | 8 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-goldfish-pic.c | 145 +++++++++++++
drivers/rtc/Kconfig | 8 +
drivers/rtc/Makefile | 1 +
drivers/rtc/rtc-goldfish.c | 237 +++++++++++++++++++++
drivers/video/fbdev/goldfishfb.c | 8 +-
16 files changed, 599 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/google,goldfish-fb.txt
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/google,goldfish-pic.txt
create mode 100644 Documentation/devicetree/bindings/rtc/google,goldfish-rtc.txt
create mode 100644 arch/mips/configs/generic/board-ranchu.config
create mode 100644 arch/mips/generic/board-ranchu.c
create mode 100644 drivers/irqchip/irq-goldfish-pic.c
create mode 100644 drivers/rtc/rtc-goldfish.c

--
2.7.4