All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] nios2: add README.nios2
Date: Mon, 19 Oct 2015 14:35:06 +0200	[thread overview]
Message-ID: <201510191435.06857.marex@denx.de> (raw)
In-Reply-To: <1445234776-18489-1-git-send-email-thomas@wytron.com.tw>

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@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!

  reply	other threads:[~2015-10-19 12:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-19  6:06 [U-Boot] [PATCH] nios2: add README.nios2 Thomas Chou
2015-10-19 12:35 ` Marek Vasut [this message]
2015-10-20  1:48 ` [U-Boot] [PATCH v2] " Thomas Chou
2015-10-20 21:25   ` Marek Vasut
2015-10-21  0:29     ` Thomas Chou
2015-10-21 14:42 ` [U-Boot] [PATCH v3] " Thomas Chou
2015-10-22  1:40   ` Marek Vasut
2015-10-23  0:19   ` Thomas Chou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201510191435.06857.marex@denx.de \
    --to=marex@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.