1*82c703feSHavard SkinnemoenNuvoton iBMC boards (``npcm750-evb``, ``quanta-gsj``) 2*82c703feSHavard Skinnemoen===================================================== 3*82c703feSHavard Skinnemoen 4*82c703feSHavard SkinnemoenThe `Nuvoton iBMC`_ chips (NPCM7xx) are a family of ARM-based SoCs that are 5*82c703feSHavard Skinnemoendesigned to be used as Baseboard Management Controllers (BMCs) in various 6*82c703feSHavard Skinnemoenservers. They all feature one or two ARM Cortex A9 CPU cores, as well as an 7*82c703feSHavard Skinnemoenassortment of peripherals targeted for either Enterprise or Data Center / 8*82c703feSHavard SkinnemoenHyperscale applications. The former is a superset of the latter, so NPCM750 has 9*82c703feSHavard Skinnemoenall the peripherals of NPCM730 and more. 10*82c703feSHavard Skinnemoen 11*82c703feSHavard Skinnemoen.. _Nuvoton iBMC: https://www.nuvoton.com/products/cloud-computing/ibmc/ 12*82c703feSHavard Skinnemoen 13*82c703feSHavard SkinnemoenThe NPCM750 SoC has two Cortex A9 cores and is targeted for the Enterprise 14*82c703feSHavard Skinnemoensegment. The following machines are based on this chip : 15*82c703feSHavard Skinnemoen 16*82c703feSHavard Skinnemoen- ``npcm750-evb`` Nuvoton NPCM750 Evaluation board 17*82c703feSHavard Skinnemoen 18*82c703feSHavard SkinnemoenThe NPCM730 SoC has two Cortex A9 cores and is targeted for Data Center and 19*82c703feSHavard SkinnemoenHyperscale applications. The following machines are based on this chip : 20*82c703feSHavard Skinnemoen 21*82c703feSHavard Skinnemoen- ``quanta-gsj`` Quanta GSJ server BMC 22*82c703feSHavard Skinnemoen 23*82c703feSHavard SkinnemoenThere are also two more SoCs, NPCM710 and NPCM705, which are single-core 24*82c703feSHavard Skinnemoenvariants of NPCM750 and NPCM730, respectively. These are currently not 25*82c703feSHavard Skinnemoensupported by QEMU. 26*82c703feSHavard Skinnemoen 27*82c703feSHavard SkinnemoenSupported devices 28*82c703feSHavard Skinnemoen----------------- 29*82c703feSHavard Skinnemoen 30*82c703feSHavard Skinnemoen * SMP (Dual Core Cortex-A9) 31*82c703feSHavard Skinnemoen * Cortex-A9MPCore built-in peripherals: SCU, GIC, Global Timer, Private Timer 32*82c703feSHavard Skinnemoen and Watchdog. 33*82c703feSHavard Skinnemoen * SRAM, ROM and DRAM mappings 34*82c703feSHavard Skinnemoen * System Global Control Registers (GCR) 35*82c703feSHavard Skinnemoen * Clock and reset controller (CLK) 36*82c703feSHavard Skinnemoen * Timer controller (TIM) 37*82c703feSHavard Skinnemoen * Serial ports (16550-based) 38*82c703feSHavard Skinnemoen * DDR4 memory controller (dummy interface indicating memory training is done) 39*82c703feSHavard Skinnemoen * OTP controllers (no protection features) 40*82c703feSHavard Skinnemoen * Flash Interface Unit (FIU; no protection features) 41*82c703feSHavard Skinnemoen 42*82c703feSHavard SkinnemoenMissing devices 43*82c703feSHavard Skinnemoen--------------- 44*82c703feSHavard Skinnemoen 45*82c703feSHavard Skinnemoen * GPIO controller 46*82c703feSHavard Skinnemoen * LPC/eSPI host-to-BMC interface, including 47*82c703feSHavard Skinnemoen 48*82c703feSHavard Skinnemoen * Keyboard and mouse controller interface (KBCI) 49*82c703feSHavard Skinnemoen * Keyboard Controller Style (KCS) channels 50*82c703feSHavard Skinnemoen * BIOS POST code FIFO 51*82c703feSHavard Skinnemoen * System Wake-up Control (SWC) 52*82c703feSHavard Skinnemoen * Shared memory (SHM) 53*82c703feSHavard Skinnemoen * eSPI slave interface 54*82c703feSHavard Skinnemoen 55*82c703feSHavard Skinnemoen * Ethernet controllers (GMAC and EMC) 56*82c703feSHavard Skinnemoen * USB host (USBH) 57*82c703feSHavard Skinnemoen * USB device (USBD) 58*82c703feSHavard Skinnemoen * SMBus controller (SMBF) 59*82c703feSHavard Skinnemoen * Peripheral SPI controller (PSPI) 60*82c703feSHavard Skinnemoen * Analog to Digital Converter (ADC) 61*82c703feSHavard Skinnemoen * SD/MMC host 62*82c703feSHavard Skinnemoen * Random Number Generator (RNG) 63*82c703feSHavard Skinnemoen * PECI interface 64*82c703feSHavard Skinnemoen * Pulse Width Modulation (PWM) 65*82c703feSHavard Skinnemoen * Tachometer 66*82c703feSHavard Skinnemoen * PCI and PCIe root complex and bridges 67*82c703feSHavard Skinnemoen * VDM and MCTP support 68*82c703feSHavard Skinnemoen * Serial I/O expansion 69*82c703feSHavard Skinnemoen * LPC/eSPI host 70*82c703feSHavard Skinnemoen * Coprocessor 71*82c703feSHavard Skinnemoen * Graphics 72*82c703feSHavard Skinnemoen * Video capture 73*82c703feSHavard Skinnemoen * Encoding compression engine 74*82c703feSHavard Skinnemoen * Security features 75*82c703feSHavard Skinnemoen 76*82c703feSHavard SkinnemoenBoot options 77*82c703feSHavard Skinnemoen------------ 78*82c703feSHavard Skinnemoen 79*82c703feSHavard SkinnemoenThe Nuvoton machines can boot from an OpenBMC firmware image, or directly into 80*82c703feSHavard Skinnemoena kernel using the ``-kernel`` option. OpenBMC images for `quanta-gsj` and 81*82c703feSHavard Skinnemoenpossibly others can be downloaded from the OpenPOWER jenkins : 82*82c703feSHavard Skinnemoen 83*82c703feSHavard Skinnemoen https://openpower.xyz/ 84*82c703feSHavard Skinnemoen 85*82c703feSHavard SkinnemoenThe firmware image should be attached as an MTD drive. Example : 86*82c703feSHavard Skinnemoen 87*82c703feSHavard Skinnemoen.. code-block:: bash 88*82c703feSHavard Skinnemoen 89*82c703feSHavard Skinnemoen $ qemu-system-arm -machine quanta-gsj -nographic \ 90*82c703feSHavard Skinnemoen -drive file=image-bmc,if=mtd,bus=0,unit=0,format=raw 91*82c703feSHavard Skinnemoen 92*82c703feSHavard SkinnemoenThe default root password for test images is usually ``0penBmc``. 93