doc: arch: Convert README.nios2 to reST

Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
diff --git a/doc/README.nios2 b/doc/README.nios2
deleted file mode 100644
index 46c704e..0000000
--- a/doc/README.nios2
+++ /dev/null
@@ -1,95 +0,0 @@
-Nios II is a 32-bit embedded-processor architecture designed
-specifically for the Altera family of FPGAs.
-
-Please refer to the link for more information on Nios II,
-https://www.altera.com/products/processors/overview.html
-
-Please refer to the link for Linux port and toolchains,
-http://rocketboards.org/foswiki/view/Documentation/NiosIILinuxUserManual
-
-The Nios II port of u-boot is controlled by device tree. Please check
-out doc/README.fdt-control.
-
-To add a new board/configuration (eg, mysystem) to u-boot, you will need
-three files.
-
-1. The device tree source which describes the hardware, dts file.
-    arch/nios2/dts/mysystem.dts
-
-2. Default configuration of Kconfig, defconfig file.
-    configs/mysystem_defconfig
-
-3. The legacy board header file.
-    include/configs/mysystem.h
-
-The device tree source must be generated from your qsys/sopc design
-using the sopc2dts tool. Then modified to fit your configuration. Please
-find the sopc2dts download and usage at the wiki,
-http://www.alterawiki.com/wiki/Sopc2dts
-
-$ java -jar sopc2dts.jar --force-altr -i mysystem.sopcinfo -o mysystem.dts
-
-You will need to add additional properties to the dts. Please find an
-example at, arch/nios2/dts/10m50_devboard.dts.
-
-1. Add "stdout-path=..." property with your serial path to the chosen
-node, like this,
-	chosen {
-		stdout-path = &uart_0;
-	};
-
-2. If you use SPI/EPCS or I2C, you will need to add aliases to number
-the sequence of these devices, like this,
-	aliases {
-		spi0 = &epcs_controller;
-	};
-
-Next, you will need a default config file. You may start with
-10m50_defconfig, modify the options and save it.
-
-$ make 10m50_defconfig
-$ make menuconfig
-$ make savedefconfig
-$ cp defconfig configs/mysystem_defconfig
-
-You will need to change the names of board header file and device tree,
-and select the drivers with menuconfig.
-
-Nios II architecture  --->
-  (mysystem) Board header file
-Device Tree Control  --->
-  (mysystem) Default Device Tree for DT control
-
-There is a selection of "Provider of DTB for DT control" in the Device
-Tree Control menu.
-
-( ) Separate DTB for DT control, will cat the dtb to end of u-boot
-binary, output u-boot-dtb.bin. This should be used for production.
-If you use boot copier, like EPCS boot copier, make sure the copier
-copies all the u-boot-dtb.bin, not just u-boot.bin.
-
-( ) Embedded DTB for DT control, will include the dtb inside the u-boot
-binary. This is handy for development, eg, using gdb or nios2-download.
-
-The last thing, legacy board header file describes those config options
-not covered in Kconfig yet. You may copy it from 10m50_devboard.h.
-
-$ cp include/configs/10m50_devboard.h include/configs/mysystem.h
-
-Please change the SDRAM base and size to match your board. The base
-should be cached virtual address, for Nios II with MMU it is 0xCxxx_xxxx
-to 0xDxxx_xxxx.
-
-#define CONFIG_SYS_SDRAM_BASE		0xc8000000
-#define CONFIG_SYS_SDRAM_SIZE		0x08000000
-
-You will need to change the environment variables location and setting,
-too. You may change other configs to fit your board.
-
-After all these changes, you may build and test.
-
-$ export CROSS_COMPILE=nios2-elf-  (or nios2-linux-gnu-)
-$ make mysystem_defconfig
-$ make
-
-Enjoy!
diff --git a/doc/arch/index.rst b/doc/arch/index.rst
index 7f10df0..000f5de 100644
--- a/doc/arch/index.rst
+++ b/doc/arch/index.rst
@@ -9,4 +9,5 @@
    arm64
    mips
    nds32
+   nios2
    x86
diff --git a/doc/arch/nios2.rst b/doc/arch/nios2.rst
new file mode 100644
index 0000000..35defb0
--- /dev/null
+++ b/doc/arch/nios2.rst
@@ -0,0 +1,111 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+Nios II
+=======
+
+Nios II is a 32-bit embedded-processor architecture designed
+specifically for the Altera family of FPGAs.
+
+Please refer to the link for more information on Nios II:
+https://www.altera.com/products/processors/overview.html
+
+Please refer to the link for Linux port and toolchains:
+http://rocketboards.org/foswiki/view/Documentation/NiosIILinuxUserManual
+
+The Nios II port of u-boot is controlled by device tree. Please check
+out doc/README.fdt-control.
+
+To add a new board/configuration (eg, mysystem) to u-boot, you will need
+three files.
+
+1. The device tree source which describes the hardware, dts file:
+   arch/nios2/dts/mysystem.dts
+
+2. Default configuration of Kconfig, defconfig file:
+   configs/mysystem_defconfig
+
+3. The legacy board header file:
+   include/configs/mysystem.h
+
+The device tree source must be generated from your qsys/sopc design
+using the sopc2dts tool. Then modified to fit your configuration.
+
+Please find the sopc2dts download and usage at the wiki:
+http://www.alterawiki.com/wiki/Sopc2dts
+
+.. code-block:: none
+
+   $ java -jar sopc2dts.jar --force-altr -i mysystem.sopcinfo -o mysystem.dts
+
+You will need to add additional properties to the dts. Please find an
+example at, arch/nios2/dts/10m50_devboard.dts.
+
+1. Add "stdout-path=..." property with your serial path to the chosen
+   node, like this::
+
+	chosen {
+		stdout-path = &uart_0;
+	};
+
+2. If you use SPI/EPCS or I2C, you will need to add aliases to number
+   the sequence of these devices, like this::
+
+	aliases {
+		spi0 = &epcs_controller;
+	};
+
+Next, you will need a default config file. You may start with
+10m50_defconfig, modify the options and save it.
+
+.. code-block:: none
+
+   $ make 10m50_defconfig
+   $ make menuconfig
+   $ make savedefconfig
+   $ cp defconfig configs/mysystem_defconfig
+
+You will need to change the names of board header file and device tree,
+and select the drivers with menuconfig.
+
+.. code-block:: none
+
+   Nios II architecture  --->
+     (mysystem) Board header file
+   Device Tree Control  --->
+     (mysystem) Default Device Tree for DT control
+
+There is a selection of "Provider of DTB for DT control" in the Device
+Tree Control menu.
+
+   * Separate DTB for DT control, will cat the dtb to end of u-boot
+     binary, output u-boot-dtb.bin. This should be used for production.
+     If you use boot copier, like EPCS boot copier, make sure the copier
+     copies all the u-boot-dtb.bin, not just u-boot.bin.
+
+   * Embedded DTB for DT control, will include the dtb inside the u-boot
+     binary. This is handy for development, eg, using gdb or nios2-download.
+
+The last thing, legacy board header file describes those config options
+not covered in Kconfig yet. You may copy it from 10m50_devboard.h::
+
+   $ cp include/configs/10m50_devboard.h include/configs/mysystem.h
+
+Please change the SDRAM base and size to match your board. The base
+should be cached virtual address, for Nios II with MMU it is 0xCxxx_xxxx
+to 0xDxxx_xxxx.
+
+.. code-block:: c
+
+   #define CONFIG_SYS_SDRAM_BASE		0xc8000000
+   #define CONFIG_SYS_SDRAM_SIZE		0x08000000
+
+You will need to change the environment variables location and setting,
+too. You may change other configs to fit your board.
+
+After all these changes, you may build and test::
+
+   $ export CROSS_COMPILE=nios2-elf-  (or nios2-linux-gnu-)
+   $ make mysystem_defconfig
+   $ make
+
+Enjoy!