mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
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>
This commit is contained in:
parent
16b390a706
commit
862f9928aa
2 changed files with 52 additions and 35 deletions
|
@ -9,4 +9,5 @@ Architecture-specific doc
|
|||
arm64
|
||||
mips
|
||||
nds32
|
||||
nios2
|
||||
x86
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
.. 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,
|
||||
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,
|
||||
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
|
||||
|
@ -13,33 +18,38 @@ 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.
|
||||
1. The device tree source which describes the hardware, dts file:
|
||||
arch/nios2/dts/mysystem.dts
|
||||
|
||||
2. Default configuration of Kconfig, defconfig file.
|
||||
2. Default configuration of Kconfig, defconfig file:
|
||||
configs/mysystem_defconfig
|
||||
|
||||
3. The legacy board header file.
|
||||
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,
|
||||
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
|
||||
.. 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,
|
||||
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,
|
||||
the sequence of these devices, like this::
|
||||
|
||||
aliases {
|
||||
spi0 = &epcs_controller;
|
||||
};
|
||||
|
@ -47,49 +57,55 @@ the sequence of these devices, like this,
|
|||
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
|
||||
.. 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.
|
||||
|
||||
Nios II architecture --->
|
||||
.. code-block:: none
|
||||
|
||||
Nios II architecture --->
|
||||
(mysystem) Board header file
|
||||
Device Tree Control --->
|
||||
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.
|
||||
* 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.
|
||||
* 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.
|
||||
not covered in Kconfig yet. You may copy it from 10m50_devboard.h::
|
||||
|
||||
$ cp include/configs/10m50_devboard.h include/configs/mysystem.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
|
||||
.. 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.
|
||||
After all these changes, you may build and test::
|
||||
|
||||
$ export CROSS_COMPILE=nios2-elf- (or nios2-linux-gnu-)
|
||||
$ make mysystem_defconfig
|
||||
$ make
|
||||
$ export CROSS_COMPILE=nios2-elf- (or nios2-linux-gnu-)
|
||||
$ make mysystem_defconfig
|
||||
$ make
|
||||
|
||||
Enjoy!
|
Loading…
Reference in a new issue