[U-Boot] [PATCH] nios2: add README.nios2

Marek Vasut marex at denx.de
Mon Oct 19 14:35:06 CEST 2015


On Monday, October 19, 2015 at 08:06:16 AM, Thomas Chou wrote:

Hi!

> Add README.nios2 about how to add nios2 boards to u-boot.
> 
> Signed-off-by: Thomas Chou <thomas at wytron.com.tw>
> ---
>  doc/README.nios2 | 86
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed,
> 86 insertions(+)
>  create mode 100644 doc/README.nios2
> 
> diff --git a/doc/README.nios2 b/doc/README.nios2
> new file mode 100644
> index 0000000..9f248ac
> --- /dev/null
> +++ b/doc/README.nios2
> @@ -0,0 +1,86 @@
> +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. To add a new
> +board/configuration (eg, mysystem) to u-boot, you will need three files.
> +
> +1. The device tree source which descibe 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 file
> +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/3c120_devboard.dts.
> +
> +1. Add "u-boot,dm-pre-reloc" property to the cpu and the serial node
> +which you will use for console.

Explanation why or link to another document in doc/ would help here I think.

> +2. Add "stdout-path=..." property with your serial path to the chosen
> +node.
> +
> +Next, you will need a default config file. You may start with
> +nios2-generic_defconfig, modify the options and save it.
> +
> +make nios2-generic_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.
> +
> +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 nios2-generic.h.
> +
> +cp include/configs/nios2-generic.h include/configs/mysystem.h
> +
> +Please change the sdram base and size to your board. The base should be

s/to your/to match your/

> +cached virtual address, for nios2 with mmu it is 0xCxxx-xxxx to
> +0xDxxx-xxxx.

MMU should be in capitals I think. And the address should use underscore instead
of dash, the dash is really confusing there.

> +#define CONFIG_SYS_SDRAM_BASE		0xD0000000
> +#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!

Thanks for the README, it's really helpful!


More information about the U-Boot mailing list