Nuvoton iBMC boards (``*-bmc``, ``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-gbs-bmc`` Quanta GBS server BMC - ``quanta-gsj`` Quanta GSJ server BMC - ``kudo-bmc`` Fii USA Kudo server BMC - ``mori-bmc`` Fii USA Mori 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) * Random Number Generator (RNG) * USB host (USBH) * GPIO controller * Analog to Digital Converter (ADC) * Pulse Width Modulation (PWM) * SMBus controller (SMBF) * Ethernet controller (EMC) * Tachometer * Peripheral SPI controller (PSPI) 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 * Ethernet controller (GMAC) * USB device (USBD) * 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 OpenBMC jenkins : https://jenkins.openbmc.org/ 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``.