diff mbox series

[v2,12/12] docs/system: Add Nuvoton machine documentation

Message ID 20200611223016.259837-13-hskinnemoen@google.com (mailing list archive)
State New, archived
Headers show
Series Add Nuvoton NPCM730/NPCM750 SoCs and two BMC machines | expand

Commit Message

Havard Skinnemoen June 11, 2020, 10:30 p.m. UTC
Change-Id: I88e437cb22a8441e0c0e672dfb57568ac81172d8
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
---
 docs/system/arm/nuvoton.rst | 89 +++++++++++++++++++++++++++++++++++++
 docs/system/target-arm.rst  |  1 +
 2 files changed, 90 insertions(+)
 create mode 100644 docs/system/arm/nuvoton.rst

Comments

Cédric Le Goater June 17, 2020, 4:43 p.m. UTC | #1
On 6/12/20 12:30 AM, Havard Skinnemoen wrote:
> Change-Id: I88e437cb22a8441e0c0e672dfb57568ac81172d8
> Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>

Reviewed-by: Cédric Le Goater <clg@kaod.org>


> ---
>  docs/system/arm/nuvoton.rst | 89 +++++++++++++++++++++++++++++++++++++
>  docs/system/target-arm.rst  |  1 +
>  2 files changed, 90 insertions(+)
>  create mode 100644 docs/system/arm/nuvoton.rst
> 
> diff --git a/docs/system/arm/nuvoton.rst b/docs/system/arm/nuvoton.rst
> new file mode 100644
> index 0000000000..1ca34c0051
> --- /dev/null
> +++ b/docs/system/arm/nuvoton.rst
> @@ -0,0 +1,89 @@
> +Nuvoton iBMC boards (``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-gsj``        Quanta GSJ 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)
> +
> +Missing devices
> +---------------
> +
> + * GPIO controller
> + * 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 controllers (GMAC and EMC)
> + * USB host (USBH)
> + * USB device (USBD)
> + * SMBus controller (SMBF)
> + * Peripheral SPI controller (PSPI)
> + * Analog to Digital Converter (ADC)
> + * SD/MMC host
> + * Random Number Generator (RNG)
> + * PECI interface
> + * Pulse Width Modulation (PWM)
> + * Tachometer
> + * 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.
> +
> +Booting a full firmware image requires a Boot ROM specified via the ``-bios``
> +option to QEMU. The firmware image should be attached as an MTD drive. Example :
> +
> +.. code-block:: bash
> +
> +  $ qemu-system-arm -machine quanta-gsj -nographic \
> +      -bios npcm7xx_bootrom.bin \
> +      -drive file=image-bmc,if=mtd,bus=0,unit=0,format=raw
> diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst
> index 1bd477a293..38a9daa9b9 100644
> --- a/docs/system/target-arm.rst
> +++ b/docs/system/target-arm.rst
> @@ -84,6 +84,7 @@ undocumented; you can get a complete list by running
>     arm/aspeed
>     arm/musicpal
>     arm/nseries
> +   arm/nuvoton
>     arm/orangepi
>     arm/palm
>     arm/xscale
>
diff mbox series

Patch

diff --git a/docs/system/arm/nuvoton.rst b/docs/system/arm/nuvoton.rst
new file mode 100644
index 0000000000..1ca34c0051
--- /dev/null
+++ b/docs/system/arm/nuvoton.rst
@@ -0,0 +1,89 @@ 
+Nuvoton iBMC boards (``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-gsj``        Quanta GSJ 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)
+
+Missing devices
+---------------
+
+ * GPIO controller
+ * 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 controllers (GMAC and EMC)
+ * USB host (USBH)
+ * USB device (USBD)
+ * SMBus controller (SMBF)
+ * Peripheral SPI controller (PSPI)
+ * Analog to Digital Converter (ADC)
+ * SD/MMC host
+ * Random Number Generator (RNG)
+ * PECI interface
+ * Pulse Width Modulation (PWM)
+ * Tachometer
+ * 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.
+
+Booting a full firmware image requires a Boot ROM specified via the ``-bios``
+option to QEMU. The firmware image should be attached as an MTD drive. Example :
+
+.. code-block:: bash
+
+  $ qemu-system-arm -machine quanta-gsj -nographic \
+      -bios npcm7xx_bootrom.bin \
+      -drive file=image-bmc,if=mtd,bus=0,unit=0,format=raw
diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst
index 1bd477a293..38a9daa9b9 100644
--- a/docs/system/target-arm.rst
+++ b/docs/system/target-arm.rst
@@ -84,6 +84,7 @@  undocumented; you can get a complete list by running
    arm/aspeed
    arm/musicpal
    arm/nseries
+   arm/nuvoton
    arm/orangepi
    arm/palm
    arm/xscale