doc: update AX25-AE350 RISC-V documentation
Add descriptions about U-Boot SPL feature and how to build and run. Signed-off-by: Rick Chen <rick@andestech.com> Cc: KC Lin <kclin@andestech.com> Cc: Alan Kao <alankao@andestech.com>
This commit is contained in:
		
							parent
							
								
									cca8b1e5b2
								
							
						
					
					
						commit
						04883bf7ac
					
				|  | @ -324,6 +324,209 @@ Boot bbl and riscv-linux via U-Boot on QEMU | ||||||
|    / # |    / # | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| TODO | Running U-Boot SPL | ||||||
| ---- | ------------------ | ||||||
| Boot bbl and riscv-linux via U-Boot on AE350 board | The U-Boot SPL will boot in M mode and load the FIT image which include | ||||||
|  | OpenSBI and U-Boot proper images. After loading progress, it will jump | ||||||
|  | to OpenSBI first and then U-Boot proper which will run in S mode. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | How to build U-Boot SPL | ||||||
|  | ----------------------- | ||||||
|  | Before building U-Boot SPL, OpenSBI must be build first. OpenSBI can be | ||||||
|  | cloned and build for AE350 as below: | ||||||
|  | 
 | ||||||
|  | git clone https://github.com/riscv/opensbi.git | ||||||
|  | cd opensbi | ||||||
|  | make PLATFORM=andes/ae350 | ||||||
|  | 
 | ||||||
|  | Copy OpenSBI FW_DYNAMIC image (build\platform\andes\ae350\firmware\fw_dynamic.bin) | ||||||
|  | into U-Boot root directory | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | How to build U-Boot SPL booting from RAM | ||||||
|  | ---------------------------------------- | ||||||
|  | With ae350_rv[32|64]_spl_defconfigs: | ||||||
|  | 
 | ||||||
|  | U-Boot SPL will be loaded by gdb or FSBL and runs in RAM in machine mode | ||||||
|  | and then load FIT image from RAM device on AE350. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | How to build U-Boot SPL booting from ROM | ||||||
|  | ---------------------------------------- | ||||||
|  | With ae350_rv[32|64]_spl_xip_defconfigs: | ||||||
|  | 
 | ||||||
|  | U-Boot SPL can be burned into SPI flash and run in flash in machine mode | ||||||
|  | and then load FIT image from SPI flash or MMC device on AE350. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Messages of U-Boot SPL boots Kernel on AE350 board | ||||||
|  | -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .. code-block:: none | ||||||
|  | 
 | ||||||
|  | U-Boot SPL 2020.01-rc1-00292-g67a3313-dirty (Nov 14 2019 - 11:26:21 +0800) | ||||||
|  | Trying to boot from RAM | ||||||
|  | 
 | ||||||
|  | OpenSBI v0.5-1-gdd8ef28 (Nov 14 2019 11:08:39) | ||||||
|  |    ____                    _____ ____ _____ | ||||||
|  |   / __ \                  / ____|  _ \_   _| | ||||||
|  |  | |  | |_ __   ___ _ __ | (___ | |_) || | | ||||||
|  |  | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | | | ||||||
|  |  | |__| | |_) |  __/ | | |____) | |_) || |_ | ||||||
|  |   \____/| .__/ \___|_| |_|_____/|____/_____| | ||||||
|  |         | | | ||||||
|  |         |_| | ||||||
|  | 
 | ||||||
|  | Platform Name          : Andes AE350 | ||||||
|  | Platform HART Features : RV64ACIMSUX | ||||||
|  | Platform Max HARTs     : 4 | ||||||
|  | Current Hart           : 0 | ||||||
|  | Firmware Base          : 0x0 | ||||||
|  | Firmware Size          : 84 KB | ||||||
|  | Runtime SBI Version    : 0.2 | ||||||
|  | 
 | ||||||
|  | PMP0: 0x0000000000000000-0x000000000001ffff (A) | ||||||
|  | PMP1: 0x0000000000000000-0x00000001ffffffff (A,R,W,X) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | U-Boot 2020.01-rc1-00292-g67a3313-dirty (Nov 14 2019 - 11:26:21 +0800) | ||||||
|  | 
 | ||||||
|  | DRAM:  1 GiB | ||||||
|  | Flash: 64 MiB | ||||||
|  | MMC:   mmc@f0e00000: 0 | ||||||
|  | Loading Environment from SPI Flash... SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB | ||||||
|  | OK | ||||||
|  | In:    serial@f0300000 | ||||||
|  | Out:   serial@f0300000 | ||||||
|  | Err:   serial@f0300000 | ||||||
|  | Net:   no alias for ethernet0 | ||||||
|  | 
 | ||||||
|  | Warning: mac@e0100000 (eth0) using random MAC address - a2:ae:93:7b:cc:8f | ||||||
|  | eth0: mac@e0100000 | ||||||
|  | Hit any key to stop autoboot:  0 | ||||||
|  | 6455 bytes read in 31 ms (203.1 KiB/s) | ||||||
|  | 20421684 bytes read in 8647 ms (2.3 MiB/s) | ||||||
|  | ## Booting kernel from Legacy Image at 00600000 ... | ||||||
|  |    Image Name: | ||||||
|  |    Image Type:   RISC-V Linux Kernel Image (uncompressed) | ||||||
|  |    Data Size:    20421620 Bytes = 19.5 MiB | ||||||
|  |    Load Address: 00200000 | ||||||
|  |    Entry Point:  00200000 | ||||||
|  |    Verifying Checksum ... OK | ||||||
|  | ## Flattened Device Tree blob at 20000000 | ||||||
|  |    Booting using the fdt blob at 0x20000000 | ||||||
|  |    Loading Kernel Image | ||||||
|  |    Loading Device Tree to 000000001effb000, end 000000001efff936 ... OK | ||||||
|  | 
 | ||||||
|  | Starting kernel ... | ||||||
|  | 
 | ||||||
|  | OF: fdt: Ignoring memory range 0x0 - 0x200000 | ||||||
|  | Linux version 4.17.0-00253-g49136e10bcb2 (sqa@atcsqa07) (gcc version 7.3.0 (2019-04-06_nds64le-linux-glibc-v5_experimental)) #1 SMP PREEMPT Sat Apr 6 23:41:49 CST 2019 | ||||||
|  | bootconsole [early0] enabled | ||||||
|  | Initial ramdisk at: 0x        (ptrval) (13665712 bytes) | ||||||
|  | Zone ranges: | ||||||
|  |   DMA32    [mem 0x0000000000200000-0x000000003fffffff] | ||||||
|  |   Normal   empty | ||||||
|  | Movable zone start for each node | ||||||
|  | Early memory node ranges | ||||||
|  |   node   0: [mem 0x0000000000200000-0x000000003fffffff] | ||||||
|  | Initmem setup node 0 [mem 0x0000000000200000-0x000000003fffffff] | ||||||
|  | software IO TLB [mem 0x3b1f8000-0x3f1f8000] (64MB) mapped at [        (ptrval)-        (ptrval)] | ||||||
|  | elf_platform is rv64i2p0m2p0a2p0c2p0xv5-0p0 | ||||||
|  | compatible privileged spec version 1.10 | ||||||
|  | percpu: Embedded 16 pages/cpu @        (ptrval) s28184 r8192 d29160 u65536 | ||||||
|  | Built 1 zonelists, mobility grouping on.  Total pages: 258055 | ||||||
|  | Kernel command line: console=ttyS0,38400n8 debug loglevel=7 | ||||||
|  | log_buf_len individual max cpu contribution: 4096 bytes | ||||||
|  | log_buf_len total cpu_extra contributions: 12288 bytes | ||||||
|  | log_buf_len min size: 16384 bytes | ||||||
|  | log_buf_len: 32768 bytes | ||||||
|  | early log buf free: 14608(89%) | ||||||
|  | Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) | ||||||
|  | Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) | ||||||
|  | Sorting __ex_table... | ||||||
|  | Memory: 944428K/1046528K available (3979K kernel code, 246K rwdata, 1490K rodata, 13523K init, 688K bss, 102100K reserved, 0K cma-reserved) | ||||||
|  | SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 | ||||||
|  | Preemptible hierarchical RCU implementation. | ||||||
|  |         Tasks RCU enabled. | ||||||
|  | NR_IRQS: 72, nr_irqs: 72, preallocated irqs: 0 | ||||||
|  | riscv,cpu_intc,0: 64 local interrupts mapped | ||||||
|  | riscv,cpu_intc,1: 64 local interrupts mapped | ||||||
|  | riscv,cpu_intc,2: 64 local interrupts mapped | ||||||
|  | riscv,cpu_intc,3: 64 local interrupts mapped | ||||||
|  | riscv,plic0,e4000000: mapped 71 interrupts to 8/8 handlers | ||||||
|  | clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1bacf917bf, max_idle_ns: 881590412290 ns | ||||||
|  | sched_clock: 64 bits at 60MHz, resolution 16ns, wraps every 4398046511098ns | ||||||
|  | Console: colour dummy device 40x30 | ||||||
|  | Calibrating delay loop (skipped), value calculated using timer frequency.. 120.00 BogoMIPS (lpj=600000) | ||||||
|  | pid_max: default: 32768 minimum: 301 | ||||||
|  | Mount-cache hash table entries: 2048 (order: 2, 16384 bytes) | ||||||
|  | Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes) | ||||||
|  | Hierarchical SRCU implementation. | ||||||
|  | smp: Bringing up secondary CPUs ... | ||||||
|  | CPU0: online | ||||||
|  | CPU2: online | ||||||
|  | CPU3: online | ||||||
|  | smp: Brought up 1 node, 4 CPUs | ||||||
|  | devtmpfs: initialized | ||||||
|  | random: get_random_u32 called from bucket_table_alloc+0x198/0x1d8 with crng_init=0 | ||||||
|  | clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns | ||||||
|  | futex hash table entries: 1024 (order: 4, 65536 bytes) | ||||||
|  | NET: Registered protocol family 16 | ||||||
|  | Advanced Linux Sound Architecture Driver Initialized. | ||||||
|  | clocksource: Switched to clocksource riscv_clocksource | ||||||
|  | NET: Registered protocol family 2 | ||||||
|  | tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes) | ||||||
|  | TCP established hash table entries: 8192 (order: 4, 65536 bytes) | ||||||
|  | TCP bind hash table entries: 8192 (order: 5, 131072 bytes) | ||||||
|  | TCP: Hash tables configured (established 8192 bind 8192) | ||||||
|  | UDP hash table entries: 512 (order: 2, 16384 bytes) | ||||||
|  | UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) | ||||||
|  | NET: Registered protocol family 1 | ||||||
|  | RPC: Registered named UNIX socket transport module. | ||||||
|  | RPC: Registered udp transport module. | ||||||
|  | RPC: Registered tcp transport module. | ||||||
|  | RPC: Registered tcp NFSv4.1 backchannel transport module. | ||||||
|  | Unpacking initramfs... | ||||||
|  | workingset: timestamp_bits=62 max_order=18 bucket_order=0 | ||||||
|  | NFS: Registering the id_resolver key type | ||||||
|  | Key type id_resolver registered | ||||||
|  | Key type id_legacy registered | ||||||
|  | nfs4filelayout_init: NFSv4 File Layout Driver Registering... | ||||||
|  | io scheduler noop registered | ||||||
|  | io scheduler cfq registered (default) | ||||||
|  | io scheduler mq-deadline registered | ||||||
|  | io scheduler kyber registered | ||||||
|  | Console: switching to colour frame buffer device 40x30 | ||||||
|  | Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled | ||||||
|  | console [ttyS0] disabled | ||||||
|  | f0300000.serial: ttyS0 at MMIO 0xf0300020 (irq = 20, base_baud = 1228800) is a 16550A | ||||||
|  | console [ttyS0] enabled | ||||||
|  | console [ttyS0] enabled | ||||||
|  | bootconsole [early0] disabled | ||||||
|  | bootconsole [early0] disabled | ||||||
|  | loop: module loaded | ||||||
|  | tun: Universal TUN/TAP device driver, 1.6 | ||||||
|  | ftmac100: Loading version 0.2 ... | ||||||
|  | ftmac100 e0100000.mac eth0: irq 21, mapped at         (ptrval) | ||||||
|  | ftmac100 e0100000.mac eth0: generated random MAC address 4e:fd:bd:f3:04:fc | ||||||
|  | ftsdc010 f0e00000.mmc: mmc0 - using hw SDIO IRQ | ||||||
|  | mmc0: new SDHC card at address d555 | ||||||
|  | ftssp010 card registered! | ||||||
|  | mmcblk0: mmc0:d555 SD04G 3.79 GiB | ||||||
|  | NET: Registered protocol family 10 | ||||||
|  |  mmcblk0: p1 | ||||||
|  | Segment Routing with IPv6 | ||||||
|  | sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver | ||||||
|  | NET: Registered protocol family 17 | ||||||
|  | NET: Registered protocol family 15 | ||||||
|  | ALSA device list: | ||||||
|  |   #0: ftssp_ac97 controller | ||||||
|  | Freeing unused kernel memory: 13520K | ||||||
|  | This architecture does not have kernel memory protection. | ||||||
|  | Sysinit starting | ||||||
|  | Sat Apr  6 23:33:53 CST 2019 | ||||||
|  | nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... | ||||||
|  | 
 | ||||||
|  | ~ # | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue