|  | 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``. |