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
|
||||
----
|
||||
Boot bbl and riscv-linux via U-Boot on AE350 board
|
||||
Running U-Boot SPL
|
||||
------------------
|
||||
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
Block a user