2020-09-11 07:21:00 +02:00
|
|
|
Nuvoton iBMC boards (``npcm750-evb``, ``quanta-gsj``)
|
|
|
|
=====================================================
|
|
|
|
|
|
|
|
The `Nuvoton iBMC`_ chips (NPCM7xx) are a family of ARM-based SoCs that are
|
|
|
|
designed to be used as Baseboard Management Controllers (BMCs) in various
|
|
|
|
servers. They all feature one or two ARM Cortex A9 CPU cores, as well as an
|
|
|
|
assortment of peripherals targeted for either Enterprise or Data Center /
|
|
|
|
Hyperscale applications. The former is a superset of the latter, so NPCM750 has
|
|
|
|
all the peripherals of NPCM730 and more.
|
|
|
|
|
|
|
|
.. _Nuvoton iBMC: https://www.nuvoton.com/products/cloud-computing/ibmc/
|
|
|
|
|
|
|
|
The NPCM750 SoC has two Cortex A9 cores and is targeted for the Enterprise
|
|
|
|
segment. The following machines are based on this chip :
|
|
|
|
|
|
|
|
- ``npcm750-evb`` Nuvoton NPCM750 Evaluation board
|
|
|
|
|
|
|
|
The NPCM730 SoC has two Cortex A9 cores and is targeted for Data Center and
|
|
|
|
Hyperscale applications. The following machines are based on this chip :
|
|
|
|
|
|
|
|
- ``quanta-gsj`` Quanta GSJ server BMC
|
|
|
|
|
|
|
|
There are also two more SoCs, NPCM710 and NPCM705, which are single-core
|
|
|
|
variants of NPCM750 and NPCM730, respectively. These are currently not
|
|
|
|
supported by QEMU.
|
|
|
|
|
|
|
|
Supported devices
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
* SMP (Dual Core Cortex-A9)
|
|
|
|
* Cortex-A9MPCore built-in peripherals: SCU, GIC, Global Timer, Private Timer
|
|
|
|
and Watchdog.
|
|
|
|
* SRAM, ROM and DRAM mappings
|
|
|
|
* System Global Control Registers (GCR)
|
|
|
|
* Clock and reset controller (CLK)
|
|
|
|
* Timer controller (TIM)
|
|
|
|
* Serial ports (16550-based)
|
|
|
|
* DDR4 memory controller (dummy interface indicating memory training is done)
|
|
|
|
* OTP controllers (no protection features)
|
|
|
|
* Flash Interface Unit (FIU; no protection features)
|
2020-10-23 23:06:35 +02:00
|
|
|
* Random Number Generator (RNG)
|
hw/arm/npcm7xx: Add EHCI and OHCI controllers
The NPCM730 and NPCM750 chips have a single USB host port shared between
a USB 2.0 EHCI host controller and a USB 1.1 OHCI host controller. This
adds support for both of them.
Testing notes:
* With -device usb-kbd, qemu will automatically insert a full-speed
hub, and the keyboard becomes controlled by the OHCI controller.
* With -device usb-kbd,bus=usb-bus.0,port=1, the keyboard is directly
attached to the port without any hubs, and the device becomes
controlled by the EHCI controller since it's high speed capable.
* With -device usb-kbd,bus=usb-bus.0,port=1,usb_version=1, the
keyboard is directly attached to the port, but it only advertises
itself as full-speed capable, so it becomes controlled by the OHCI
controller.
In all cases, the keyboard device enumerates correctly.
Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-10-23 23:06:36 +02:00
|
|
|
* USB host (USBH)
|
2020-10-23 23:06:37 +02:00
|
|
|
* GPIO controller
|
2021-01-08 20:09:42 +01:00
|
|
|
* Analog to Digital Converter (ADC)
|
2021-01-08 20:09:43 +01:00
|
|
|
* Pulse Width Modulation (PWM)
|
2021-02-10 23:04:22 +01:00
|
|
|
* SMBus controller (SMBF)
|
2021-02-18 22:24:52 +01:00
|
|
|
* Ethernet controller (EMC)
|
2021-03-11 19:08:53 +01:00
|
|
|
* Tachometer
|
2020-09-11 07:21:00 +02:00
|
|
|
|
|
|
|
Missing devices
|
|
|
|
---------------
|
|
|
|
|
|
|
|
* LPC/eSPI host-to-BMC interface, including
|
|
|
|
|
|
|
|
* Keyboard and mouse controller interface (KBCI)
|
|
|
|
* Keyboard Controller Style (KCS) channels
|
|
|
|
* BIOS POST code FIFO
|
|
|
|
* System Wake-up Control (SWC)
|
|
|
|
* Shared memory (SHM)
|
|
|
|
* eSPI slave interface
|
|
|
|
|
2021-02-18 22:24:52 +01:00
|
|
|
* Ethernet controller (GMAC)
|
2020-09-11 07:21:00 +02:00
|
|
|
* USB device (USBD)
|
|
|
|
* Peripheral SPI controller (PSPI)
|
|
|
|
* SD/MMC host
|
|
|
|
* PECI interface
|
|
|
|
* PCI and PCIe root complex and bridges
|
|
|
|
* VDM and MCTP support
|
|
|
|
* Serial I/O expansion
|
|
|
|
* LPC/eSPI host
|
|
|
|
* Coprocessor
|
|
|
|
* Graphics
|
|
|
|
* Video capture
|
|
|
|
* Encoding compression engine
|
|
|
|
* Security features
|
|
|
|
|
|
|
|
Boot options
|
|
|
|
------------
|
|
|
|
|
|
|
|
The Nuvoton machines can boot from an OpenBMC firmware image, or directly into
|
|
|
|
a kernel using the ``-kernel`` option. OpenBMC images for `quanta-gsj` and
|
|
|
|
possibly others can be downloaded from the OpenPOWER jenkins :
|
|
|
|
|
|
|
|
https://openpower.xyz/
|
|
|
|
|
|
|
|
The firmware image should be attached as an MTD drive. Example :
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
$ qemu-system-arm -machine quanta-gsj -nographic \
|
|
|
|
-drive file=image-bmc,if=mtd,bus=0,unit=0,format=raw
|
|
|
|
|
|
|
|
The default root password for test images is usually ``0penBmc``.
|