mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 02:15:45 +01:00 
			
		
		
		
	The 10m50 devboard becomes the new golden reference design of Nios II Linux. So change README.nios2 to use 10m50 as template. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Acked-by: Marek Vasut <marex@denx.de>
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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!
 |