xref: /qemu/docs/system/arm/nuvoton.rst (revision 4d120d7d)
1fd17995cSPatrick VentureNuvoton iBMC boards (``*-bmc``, ``npcm750-evb``, ``quanta-gsj``)
2fd17995cSPatrick Venture================================================================
382c703feSHavard Skinnemoen
482c703feSHavard SkinnemoenThe `Nuvoton iBMC`_ chips (NPCM7xx) are a family of ARM-based SoCs that are
582c703feSHavard Skinnemoendesigned to be used as Baseboard Management Controllers (BMCs) in various
6f548f201SPeter Maydellservers. They all feature one or two ARM Cortex-A9 CPU cores, as well as an
782c703feSHavard Skinnemoenassortment of peripherals targeted for either Enterprise or Data Center /
882c703feSHavard SkinnemoenHyperscale applications. The former is a superset of the latter, so NPCM750 has
982c703feSHavard Skinnemoenall the peripherals of NPCM730 and more.
1082c703feSHavard Skinnemoen
1182c703feSHavard Skinnemoen.. _Nuvoton iBMC: https://www.nuvoton.com/products/cloud-computing/ibmc/
1282c703feSHavard Skinnemoen
13f548f201SPeter MaydellThe NPCM750 SoC has two Cortex-A9 cores and is targeted for the Enterprise
1482c703feSHavard Skinnemoensegment. The following machines are based on this chip :
1582c703feSHavard Skinnemoen
1682c703feSHavard Skinnemoen- ``npcm750-evb``       Nuvoton NPCM750 Evaluation board
1782c703feSHavard Skinnemoen
18f548f201SPeter MaydellThe NPCM730 SoC has two Cortex-A9 cores and is targeted for Data Center and
1982c703feSHavard SkinnemoenHyperscale applications. The following machines are based on this chip :
2082c703feSHavard Skinnemoen
21fd17995cSPatrick Venture- ``quanta-gbs-bmc``    Quanta GBS server BMC
2282c703feSHavard Skinnemoen- ``quanta-gsj``        Quanta GSJ server BMC
233b8a4733SChris Rauer- ``kudo-bmc``          Fii USA Kudo server BMC
24ca6d63c2SPatrick Venture- ``mori-bmc``          Fii USA Mori server BMC
2582c703feSHavard Skinnemoen
2682c703feSHavard SkinnemoenThere are also two more SoCs, NPCM710 and NPCM705, which are single-core
2782c703feSHavard Skinnemoenvariants of NPCM750 and NPCM730, respectively. These are currently not
2882c703feSHavard Skinnemoensupported by QEMU.
2982c703feSHavard Skinnemoen
3082c703feSHavard SkinnemoenSupported devices
3182c703feSHavard Skinnemoen-----------------
3282c703feSHavard Skinnemoen
3382c703feSHavard Skinnemoen * SMP (Dual Core Cortex-A9)
3482c703feSHavard Skinnemoen * Cortex-A9MPCore built-in peripherals: SCU, GIC, Global Timer, Private Timer
3582c703feSHavard Skinnemoen   and Watchdog.
3682c703feSHavard Skinnemoen * SRAM, ROM and DRAM mappings
3782c703feSHavard Skinnemoen * System Global Control Registers (GCR)
3882c703feSHavard Skinnemoen * Clock and reset controller (CLK)
3982c703feSHavard Skinnemoen * Timer controller (TIM)
4082c703feSHavard Skinnemoen * Serial ports (16550-based)
4182c703feSHavard Skinnemoen * DDR4 memory controller (dummy interface indicating memory training is done)
4282c703feSHavard Skinnemoen * OTP controllers (no protection features)
4382c703feSHavard Skinnemoen * Flash Interface Unit (FIU; no protection features)
44326ccfe2SHavard Skinnemoen * Random Number Generator (RNG)
45e23e7b12SHavard Skinnemoen * USB host (USBH)
46526dbbe0SHavard Skinnemoen * GPIO controller
4777c05b0bSHao Wu * Analog to Digital Converter (ADC)
481e943c58SHao Wu * Pulse Width Modulation (PWM)
4994e77879SHao Wu * SMBus controller (SMBF)
5077586436SDoug Evans * Ethernet controller (EMC)
51fc11115fSHao Wu * Tachometer
524d120d7dSHao Wu * Peripheral SPI controller (PSPI)
5382c703feSHavard Skinnemoen
5482c703feSHavard SkinnemoenMissing devices
5582c703feSHavard Skinnemoen---------------
5682c703feSHavard Skinnemoen
5782c703feSHavard Skinnemoen * LPC/eSPI host-to-BMC interface, including
5882c703feSHavard Skinnemoen
5982c703feSHavard Skinnemoen   * Keyboard and mouse controller interface (KBCI)
6082c703feSHavard Skinnemoen   * Keyboard Controller Style (KCS) channels
6182c703feSHavard Skinnemoen   * BIOS POST code FIFO
6282c703feSHavard Skinnemoen   * System Wake-up Control (SWC)
6382c703feSHavard Skinnemoen   * Shared memory (SHM)
6482c703feSHavard Skinnemoen   * eSPI slave interface
6582c703feSHavard Skinnemoen
6677586436SDoug Evans * Ethernet controller (GMAC)
6782c703feSHavard Skinnemoen * USB device (USBD)
6882c703feSHavard Skinnemoen * SD/MMC host
6982c703feSHavard Skinnemoen * PECI interface
7082c703feSHavard Skinnemoen * PCI and PCIe root complex and bridges
7182c703feSHavard Skinnemoen * VDM and MCTP support
7282c703feSHavard Skinnemoen * Serial I/O expansion
7382c703feSHavard Skinnemoen * LPC/eSPI host
7482c703feSHavard Skinnemoen * Coprocessor
7582c703feSHavard Skinnemoen * Graphics
7682c703feSHavard Skinnemoen * Video capture
7782c703feSHavard Skinnemoen * Encoding compression engine
7882c703feSHavard Skinnemoen * Security features
7982c703feSHavard Skinnemoen
8082c703feSHavard SkinnemoenBoot options
8182c703feSHavard Skinnemoen------------
8282c703feSHavard Skinnemoen
8382c703feSHavard SkinnemoenThe Nuvoton machines can boot from an OpenBMC firmware image, or directly into
846df743dcSPeter Maydella kernel using the ``-kernel`` option. OpenBMC images for ``quanta-gsj`` and
8586a85d73SJoel Stanleypossibly others can be downloaded from the OpenBMC jenkins :
8682c703feSHavard Skinnemoen
8786a85d73SJoel Stanley   https://jenkins.openbmc.org/
8882c703feSHavard Skinnemoen
8982c703feSHavard SkinnemoenThe firmware image should be attached as an MTD drive. Example :
9082c703feSHavard Skinnemoen
9182c703feSHavard Skinnemoen.. code-block:: bash
9282c703feSHavard Skinnemoen
9382c703feSHavard Skinnemoen  $ qemu-system-arm -machine quanta-gsj -nographic \
9482c703feSHavard Skinnemoen      -drive file=image-bmc,if=mtd,bus=0,unit=0,format=raw
9582c703feSHavard Skinnemoen
9682c703feSHavard SkinnemoenThe default root password for test images is usually ``0penBmc``.
97