1.. SPDX-License-Identifier: GPL-2.0+ 2 3AX25-AE350 4========== 5 6AE350 is the mainline SoC produced by Andes Technology using AX25 CPU core 7base on RISC-V architecture. 8 9AE350 has integrated both AHB and APB bus and many periphals for application 10and product development. 11 12AX25-AE350 is the SoC with AE350 hardcore CPU. 13 14AX25 is Andes CPU IP to adopt RISC-V architecture. 15 16AX25 Features 17------------- 18 19CPU Core 20 - 5-stage in-order execution pipeline 21 - Hardware Multiplier 22 - radix-2/radix-4/radix-16/radix-256/fast 23 - Hardware Divider 24 - Optional branch prediction 25 - Machine mode and optional user mode 26 - Optional performance monitoring 27 28ISA 29 - RV64I base integer instructions 30 - RVC for 16-bit compressed instructions 31 - RVM for multiplication and division instructions 32 33Memory subsystem 34 - I & D local memory 35 - Size: 4KB to 16MB 36 - Memory subsyetem soft-error protection 37 - Protection scheme: parity-checking or error-checking-and-correction (ECC) 38 - Automatic hardware error correction 39 40Bus 41 - Interface Protocol 42 - Synchronous AHB (32-bit/64-bit data-width), or 43 - Synchronous AXI4 (64-bit data-width) 44 45Power management 46 - Wait for interrupt (WFI) mode 47 48Debug 49 - Configurable number of breakpoints: 2/4/8 50 - External Debug Module 51 - AHB slave port 52 - External JTAG debug transport module 53 54Platform Level Interrupt Controller (PLIC) 55 - AHB slave port 56 - Configurable number of interrupts: 1-1023 57 - Configurable number of interrupt priorities: 3/7/15/63/127/255 58 - Configurable number of targets: 1-16 59 - Preempted interrupt priority stack 60 61Build and boot steps 62-------------------- 63 64Build: 65 661. Prepare the toolchains and make sure the $PATH to toolchains is correct. 672. Use `make ae350_rv[32|64]_defconfig` in u-boot root to build the image for 68 32 or 64 bit. 69 70Verification: 71 721. startup 732. relocation 743. timer driver 754. uart driver 765. mac driver 776. mmc driver 787. spi driver 79 80Steps 81----- 82 831. Ping a server by mac driver 842. Scan sd card and copy u-boot image which is booted from flash to ram by sd driver 853. Burn this u-boot image to spi rom by spi driver 864. Re-boot u-boot from spi flash with power off and power on 87 88Messages of U-Boot boot on AE350 board 89-------------------------------------- 90 91.. code-block:: none 92 93 U-Boot 2018.01-rc2-00033-g824f89a (Dec 21 2017 - 16:51:26 +0800) 94 95 DRAM: 1 GiB 96 MMC: mmc@f0e00000: 0 97 SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB 98 In: serial@f0300000 99 Out: serial@f0300000 100 Err: serial@f0300000 101 Net: 102 Warning: mac@e0100000 (eth0) using random MAC address - be:dd:d7:e4:e8:10 103 eth0: mac@e0100000 104 105 RISC-V # version 106 U-Boot 2018.01-rc2-00033-gb265b91-dirty (Dec 22 2017 - 13:54:21 +0800) 107 108 riscv32-unknown-linux-gnu-gcc (GCC) 7.2.0 109 GNU ld (GNU Binutils) 2.29 110 111 RISC-V # setenv ipaddr 10.0.4.200 ; 112 RISC-V # setenv serverip 10.0.4.97 ; 113 RISC-V # ping 10.0.4.97 ; 114 Using mac@e0100000 device 115 host 10.0.4.97 is alive 116 117 RISC-V # mmc rescan 118 RISC-V # fatls mmc 0:1 119 318907 u-boot-ae350-64.bin 120 1252 hello_world_ae350_32.bin 121 328787 u-boot-ae350-32.bin 122 123 3 file(s), 0 dir(s) 124 125 RISC-V # sf probe 0:0 50000000 0 126 SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB 127 128 RISC-V # sf test 0x100000 0x1000 129 SPI flash test: 130 0 erase: 36 ticks, 111 KiB/s 0.888 Mbps 131 1 check: 29 ticks, 137 KiB/s 1.096 Mbps 132 2 write: 40 ticks, 100 KiB/s 0.800 Mbps 133 3 read: 20 ticks, 200 KiB/s 1.600 Mbps 134 Test passed 135 0 erase: 36 ticks, 111 KiB/s 0.888 Mbps 136 1 check: 29 ticks, 137 KiB/s 1.096 Mbps 137 2 write: 40 ticks, 100 KiB/s 0.800 Mbps 138 3 read: 20 ticks, 200 KiB/s 1.600 Mbps 139 140 RISC-V # fatload mmc 0:1 0x600000 u-boot-ae350-32.bin 141 reading u-boot-ae350-32.bin 142 328787 bytes read in 324 ms (990.2 KiB/s) 143 144 RISC-V # sf erase 0x0 0x51000 145 SF: 331776 bytes @ 0x0 Erased: OK 146 147 RISC-V # sf write 0x600000 0x0 0x50453 148 device 0 offset 0x0, size 0x50453 149 SF: 328787 bytes @ 0x0 Written: OK 150 151 RISC-V # crc32 0x600000 0x50453 152 crc32 for 00600000 ... 00650452 ==> 692dc44a 153 154 RISC-V # crc32 0x80000000 0x50453 155 crc32 for 80000000 ... 80050452 ==> 692dc44a 156 RISC-V # 157 158 *** power-off and power-on, this U-Boot is booted from spi flash *** 159 160 U-Boot 2018.01-rc2-00032-gf67dd47-dirty (Dec 21 2017 - 13:56:03 +0800) 161 162 DRAM: 1 GiB 163 MMC: mmc@f0e00000: 0 164 SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB 165 In: serial@f0300000 166 Out: serial@f0300000 167 Err: serial@f0300000 168 Net: 169 Warning: mac@e0100000 (eth0) using random MAC address - ee:4c:58:29:32:f5 170 eth0: mac@e0100000 171 RISC-V # 172 173 174Boot bbl and riscv-linux via U-Boot on QEMU 175------------------------------------------- 176 1771. Build riscv-linux 1782. Build bbl and riscv-linux with --with-payload 1793. Prepare ae350.dtb 1804. Creating OS-kernel images 181 182.. code-block:: none 183 184 ./mkimage -A riscv -O linux -T kernel -C none -a 0x0000 -e 0x0000 -d bbl.bin bootmImage-bbl.bin 185 Image Name: 186 Created: Tue Mar 13 10:06:42 2018 187 Image Type: RISC-V Linux Kernel Image (uncompressed) 188 Data Size: 17901204 Bytes = 17481.64 KiB = 17.07 MiB 189 Load Address: 00000000 190 Entry Point: 00000000 191 1925. Copy bootmImage-bbl.bin and ae350.dtb to qemu sd card image 1936. Message of booting riscv-linux from bbl via u-boot on qemu 194 195.. code-block:: none 196 197 U-Boot 2018.03-rc4-00031-g2631273 (Mar 13 2018 - 15:02:55 +0800) 198 199 DRAM: 1 GiB 200 main-loop: WARNING: I/O thread spun for 1000 iterations 201 MMC: mmc@f0e00000: 0 202 Loading Environment from SPI Flash... *** Warning - spi_flash_probe_bus_cs() failed, using default environment 203 204 Failed (-22) 205 In: serial@f0300000 206 Out: serial@f0300000 207 Err: serial@f0300000 208 Net: 209 Warning: mac@e0100000 (eth0) using random MAC address - 02:00:00:00:00:00 210 eth0: mac@e0100000 211 RISC-V # mmc rescan 212 RISC-V # mmc part 213 214 Partition Map for MMC device 0 -- Partition Type: DOS 215 216 Part Start Sector Num Sectors UUID Type 217 RISC-V # fatls mmc 0:0 218 17901268 bootmImage-bbl.bin 219 1954 ae2xx.dtb 220 221 2 file(s), 0 dir(s) 222 223 RISC-V # fatload mmc 0:0 0x00600000 bootmImage-bbl.bin 224 17901268 bytes read in 4642 ms (3.7 MiB/s) 225 RISC-V # fatload mmc 0:0 0x2000000 ae350.dtb 226 1954 bytes read in 1 ms (1.9 MiB/s) 227 RISC-V # setenv bootm_size 0x2000000 228 RISC-V # setenv fdt_high 0x1f00000 229 RISC-V # bootm 0x00600000 - 0x2000000 230 ## Booting kernel from Legacy Image at 00600000 ... 231 Image Name: 232 Image Type: RISC-V Linux Kernel Image (uncompressed) 233 Data Size: 17901204 Bytes = 17.1 MiB 234 Load Address: 00000000 235 Entry Point: 00000000 236 Verifying Checksum ... OK 237 ## Flattened Device Tree blob at 02000000 238 Booting using the fdt blob at 0x2000000 239 Loading Kernel Image ... OK 240 Loading Device Tree to 0000000001efc000, end 0000000001eff7a1 ... OK 241 [ 0.000000] OF: fdt: Ignoring memory range 0x0 - 0x200000 242 [ 0.000000] Linux version 4.14.0-00046-gf3e439f-dirty (rick@atcsqa06) (gcc version 7.1.1 20170509 (GCC)) #1 Tue Jan 9 16:34:25 CST 2018 243 [ 0.000000] bootconsole [early0] enabled 244 [ 0.000000] Initial ramdisk at: 0xffffffe000016a98 (12267008 bytes) 245 [ 0.000000] Zone ranges: 246 [ 0.000000] DMA [mem 0x0000000000200000-0x000000007fffffff] 247 [ 0.000000] Normal empty 248 [ 0.000000] Movable zone start for each node 249 [ 0.000000] Early memory node ranges 250 [ 0.000000] node 0: [mem 0x0000000000200000-0x000000007fffffff] 251 [ 0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x000000007fffffff] 252 [ 0.000000] elf_hwcap is 0x112d 253 [ 0.000000] random: fast init done 254 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516615 255 [ 0.000000] Kernel command line: console=ttyS0,38400n8 earlyprintk=uart8250-32bit,0xf0300000 debug loglevel=7 256 [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) 257 [ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes) 258 [ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes) 259 [ 0.000000] Sorting __ex_table... 260 [ 0.000000] Memory: 2047832K/2095104K available (1856K kernel code, 204K rwdata, 532K rodata, 12076K init, 756K bss, 47272K reserved, 0K cma-reserved) 261 [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 262 [ 0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0 263 [ 0.000000] riscv,cpu_intc,0: 64 local interrupts mapped 264 [ 0.000000] riscv,plic0,e4000000: mapped 31 interrupts to 1/2 handlers 265 [ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns 266 [ 0.000000] Calibrating delay loop (skipped), value calculated using timer frequency.. 20.00 BogoMIPS (lpj=40000) 267 [ 0.000000] pid_max: default: 32768 minimum: 301 268 [ 0.004000] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes) 269 [ 0.004000] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes) 270 [ 0.056000] devtmpfs: initialized 271 [ 0.060000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns 272 [ 0.064000] futex hash table entries: 256 (order: 0, 6144 bytes) 273 [ 0.068000] NET: Registered protocol family 16 274 [ 0.080000] vgaarb: loaded 275 [ 0.084000] clocksource: Switched to clocksource riscv_clocksource 276 [ 0.088000] NET: Registered protocol family 2 277 [ 0.092000] TCP established hash table entries: 16384 (order: 5, 131072 bytes) 278 [ 0.096000] TCP bind hash table entries: 16384 (order: 5, 131072 bytes) 279 [ 0.096000] TCP: Hash tables configured (established 16384 bind 16384) 280 [ 0.100000] UDP hash table entries: 1024 (order: 3, 32768 bytes) 281 [ 0.100000] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes) 282 [ 0.104000] NET: Registered protocol family 1 283 [ 0.616000] Unpacking initramfs... 284 [ 1.220000] workingset: timestamp_bits=62 max_order=19 bucket_order=0 285 [ 1.244000] io scheduler noop registered 286 [ 1.244000] io scheduler cfq registered (default) 287 [ 1.244000] io scheduler mq-deadline registered 288 [ 1.248000] io scheduler kyber registered 289 [ 1.360000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled 290 [ 1.368000] console [ttyS0] disabled 291 [ 1.372000] f0300000.serial: ttyS0 at MMIO 0xf0300020 (irq = 10, base_baud = 1228800) is a 16550A 292 [ 1.392000] console [ttyS0] enabled 293 [ 1.392000] ftmac100: Loading version 0.2 ... 294 [ 1.396000] ftmac100 e0100000.mac eth0: irq 8, mapped at ffffffd002005000 295 [ 1.400000] ftmac100 e0100000.mac eth0: generated random MAC address 6e:ac:c3:92:36:c0 296 [ 1.404000] IR NEC protocol handler initialized 297 [ 1.404000] IR RC5(x/sz) protocol handler initialized 298 [ 1.404000] IR RC6 protocol handler initialized 299 [ 1.404000] IR JVC protocol handler initialized 300 [ 1.408000] IR Sony protocol handler initialized 301 [ 1.408000] IR SANYO protocol handler initialized 302 [ 1.408000] IR Sharp protocol handler initialized 303 [ 1.408000] IR MCE Keyboard/mouse protocol handler initialized 304 [ 1.412000] IR XMP protocol handler initialized 305 [ 1.456000] ftsdc010 f0e00000.mmc: mmc0 - using hw SDIO IRQ 306 [ 1.464000] bootconsole [early0] uses init memory and must be disabled even before the real one is ready 307 [ 1.464000] bootconsole [early0] disabled 308 [ 1.508000] Freeing unused kernel memory: 12076K 309 [ 1.512000] This architecture does not have kernel memory protection. 310 [ 1.520000] mmc0: new SD card at address 4567 311 [ 1.524000] mmcblk0: mmc0:4567 QEMU! 20.0 MiB 312 [ 1.844000] mmcblk0: 313 Wed Dec 1 10:00:00 CST 2010 314 / # 315 316 317Running U-Boot SPL 318------------------ 319The U-Boot SPL will boot in M mode and load the FIT image which include 320OpenSBI and U-Boot proper images. After loading progress, it will jump 321to OpenSBI first and then U-Boot proper which will run in S mode. 322 323 324How to build U-Boot SPL 325----------------------- 326Before building U-Boot SPL, OpenSBI must be build first. OpenSBI can be 327cloned and build for AE350 as below: 328 329.. code-block:: none 330 331 git clone https://github.com/riscv/opensbi.git 332 cd opensbi 333 make PLATFORM=andes/ae350 334 335Copy OpenSBI FW_DYNAMIC image (build/platform/andes/ae350/firmware/fw_dynamic.bin) 336into U-Boot root directory 337 338 339How to build U-Boot SPL booting from RAM 340---------------------------------------- 341With ae350_rv[32|64]_spl_defconfigs: 342 343U-Boot SPL will be loaded by gdb or FSBL and runs in RAM in machine mode 344and then load FIT image from RAM device on AE350. 345 346 347How to build U-Boot SPL booting from ROM 348---------------------------------------- 349With ae350_rv[32|64]_spl_xip_defconfigs: 350 351U-Boot SPL can be burned into SPI flash and run in flash in machine mode 352and then load FIT image from SPI flash or MMC device on AE350. 353 354 355Messages of U-Boot SPL boots Kernel on AE350 board 356-------------------------------------------------- 357 358.. code-block:: none 359 360 U-Boot SPL 2020.01-rc1-00292-g67a3313-dirty (Nov 14 2019 - 11:26:21 +0800) 361 Trying to boot from RAM 362 363 OpenSBI v0.5-1-gdd8ef28 (Nov 14 2019 11:08:39) 364 ____ _____ ____ _____ 365 / __ \ / ____| _ \_ _| 366 | | | |_ __ ___ _ __ | (___ | |_) || | 367 | | | | '_ \ / _ \ '_ \ \___ \| _ < | | 368 | |__| | |_) | __/ | | |____) | |_) || |_ 369 \____/| .__/ \___|_| |_|_____/|____/_____| 370 | | 371 |_| 372 373 Platform Name : Andes AE350 374 Platform HART Features : RV64ACIMSUX 375 Platform Max HARTs : 4 376 Current Hart : 0 377 Firmware Base : 0x0 378 Firmware Size : 84 KB 379 Runtime SBI Version : 0.2 380 381 PMP0: 0x0000000000000000-0x000000000001ffff (A) 382 PMP1: 0x0000000000000000-0x00000001ffffffff (A,R,W,X) 383 384 385 U-Boot 2020.01-rc1-00292-g67a3313-dirty (Nov 14 2019 - 11:26:21 +0800) 386 387 DRAM: 1 GiB 388 Flash: 64 MiB 389 MMC: mmc@f0e00000: 0 390 Loading Environment from SPI Flash... SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB 391 OK 392 In: serial@f0300000 393 Out: serial@f0300000 394 Err: serial@f0300000 395 Net: no alias for ethernet0 396 397 Warning: mac@e0100000 (eth0) using random MAC address - a2:ae:93:7b:cc:8f 398 eth0: mac@e0100000 399 Hit any key to stop autoboot: 0 400 6455 bytes read in 31 ms (203.1 KiB/s) 401 20421684 bytes read in 8647 ms (2.3 MiB/s) 402 ## Booting kernel from Legacy Image at 00600000 ... 403 Image Name: 404 Image Type: RISC-V Linux Kernel Image (uncompressed) 405 Data Size: 20421620 Bytes = 19.5 MiB 406 Load Address: 00200000 407 Entry Point: 00200000 408 Verifying Checksum ... OK 409 ## Flattened Device Tree blob at 20000000 410 Booting using the fdt blob at 0x20000000 411 Loading Kernel Image 412 Loading Device Tree to 000000001effb000, end 000000001efff936 ... OK 413 414 Starting kernel ... 415 416 OF: fdt: Ignoring memory range 0x0 - 0x200000 417 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 418 bootconsole [early0] enabled 419 Initial ramdisk at: 0x (ptrval) (13665712 bytes) 420 Zone ranges: 421 DMA32 [mem 0x0000000000200000-0x000000003fffffff] 422 Normal empty 423 Movable zone start for each node 424 Early memory node ranges 425 node 0: [mem 0x0000000000200000-0x000000003fffffff] 426 Initmem setup node 0 [mem 0x0000000000200000-0x000000003fffffff] 427 software IO TLB [mem 0x3b1f8000-0x3f1f8000] (64MB) mapped at [ (ptrval)- (ptrval)] 428 elf_platform is rv64i2p0m2p0a2p0c2p0xv5-0p0 429 compatible privileged spec version 1.10 430 percpu: Embedded 16 pages/cpu @ (ptrval) s28184 r8192 d29160 u65536 431 Built 1 zonelists, mobility grouping on. Total pages: 258055 432 Kernel command line: console=ttyS0,38400n8 debug loglevel=7 433 log_buf_len individual max cpu contribution: 4096 bytes 434 log_buf_len total cpu_extra contributions: 12288 bytes 435 log_buf_len min size: 16384 bytes 436 log_buf_len: 32768 bytes 437 early log buf free: 14608(89%) 438 Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) 439 Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) 440 Sorting __ex_table... 441 Memory: 944428K/1046528K available (3979K kernel code, 246K rwdata, 1490K rodata, 13523K init, 688K bss, 102100K reserved, 0K cma-reserved) 442 SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 443 Preemptible hierarchical RCU implementation. 444 Tasks RCU enabled. 445 NR_IRQS: 72, nr_irqs: 72, preallocated irqs: 0 446 riscv,cpu_intc,0: 64 local interrupts mapped 447 riscv,cpu_intc,1: 64 local interrupts mapped 448 riscv,cpu_intc,2: 64 local interrupts mapped 449 riscv,cpu_intc,3: 64 local interrupts mapped 450 riscv,plic0,e4000000: mapped 71 interrupts to 8/8 handlers 451 clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1bacf917bf, max_idle_ns: 881590412290 ns 452 sched_clock: 64 bits at 60MHz, resolution 16ns, wraps every 4398046511098ns 453 Console: colour dummy device 40x30 454 Calibrating delay loop (skipped), value calculated using timer frequency.. 120.00 BogoMIPS (lpj=600000) 455 pid_max: default: 32768 minimum: 301 456 Mount-cache hash table entries: 2048 (order: 2, 16384 bytes) 457 Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes) 458 Hierarchical SRCU implementation. 459 smp: Bringing up secondary CPUs ... 460 CPU0: online 461 CPU2: online 462 CPU3: online 463 smp: Brought up 1 node, 4 CPUs 464 devtmpfs: initialized 465 random: get_random_u32 called from bucket_table_alloc+0x198/0x1d8 with crng_init=0 466 clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns 467 futex hash table entries: 1024 (order: 4, 65536 bytes) 468 NET: Registered protocol family 16 469 Advanced Linux Sound Architecture Driver Initialized. 470 clocksource: Switched to clocksource riscv_clocksource 471 NET: Registered protocol family 2 472 tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes) 473 TCP established hash table entries: 8192 (order: 4, 65536 bytes) 474 TCP bind hash table entries: 8192 (order: 5, 131072 bytes) 475 TCP: Hash tables configured (established 8192 bind 8192) 476 UDP hash table entries: 512 (order: 2, 16384 bytes) 477 UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) 478 NET: Registered protocol family 1 479 RPC: Registered named UNIX socket transport module. 480 RPC: Registered udp transport module. 481 RPC: Registered tcp transport module. 482 RPC: Registered tcp NFSv4.1 backchannel transport module. 483 Unpacking initramfs... 484 workingset: timestamp_bits=62 max_order=18 bucket_order=0 485 NFS: Registering the id_resolver key type 486 Key type id_resolver registered 487 Key type id_legacy registered 488 nfs4filelayout_init: NFSv4 File Layout Driver Registering... 489 io scheduler noop registered 490 io scheduler cfq registered (default) 491 io scheduler mq-deadline registered 492 io scheduler kyber registered 493 Console: switching to colour frame buffer device 40x30 494 Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled 495 console [ttyS0] disabled 496 f0300000.serial: ttyS0 at MMIO 0xf0300020 (irq = 20, base_baud = 1228800) is a 16550A 497 console [ttyS0] enabled 498 console [ttyS0] enabled 499 bootconsole [early0] disabled 500 bootconsole [early0] disabled 501 loop: module loaded 502 tun: Universal TUN/TAP device driver, 1.6 503 ftmac100: Loading version 0.2 ... 504 ftmac100 e0100000.mac eth0: irq 21, mapped at (ptrval) 505 ftmac100 e0100000.mac eth0: generated random MAC address 4e:fd:bd:f3:04:fc 506 ftsdc010 f0e00000.mmc: mmc0 - using hw SDIO IRQ 507 mmc0: new SDHC card at address d555 508 ftssp010 card registered! 509 mmcblk0: mmc0:d555 SD04G 3.79 GiB 510 NET: Registered protocol family 10 511 mmcblk0: p1 512 Segment Routing with IPv6 513 sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver 514 NET: Registered protocol family 17 515 NET: Registered protocol family 15 516 ALSA device list: 517 #0: ftssp_ac97 controller 518 Freeing unused kernel memory: 13520K 519 This architecture does not have kernel memory protection. 520 Sysinit starting 521 Sat Apr 6 23:33:53 CST 2019 522 nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... 523 524 ~ # 525