1*23a26bfeSPeter MaydellNuvoton iBMC boards (``kudo-bmc``, ``mori-bmc``, ``npcm750-evb``, ``quanta-gbs-bmc``, ``quanta-gsj``) 2*23a26bfeSPeter Maydell===================================================================================================== 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