From: Niek Linnenbank <nieklinnenbank@gmail.com>
To: QEMU Developers <qemu-devel@nongnu.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
alex.bennee@linaro.org, jasowang@redhat.com, b.galvani@gmail.com,
qemu-arm <qemu-arm@nongnu.org>,
imammedo@redhat.com, philmd@redhat.com
Subject: Re: [PATCH v4 00/20] Add Allwinner H3 SoC and Orange Pi PC Machine
Date: Sun, 19 Jan 2020 12:51:06 +0100 [thread overview]
Message-ID: <CAPan3Wo-DcUnf2Ct=H_-_DSD_RSYBM+dpAD4z0U=nqTYnDDOzw@mail.gmail.com> (raw)
In-Reply-To: <20200119005102.3847-1-nieklinnenbank@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 9274 bytes --]
On Sun, Jan 19, 2020, 01:51 Niek Linnenbank <nieklinnenbank@gmail.com>
wrote:
> Dear QEMU developers,
>
> Hereby I would like to contribute the following set of patches to QEMU
> which add support for the Allwinner H3 System on Chip and the
> Orange Pi PC machine. The following features and devices are supported:
>
> * SMP (Quad Core Cortex A7)
> * Generic Interrupt Controller configuration
> * SRAM mappings
> * SDRAM controller
> * Real Time Clock
> * Timer device (re-used from Allwinner A10)
> * UART
> * SD/MMC storage controller
> * EMAC ethernet connectivity
> * USB 2.0 interfaces
> * Clock Control Unit
> * System Control module
> * Security Identifier device
>
> Functionality related to graphical output such as HDMI, GPU,
> Display Engine and audio are not included. Recently released
> mainline Linux kernels (4.19 up to latest master), mainline U-Boot
> and NetBSD 9.0-RC1 are known to work.
>
> For full details on how to use the Orange Pi PC machine, see the file
> docs/orangepi.rst which is included as a patch in this series.
>
> The contents of this patch series is available on Github at:
>
> https://github.com/nieklinnenbank/qemu/tree/allwinner-h3-v3
I forgot to update this link in the cover letter to v4. The correct link is:
https://github.com/nieklinnenbank/qemu/tree/allwinner-h3-v4
>
> The followings are currently known issues in this series:
>
> - NetBSD 9.0-RC1 reads out year 2050 from RTC, while Linux works fine
> -> This is due to difference in base year defined by the
> corresponding drivers
> - RTC date & time is not persistent
> - boot0 custom Allwinner bootloader not yet working
> - Watchdog not yet implemented, affects U-Boot 'reset' and
> shutdown/reboot
> -> This is part of the existing A10 timer that needs to be
> generalized first
>
> Looking forward to your review comments. I will do my best
> to update the patches where needed.
>
> ===== CHANGELOG =====
> v4:
> * docs/orangepi.rst: correct SDRAM size in board description: 512MB ->
> 1GiB
> * hw/arm/orangepi.c: correct SDRAM size in commit message: 512MB -> 1GiB
> * hw/arm/orangepi.c: set .nb_cpus in the orangepi_binfo struct static
> initialisation
> * hw/arm/orangepi.c: remove .board_id from orangepi_binfo struct
> * hw/arm/orangepi.c: move BIOS check to top of orangepi_init()
> * hw/arm/orangepi.c: change clk1-freq argument 24000000 to 24 * 1000 *
> 1000 for readability
> * hw/arm/orangepi.c: rephrase 1GiB check error message
> * include/hw/arm/allwinner-h3.h: improved comments
> * hw/arm/allwinner-h3.c: remove duplicate initialization and declaration
> of i variable
> * hw/arm/allwinner-h3.c: use DEVICE(&s->cpus[i]) instead of qemu_get_cpu()
> * hw/arm/allwinner-h3.c: use qdev API instead of object API in CPU
> initialization part
> * hw/arm/allwinner-h3.c: add note that UARTs are connected to APB2_CLK,
> for future clocktree API
> * hw/arm/allwinner-h3.c: extend commit message for Boot ROM with
> description for the 32KiB size
> * hw/rtc/allwinner-rtc.c: correct usage of AwRtcClass->regmap_size for
> checking r/w offset
> * hw/misc/allwinner-cpucfg.c: remove 64-bit counter, as it is unused by
> Linux/U-Boot/NetBSD
> * hw/misc/allwinner-cpucfg.c: add CPU_EXCEPTION_LEVEL_ON_RESET constant
> * hw/misc/allwinner-cpucfg.c: break instead of return after logging guest
> error, for tracing
> * hw/misc/allwinner-cpucfg.c: reduce duplication in switch/case for
> REG_CPUX_RST_CTRL in write function
> * include/hw/rtc/allwinner-rtc.h: increase AW_RTC_REGS_MAXADDR to 0x200
> * include/hw/rtc/allwinner-rtc.h: change type of AwRtcClass->year_offset
> to int, to match struct tm
> * tests/acceptance/boot_linux_console.py: remove calls to vm.set_machine()
> * tests/acceptance/boot_linux_console.py: added NetBSD test by Philippe
> * docs/orangepi.rst: removed some unneeded words/typos
> * docs/orangepi.rst: remove usage of -j5 for calling make (not all users
> have >= 4 SMP cores)
> * include/hw/*/allwinner*.h: moved #include "qemu/osdep.h" and unneeded
> #includes to .c file
>
> v3: https://lists.gnu.org/archive/html/qemu-devel/2020-01/msg01534.html
> https://github.com/nieklinnenbank/qemu/tree/allwinner-h3-v3
>
> v2: https://lists.gnu.org/archive/html/qemu-devel/2019-12/msg03265.html
> https://github.com/nieklinnenbank/qemu/tree/allwinner-h3-v2
>
> v1: https://lists.gnu.org/archive/html/qemu-devel/2019-12/msg00320.html
> https://github.com/nieklinnenbank/qemu/tree/allwinner-h3-v1
>
> With kind regards,
>
> Niek Linnenbank
>
> Niek Linnenbank (13):
> hw/arm: add Allwinner H3 System-on-Chip
> hw/arm: add Xunlong Orange Pi PC machine
> hw/arm/allwinner-h3: add Clock Control Unit
> hw/arm/allwinner-h3: add USB host controller
> hw/arm/allwinner-h3: add System Control module
> hw/arm/allwinner: add CPU Configuration module
> hw/arm/allwinner: add Security Identifier device
> hw/arm/allwinner: add SD/MMC host controller
> hw/arm/allwinner-h3: add EMAC ethernet device
> hw/arm/allwinner-h3: add Boot ROM support
> hw/arm/allwinner-h3: add SDRAM controller device
> hw/arm/allwinner: add RTC device support
> docs: add Orange Pi PC document
>
> Philippe Mathieu-Daudé (7):
> tests/boot_linux_console: Add a quick test for the OrangePi PC board
> tests/boot_linux_console: Add initrd test for the Orange Pi PC board
> tests/boot_linux_console: Add a SD card test for the OrangePi PC board
> tests/boot_linux_console: Add a SLOW test booting Ubuntu on OrangePi
> PC
> Acceptance tests: Extract _console_interaction()
> Acceptance tests: Add interrupt_interactive_console_until_pattern()
> tests/boot_linux_console: Test booting NetBSD via U-Boot on OrangePi
> PC
>
> docs/orangepi.rst | 199 +++++
> default-configs/arm-softmmu.mak | 1 +
> hw/usb/hcd-ehci.h | 1 +
> include/hw/arm/allwinner-a10.h | 4 +
> include/hw/arm/allwinner-h3.h | 163 ++++
> include/hw/misc/allwinner-cpucfg.h | 52 ++
> include/hw/misc/allwinner-h3-ccu.h | 66 ++
> include/hw/misc/allwinner-h3-dramc.h | 106 +++
> include/hw/misc/allwinner-h3-sysctrl.h | 67 ++
> include/hw/misc/allwinner-sid.h | 60 ++
> include/hw/net/allwinner-sun8i-emac.h | 99 +++
> include/hw/rtc/allwinner-rtc.h | 128 ++++
> include/hw/sd/allwinner-sdhost.h | 135 ++++
> hw/arm/allwinner-a10.c | 19 +
> hw/arm/allwinner-h3.c | 476 ++++++++++++
> hw/arm/cubieboard.c | 15 +
> hw/arm/orangepi.c | 127 ++++
> hw/misc/allwinner-cpucfg.c | 269 +++++++
> hw/misc/allwinner-h3-ccu.c | 243 ++++++
> hw/misc/allwinner-h3-dramc.c | 358 +++++++++
> hw/misc/allwinner-h3-sysctrl.c | 140 ++++
> hw/misc/allwinner-sid.c | 170 +++++
> hw/net/allwinner-sun8i-emac.c | 871 ++++++++++++++++++++++
> hw/rtc/allwinner-rtc.c | 386 ++++++++++
> hw/sd/allwinner-sdhost.c | 848 +++++++++++++++++++++
> hw/usb/hcd-ehci-sysbus.c | 17 +
> MAINTAINERS | 9 +
> hw/arm/Kconfig | 9 +
> hw/arm/Makefile.objs | 1 +
> hw/misc/Makefile.objs | 5 +
> hw/misc/trace-events | 19 +
> hw/net/Kconfig | 3 +
> hw/net/Makefile.objs | 1 +
> hw/net/trace-events | 10 +
> hw/rtc/Makefile.objs | 1 +
> hw/rtc/trace-events | 4 +
> hw/sd/Makefile.objs | 1 +
> hw/sd/trace-events | 7 +
> tests/acceptance/avocado_qemu/__init__.py | 59 +-
> tests/acceptance/boot_linux_console.py | 210 ++++++
> 40 files changed, 5345 insertions(+), 14 deletions(-)
> create mode 100644 docs/orangepi.rst
> create mode 100644 include/hw/arm/allwinner-h3.h
> create mode 100644 include/hw/misc/allwinner-cpucfg.h
> create mode 100644 include/hw/misc/allwinner-h3-ccu.h
> create mode 100644 include/hw/misc/allwinner-h3-dramc.h
> create mode 100644 include/hw/misc/allwinner-h3-sysctrl.h
> create mode 100644 include/hw/misc/allwinner-sid.h
> create mode 100644 include/hw/net/allwinner-sun8i-emac.h
> create mode 100644 include/hw/rtc/allwinner-rtc.h
> create mode 100644 include/hw/sd/allwinner-sdhost.h
> create mode 100644 hw/arm/allwinner-h3.c
> create mode 100644 hw/arm/orangepi.c
> create mode 100644 hw/misc/allwinner-cpucfg.c
> create mode 100644 hw/misc/allwinner-h3-ccu.c
> create mode 100644 hw/misc/allwinner-h3-dramc.c
> create mode 100644 hw/misc/allwinner-h3-sysctrl.c
> create mode 100644 hw/misc/allwinner-sid.c
> create mode 100644 hw/net/allwinner-sun8i-emac.c
> create mode 100644 hw/rtc/allwinner-rtc.c
> create mode 100644 hw/sd/allwinner-sdhost.c
>
> --
> 2.17.1
>
[-- Attachment #2: Type: text/html, Size: 11648 bytes --]
next prev parent reply other threads:[~2020-01-19 11:52 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-19 0:50 [PATCH v4 00/20] Add Allwinner H3 SoC and Orange Pi PC Machine Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 01/20] hw/arm: add Allwinner H3 System-on-Chip Niek Linnenbank
2020-01-19 18:01 ` Philippe Mathieu-Daudé
2020-02-01 19:21 ` Niek Linnenbank
2020-02-01 20:52 ` Philippe Mathieu-Daudé
2020-01-19 0:50 ` [PATCH v4 02/20] hw/arm: add Xunlong Orange Pi PC machine Niek Linnenbank
2020-01-19 18:04 ` Philippe Mathieu-Daudé
2020-02-02 22:47 ` Niek Linnenbank
2020-01-21 16:39 ` Igor Mammedov
2020-02-02 22:37 ` Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 03/20] hw/arm/allwinner-h3: add Clock Control Unit Niek Linnenbank
2020-01-19 18:34 ` Philippe Mathieu-Daudé
2020-02-01 21:15 ` Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 04/20] hw/arm/allwinner-h3: add USB host controller Niek Linnenbank
2020-01-19 18:37 ` Philippe Mathieu-Daudé
2020-01-19 18:44 ` Philippe Mathieu-Daudé
2020-02-02 19:33 ` Niek Linnenbank
2020-02-12 22:23 ` Philippe Mathieu-Daudé
2020-02-02 19:12 ` Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 05/20] hw/arm/allwinner-h3: add System Control module Niek Linnenbank
2020-01-19 18:46 ` Philippe Mathieu-Daudé
2020-01-19 0:50 ` [PATCH v4 06/20] hw/arm/allwinner: add CPU Configuration module Niek Linnenbank
2020-01-19 18:52 ` Philippe Mathieu-Daudé
2020-02-02 20:25 ` Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 07/20] hw/arm/allwinner: add Security Identifier device Niek Linnenbank
2020-01-19 18:57 ` Philippe Mathieu-Daudé
2020-02-02 20:47 ` Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 08/20] hw/arm/allwinner: add SD/MMC host controller Niek Linnenbank
2020-01-19 19:01 ` Philippe Mathieu-Daudé
2020-02-02 21:43 ` Niek Linnenbank
2020-02-07 21:09 ` Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 09/20] hw/arm/allwinner-h3: add EMAC ethernet device Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 10/20] hw/arm/allwinner-h3: add Boot ROM support Niek Linnenbank
2020-01-19 19:14 ` Philippe Mathieu-Daudé
2020-02-02 22:11 ` Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 11/20] hw/arm/allwinner-h3: add SDRAM controller device Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 12/20] hw/arm/allwinner: add RTC device support Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 13/20] tests/boot_linux_console: Add a quick test for the OrangePi PC board Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 14/20] tests/boot_linux_console: Add initrd test for the Orange Pi " Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 15/20] tests/boot_linux_console: Add a SD card test for the OrangePi " Niek Linnenbank
2020-01-19 0:50 ` [PATCH v4 16/20] tests/boot_linux_console: Add a SLOW test booting Ubuntu on OrangePi PC Niek Linnenbank
2020-01-19 22:30 ` Philippe Mathieu-Daudé
2020-02-06 21:21 ` Niek Linnenbank
2020-02-12 22:02 ` Philippe Mathieu-Daudé
2020-01-19 0:50 ` [PATCH v4 17/20] Acceptance tests: Extract _console_interaction() Niek Linnenbank
2020-01-19 0:51 ` [PATCH v4 18/20] Acceptance tests: Add interrupt_interactive_console_until_pattern() Niek Linnenbank
2020-01-19 0:51 ` [PATCH v4 19/20] tests/boot_linux_console: Test booting NetBSD via U-Boot on OrangePi PC Niek Linnenbank
2020-01-19 0:51 ` [PATCH v4 20/20] docs: add Orange Pi PC document Niek Linnenbank
2020-01-19 11:51 ` Niek Linnenbank [this message]
2020-02-12 21:47 ` [PATCH v4 00/20] Add Allwinner H3 SoC and Orange Pi PC Machine Niek Linnenbank
2020-02-12 22:12 ` Philippe Mathieu-Daudé
2020-02-17 20:27 ` Niek Linnenbank
2020-02-18 6:46 ` Philippe Mathieu-Daudé
2020-02-18 10:05 ` Peter Maydell
2020-02-18 21:50 ` Niek Linnenbank
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='CAPan3Wo-DcUnf2Ct=H_-_DSD_RSYBM+dpAD4z0U=nqTYnDDOzw@mail.gmail.com' \
--to=nieklinnenbank@gmail.com \
--cc=alex.bennee@linaro.org \
--cc=b.galvani@gmail.com \
--cc=imammedo@redhat.com \
--cc=jasowang@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--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).