182c703feSHavard SkinnemoenNuvoton iBMC boards (``npcm750-evb``, ``quanta-gsj``) 282c703feSHavard Skinnemoen===================================================== 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 682c703feSHavard Skinnemoenservers. 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 1382c703feSHavard SkinnemoenThe 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 1882c703feSHavard SkinnemoenThe 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 2182c703feSHavard Skinnemoen- ``quanta-gsj`` Quanta GSJ server BMC 2282c703feSHavard Skinnemoen 2382c703feSHavard SkinnemoenThere are also two more SoCs, NPCM710 and NPCM705, which are single-core 2482c703feSHavard Skinnemoenvariants of NPCM750 and NPCM730, respectively. These are currently not 2582c703feSHavard Skinnemoensupported by QEMU. 2682c703feSHavard Skinnemoen 2782c703feSHavard SkinnemoenSupported devices 2882c703feSHavard Skinnemoen----------------- 2982c703feSHavard Skinnemoen 3082c703feSHavard Skinnemoen * SMP (Dual Core Cortex-A9) 3182c703feSHavard Skinnemoen * Cortex-A9MPCore built-in peripherals: SCU, GIC, Global Timer, Private Timer 3282c703feSHavard Skinnemoen and Watchdog. 3382c703feSHavard Skinnemoen * SRAM, ROM and DRAM mappings 3482c703feSHavard Skinnemoen * System Global Control Registers (GCR) 3582c703feSHavard Skinnemoen * Clock and reset controller (CLK) 3682c703feSHavard Skinnemoen * Timer controller (TIM) 3782c703feSHavard Skinnemoen * Serial ports (16550-based) 3882c703feSHavard Skinnemoen * DDR4 memory controller (dummy interface indicating memory training is done) 3982c703feSHavard Skinnemoen * OTP controllers (no protection features) 4082c703feSHavard Skinnemoen * Flash Interface Unit (FIU; no protection features) 41326ccfe2SHavard Skinnemoen * Random Number Generator (RNG) 42e23e7b12SHavard Skinnemoen * USB host (USBH) 43526dbbe0SHavard Skinnemoen * GPIO controller 4477c05b0bSHao Wu * Analog to Digital Converter (ADC) 451e943c58SHao Wu * Pulse Width Modulation (PWM) 4694e77879SHao Wu * SMBus controller (SMBF) 4777586436SDoug Evans * Ethernet controller (EMC) 48*fc11115fSHao Wu * Tachometer 4982c703feSHavard Skinnemoen 5082c703feSHavard SkinnemoenMissing devices 5182c703feSHavard Skinnemoen--------------- 5282c703feSHavard Skinnemoen 5382c703feSHavard Skinnemoen * LPC/eSPI host-to-BMC interface, including 5482c703feSHavard Skinnemoen 5582c703feSHavard Skinnemoen * Keyboard and mouse controller interface (KBCI) 5682c703feSHavard Skinnemoen * Keyboard Controller Style (KCS) channels 5782c703feSHavard Skinnemoen * BIOS POST code FIFO 5882c703feSHavard Skinnemoen * System Wake-up Control (SWC) 5982c703feSHavard Skinnemoen * Shared memory (SHM) 6082c703feSHavard Skinnemoen * eSPI slave interface 6182c703feSHavard Skinnemoen 6277586436SDoug Evans * Ethernet controller (GMAC) 6382c703feSHavard Skinnemoen * USB device (USBD) 6482c703feSHavard Skinnemoen * Peripheral SPI controller (PSPI) 6582c703feSHavard Skinnemoen * SD/MMC host 6682c703feSHavard Skinnemoen * PECI interface 6782c703feSHavard Skinnemoen * PCI and PCIe root complex and bridges 6882c703feSHavard Skinnemoen * VDM and MCTP support 6982c703feSHavard Skinnemoen * Serial I/O expansion 7082c703feSHavard Skinnemoen * LPC/eSPI host 7182c703feSHavard Skinnemoen * Coprocessor 7282c703feSHavard Skinnemoen * Graphics 7382c703feSHavard Skinnemoen * Video capture 7482c703feSHavard Skinnemoen * Encoding compression engine 7582c703feSHavard Skinnemoen * Security features 7682c703feSHavard Skinnemoen 7782c703feSHavard SkinnemoenBoot options 7882c703feSHavard Skinnemoen------------ 7982c703feSHavard Skinnemoen 8082c703feSHavard SkinnemoenThe Nuvoton machines can boot from an OpenBMC firmware image, or directly into 8182c703feSHavard Skinnemoena kernel using the ``-kernel`` option. OpenBMC images for `quanta-gsj` and 8282c703feSHavard Skinnemoenpossibly others can be downloaded from the OpenPOWER jenkins : 8382c703feSHavard Skinnemoen 8482c703feSHavard Skinnemoen https://openpower.xyz/ 8582c703feSHavard Skinnemoen 8682c703feSHavard SkinnemoenThe firmware image should be attached as an MTD drive. Example : 8782c703feSHavard Skinnemoen 8882c703feSHavard Skinnemoen.. code-block:: bash 8982c703feSHavard Skinnemoen 9082c703feSHavard Skinnemoen $ qemu-system-arm -machine quanta-gsj -nographic \ 9182c703feSHavard Skinnemoen -drive file=image-bmc,if=mtd,bus=0,unit=0,format=raw 9282c703feSHavard Skinnemoen 9382c703feSHavard SkinnemoenThe default root password for test images is usually ``0penBmc``. 94