Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 1 | .. SPDX-License-Identifier: GPL-2.0+ |
| 2 | |
| 3 | Microchip PolarFire SoC Icicle Kit |
| 4 | ================================== |
| 5 | |
| 6 | RISC-V PolarFire SoC |
| 7 | -------------------- |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 8 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 9 | The PolarFire SoC is the 4+1 64-bit RISC-V SoC from Microchip. |
| 10 | |
| 11 | The Icicle Kit development platform is based on PolarFire SoC and capable |
| 12 | of running Linux. |
| 13 | |
| 14 | Mainline support |
| 15 | ---------------- |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 16 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 17 | The support for following drivers are already enabled: |
| 18 | |
| 19 | 1. NS16550 UART Driver. |
| 20 | 2. Microchip Clock Driver. |
| 21 | 3. Cadence MACB ethernet driver for networking support. |
| 22 | 4. Cadence MMC Driver for eMMC/SD support. |
Padmarao Begari | ffb78a7 | 2021-11-17 18:21:19 +0530 | [diff] [blame] | 23 | 5. Microchip I2C Driver. |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 24 | |
| 25 | Booting from eMMC using HSS |
| 26 | --------------------------- |
| 27 | |
| 28 | Building U-Boot |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 29 | ~~~~~~~~~~~~~~~ |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 30 | |
| 31 | 1. Add the RISC-V toolchain to your PATH. |
| 32 | 2. Setup ARCH & cross compilation environment variable: |
| 33 | |
| 34 | .. code-block:: none |
| 35 | |
| 36 | export CROSS_COMPILE=<riscv64 toolchain prefix> |
| 37 | |
| 38 | 3. make microchip_mpfs_icicle_defconfig |
| 39 | 4. make |
| 40 | |
| 41 | Flashing |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 42 | ~~~~~~~~ |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 43 | |
| 44 | The current U-Boot port is supported in S-mode only and loaded from DRAM. |
| 45 | |
| 46 | A prior stage M-mode firmware/bootloader (e.g HSS with OpenSBI) is required to |
| 47 | boot the u-boot.bin in S-mode. |
| 48 | |
| 49 | Currently, the u-boot.bin is used as a payload of the HSS firmware (Microchip |
| 50 | boot-flow) and OpenSBI generic platform fw_payload.bin (with u-boot.bin embedded) |
| 51 | as HSS payload (Custom boot-flow) |
| 52 | |
| 53 | Microchip boot-flow |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 54 | ~~~~~~~~~~~~~~~~~~~ |
| 55 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 56 | HSS with OpenSBI (M-Mode) -> U-Boot (S-Mode) -> Linux (S-Mode) |
| 57 | |
| 58 | Build the HSS (Hart Software Services) - Microchip boot-flow |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 59 | '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' |
| 60 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 61 | (Note: HSS git repo is at https://github.com/polarfire-soc/hart-software-services) |
| 62 | |
| 63 | 1. Configure |
| 64 | |
| 65 | .. code-block:: none |
| 66 | |
| 67 | make BOARD=icicle-kit-es config |
| 68 | |
| 69 | Alternatively, copy the default config for Microchip boot-flow. |
| 70 | |
| 71 | .. code-block:: none |
| 72 | |
| 73 | cp boards/icicle-kit-es/def_config .config |
| 74 | |
| 75 | 2. make BOARD=icicle-kit-es |
| 76 | 3. In the Default subdirectory, the standard build will create hss.elf and |
| 77 | various binary formats (hss.hex and hss.bin). |
| 78 | |
| 79 | The FPGA design will use the hss.hex or hss.bin. |
| 80 | |
| 81 | FPGA design with HSS programming file |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 82 | ''''''''''''''''''''''''''''''''''''' |
| 83 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 84 | https://github.com/polarfire-soc/polarfire-soc-documentation/blob/master/boards/mpfs-icicle-kit-es/updating-icicle-kit/updating-icicle-kit-design-and-linux.md |
| 85 | |
| 86 | The HSS firmware runs from the PolarFire SoC eNVM on reset. |
| 87 | |
| 88 | Creating the HSS payload - Microchip boot-flow |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 89 | '''''''''''''''''''''''''''''''''''''''''''''' |
| 90 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 91 | 1. You will be creating a payload from `u-boot-dtb.bin`. |
| 92 | Copy this file to the HSS/tools/hss-payload-generator/test directory. |
| 93 | 2. Go to hss-payload-generator source directory. |
| 94 | |
| 95 | .. code-block:: none |
| 96 | |
| 97 | cd hart-software-services/tools/hss-payload-generator |
| 98 | |
| 99 | 3. Edit test/uboot.yaml file for hart entry points and correct name of the binary file. |
| 100 | |
| 101 | hart-entry-points: {u54_1: '0x80200000', u54_2: '0x80200000', u54_3: '0x80200000', u54_4: '0x80200000'} |
| 102 | |
| 103 | payloads: |
| 104 | test/u-boot-dtb.bin: {exec-addr: '0x80200000', owner-hart: u54_1, secondary-hart: u54_2, secondary-hart: u54_3, secondary-hart: u54_4, priv-mode: prv_s} |
| 105 | |
| 106 | 4. Generate payload |
| 107 | |
| 108 | .. code-block:: none |
| 109 | |
| 110 | ./hss-payload-generator -c test/uboot.yaml payload.bin |
| 111 | |
| 112 | Once the payload binary is generated, it should be copied to the eMMC. |
| 113 | |
| 114 | Please refer to HSS documenation to build the HSS firmware for payload. |
| 115 | (Note: HSS git repo is at https://github.com/polarfire-soc/hart-software-services/blob/master/tools/hss-payload-generator/README.md) |
| 116 | |
| 117 | Custom boot-flow |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 118 | ~~~~~~~~~~~~~~~~ |
| 119 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 120 | HSS without OpenSBI (M-Mode) -> OpenSBI (M-Mode) -> U-Boot (S-Mode) -> Linux (S-Mode) |
| 121 | |
| 122 | Build OpenSBI |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 123 | ''''''''''''' |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 124 | |
| 125 | 1. Get the OpenSBI source |
| 126 | |
| 127 | .. code-block:: none |
| 128 | |
| 129 | git clone https://github.com/riscv/opensbi.git |
| 130 | cd opensbi |
| 131 | |
| 132 | 2. Build |
| 133 | |
| 134 | .. code-block:: none |
| 135 | |
| 136 | make PLATFORM=generic FW_PAYLOAD_PATH=<u-boot-directory>/u-boot.bin |
Conor Dooley | 5566cf2 | 2023-06-15 11:12:42 +0100 | [diff] [blame] | 137 | FW_FDT_PATH=<u-boot-directory>/arch/riscv/dts/mpfs-icicle-kit-.dtb |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 138 | |
| 139 | 3. Output "fw_payload.bin" file available at |
| 140 | "<opensbi-directory>/build/platform/generic/firmware/fw_payload.bin" |
| 141 | |
| 142 | Build the HSS (Hart Software Services)- Custom boot-flow |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 143 | '''''''''''''''''''''''''''''''''''''''''''''''''''''''' |
| 144 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 145 | (Note: HSS git repo is at https://github.com/polarfire-soc/hart-software-services) |
| 146 | |
| 147 | 1. Configure |
| 148 | |
| 149 | .. code-block:: none |
| 150 | |
| 151 | make BOARD=icicle-kit-es config |
| 152 | |
| 153 | Alternatively, copy the default custom config for Custom boot-flow. |
| 154 | |
| 155 | .. code-block:: none |
| 156 | |
| 157 | cp boards/icicle-kit-es/def_config_custom .config |
| 158 | |
| 159 | 2. make BOARD=icicle-kit-es |
| 160 | 3. In the Default subdirectory, the standard build will create hss.elf and |
| 161 | various binary formats (hss.hex and hss.bin). |
| 162 | |
| 163 | The FPGA design will use the hss.hex or hss.bin. |
| 164 | |
| 165 | Creating the HSS payload - Custom boot-flow |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 166 | ''''''''''''''''''''''''''''''''''''''''''' |
| 167 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 168 | 1. You will be creating a payload from `fw_payload.bin`. |
| 169 | Copy this file to the HSS/tools/hss-payload-generator/test directory. |
| 170 | 2. Go to hss-payload-generator source directory. |
| 171 | |
| 172 | .. code-block:: none |
| 173 | |
| 174 | cd hart-software-services/tools/hss-payload-generator |
| 175 | |
| 176 | 3. Edit test/uboot.yaml file for hart entry points and correct name of the binary file. |
| 177 | |
| 178 | hart-entry-points: {u54_1: '0x80000000', u54_2: '0x80000000', u54_3: '0x80000000', u54_4: '0x80000000'} |
| 179 | |
| 180 | payloads: |
| 181 | test/fw_payload.bin: {exec-addr: '0x80000000', owner-hart: u54_1, secondary-hart: u54_2, secondary-hart: u54_3, secondary-hart: u54_4, priv-mode: prv_m} |
| 182 | |
| 183 | 4. Generate payload |
| 184 | |
| 185 | .. code-block:: none |
| 186 | |
| 187 | ./hss-payload-generator -c test/uboot.yaml payload.bin |
| 188 | |
| 189 | Once the payload binary is generated, it should be copied to the eMMC. |
| 190 | |
| 191 | Please refer to HSS documenation to build the HSS firmware for payload. |
| 192 | (Note: HSS git repo is at https://github.com/polarfire-soc/hart-software-services/blob/master/tools/hss-payload-generator/README.md |
| 193 | and also refer the HSS payload generator at https://github.com/polarfire-soc/polarfire-soc-documentation/blob/master/software-development/hss-payloads.md) |
| 194 | |
| 195 | eMMC |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 196 | ~~~~ |
| 197 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 198 | Program eMMC with payload binary is explained in the PolarFire SoC documentation. |
| 199 | (Note: PolarFire SoC Documentation git repo is at https://github.com/polarfire-soc/polarfire-soc-documentation/blob/master/boards/mpfs-icicle-kit-es/updating-icicle-kit/updating-icicle-kit-design-and-linux.md#eMMC) |
| 200 | |
| 201 | Once the payload image is copied to the eMMC, press CTRL+C in the HSS command |
| 202 | line interface, then type 'boot' and enter to boot the newly copied image. |
| 203 | |
| 204 | .. code-block:: none |
| 205 | |
| 206 | sudo dd if=<payload_binary> of=/dev/sdX bs=512 |
| 207 | |
| 208 | GUID type |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 209 | ~~~~~~~~~ |
| 210 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 211 | The HSS always picks up HSS payload from a GPT partition with |
Heinrich Schuchardt | 7fb73cd | 2022-11-30 17:58:56 +0100 | [diff] [blame] | 212 | GUID type "21686148-6449-6E6F-744E-656564454649" or sector '0' of the eMMC if no |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 213 | GPT partition. |
| 214 | |
| 215 | Booting |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 216 | ~~~~~~~ |
| 217 | |
Padmarao Begari | ffb78a7 | 2021-11-17 18:21:19 +0530 | [diff] [blame] | 218 | You should see the U-Boot prompt on UART1. |
| 219 | (Note: UART0 is reserved for HSS) |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 220 | |
| 221 | Sample boot log from MPFS Icicle Kit |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 222 | '''''''''''''''''''''''''''''''''''' |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 223 | |
| 224 | .. code-block:: none |
| 225 | |
| 226 | U-Boot 2021.01-00314-g7303332537-dirty (Jan 14 2021 - 10:09:43 +0530) |
| 227 | |
| 228 | CPU: rv64imafdc |
| 229 | Model: Microchip MPFS Icicle Kit |
| 230 | DRAM: 1 GiB |
| 231 | MMC: sdhc@20008000: 0 |
| 232 | In: serial@20100000 |
| 233 | Out: serial@20100000 |
| 234 | Err: serial@20100000 |
| 235 | Net: eth0: ethernet@20112000 |
| 236 | Hit any key to stop autoboot: 0 |
| 237 | |
| 238 | Now you can configure your networking, tftp server and use tftp boot method to |
| 239 | load uImage (with initramfs). |
| 240 | |
| 241 | .. code-block:: none |
| 242 | |
| 243 | RISC-V # setenv kernel_addr_r 0x80200000 |
| 244 | RISC-V # setenv fdt_addr_r 0x82200000 |
| 245 | |
| 246 | RISC-V # setenv ipaddr 192.168.1.5 |
| 247 | RISC-V # setenv netmask 255.255.255.0 |
| 248 | RISC-V # setenv serverip 192.168.1.3 |
| 249 | RISC-V # setenv gateway 192.168.1.1 |
| 250 | |
| 251 | RISC-V # tftpboot ${kernel_addr_r} uImage |
| 252 | ethernet@20112000: PHY present at 9 |
| 253 | ethernet@20112000: Starting autonegotiation... |
| 254 | ethernet@20112000: Autonegotiation complete |
| 255 | ethernet@20112000: link up, 1000Mbps full-duplex (lpa: 0x7800) |
| 256 | Using ethernet@20112000 device |
| 257 | TFTP from server 192.168.1.3; our IP address is 192.168.1.5 |
| 258 | Filename 'uImage'. |
| 259 | Load address: 0x80200000 |
| 260 | Loading: ################################################################# |
| 261 | ################################################################# |
| 262 | ################################################################# |
| 263 | ################################################################# |
| 264 | ################################################################# |
| 265 | ################################################################# |
| 266 | ################################################################# |
| 267 | ################################################################# |
| 268 | ################################################################# |
| 269 | ################################################################# |
| 270 | ################################################################# |
| 271 | ################################################################# |
| 272 | ################################################################# |
| 273 | ################################################################# |
| 274 | ################################################################# |
| 275 | ############ |
| 276 | 6.4 MiB/s |
| 277 | done |
| 278 | Bytes transferred = 14482480 (dcfc30 hex) |
| 279 | |
Conor Dooley | 5566cf2 | 2023-06-15 11:12:42 +0100 | [diff] [blame] | 280 | RISC-V # tftpboot ${fdt_addr_r} mpfs-icicle-kit.dtb |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 281 | ethernet@20112000: PHY present at 9 |
| 282 | ethernet@20112000: Starting autonegotiation... |
| 283 | ethernet@20112000: Autonegotiation complete |
| 284 | ethernet@20112000: link up, 1000Mbps full-duplex (lpa: 0x7800) |
| 285 | Using ethernet@20112000 device |
| 286 | TFTP from server 192.168.1.3; our IP address is 192.168.1.5 |
Conor Dooley | 5566cf2 | 2023-06-15 11:12:42 +0100 | [diff] [blame] | 287 | Filename 'mpfs-icicle-kit.dtb'. |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 288 | Load address: 0x82200000 |
| 289 | Loading: # |
| 290 | 2.5 MiB/s |
| 291 | done |
| 292 | Bytes transferred = 10282 (282a hex) |
| 293 | |
| 294 | RISC-V # bootm ${kernel_addr_r} - ${fdt_addr_r} |
| 295 | ## Booting kernel from Legacy Image at 80200000 ... |
| 296 | Image Name: Linux |
| 297 | Image Type: RISC-V Linux Kernel Image (uncompressed) |
| 298 | Data Size: 14482416 Bytes = 13.8 MiB |
| 299 | Load Address: 80200000 |
| 300 | Entry Point: 80200000 |
| 301 | Verifying Checksum ... OK |
| 302 | ## Flattened Device Tree blob at 82200000 |
| 303 | Booting using the fdt blob at 0x82200000 |
| 304 | Loading Kernel Image |
| 305 | Using Device Tree in place at 000000008fffa000, end 000000008ffff829 ... OK |
| 306 | |
| 307 | Starting kernel ... |
| 308 | |
| 309 | [ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000 |
| 310 | [ 0.000000] Linux version 5.6.17 (padmarao@padmarao-VirtualBox) (gcc version 7.2.0 (GCC)) #2 SMP Tue Jun 16 21:27:50 IST 2020 |
| 311 | [ 0.000000] initrd not found or empty - disabling initrd |
| 312 | [ 0.000000] Zone ranges: |
| 313 | [ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000bfffffff] |
| 314 | [ 0.000000] Normal empty |
| 315 | [ 0.000000] Movable zone start for each node |
| 316 | [ 0.000000] Early memory node ranges |
| 317 | [ 0.000000] node 0: [mem 0x0000000080200000-0x00000000bfffffff] |
| 318 | [ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000bfffffff] |
| 319 | [ 0.000000] software IO TLB: mapped [mem 0xbb1f5000-0xbf1f5000] (64MB) |
| 320 | [ 0.000000] elf_hwcap is 0x112d |
| 321 | [ 0.000000] percpu: Embedded 14 pages/cpu s24856 r0 d32488 u57344 |
| 322 | [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 258055 |
| 323 | [ 0.000000] Kernel command line: console=ttyS0,115200n8 |
| 324 | [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) |
| 325 | [ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear) |
| 326 | [ 0.000000] Sorting __ex_table... |
| 327 | [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off |
| 328 | [ 0.000000] Memory: 950308K/1046528K available (3289K kernel code, 212K rwdata, 900K rodata, 9476K init, 250K bss, 96220K reserved, 0K cma-reserved) |
| 329 | [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 |
| 330 | [ 0.000000] rcu: Hierarchical RCU implementation. |
| 331 | [ 0.000000] rcu: RCU event tracing is enabled. |
| 332 | [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4. |
| 333 | [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. |
| 334 | [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 |
| 335 | [ 0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0 |
| 336 | [ 0.000000] plic: mapped 186 interrupts with 4 handlers for 9 contexts. |
| 337 | [ 0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [1] |
| 338 | [ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns |
| 339 | [ 0.000015] sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns |
| 340 | [ 0.000311] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000) |
| 341 | [ 0.000349] pid_max: default: 32768 minimum: 301 |
| 342 | [ 0.000846] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) |
| 343 | [ 0.000964] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) |
| 344 | [ 0.005630] rcu: Hierarchical SRCU implementation. |
| 345 | [ 0.006901] smp: Bringing up secondary CPUs ... |
| 346 | [ 0.012545] smp: Brought up 1 node, 4 CPUs |
| 347 | [ 0.014431] devtmpfs: initialized |
| 348 | [ 0.020526] random: get_random_bytes called from setup_net+0x36/0x192 with crng_init=0 |
| 349 | [ 0.020928] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns |
| 350 | [ 0.020999] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) |
| 351 | [ 0.022768] NET: Registered protocol family 16 |
| 352 | [ 0.035478] microchip-pfsoc-clkcfg 20002000.clkcfg: Registered PFSOC core clocks |
| 353 | [ 0.048429] SCSI subsystem initialized |
| 354 | [ 0.049694] pps_core: LinuxPPS API ver. 1 registered |
| 355 | [ 0.049719] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> |
| 356 | [ 0.049780] PTP clock support registered |
| 357 | [ 0.051781] clocksource: Switched to clocksource riscv_clocksource |
| 358 | [ 0.055326] NET: Registered protocol family 2 |
| 359 | [ 0.056922] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear) |
| 360 | [ 0.057053] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear) |
| 361 | [ 0.057648] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear) |
| 362 | [ 0.058579] TCP: Hash tables configured (established 8192 bind 8192) |
| 363 | [ 0.059648] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) |
| 364 | [ 0.059837] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) |
| 365 | [ 0.060707] NET: Registered protocol family 1 |
| 366 | [ 0.266229] workingset: timestamp_bits=62 max_order=18 bucket_order=0 |
| 367 | [ 0.287107] io scheduler mq-deadline registered |
| 368 | [ 0.287140] io scheduler kyber registered |
| 369 | [ 0.429601] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled |
| 370 | [ 0.433979] printk: console [ttyS0] disabled |
| 371 | [ 0.434154] 20000000.serial: ttyS0 at MMIO 0x20000000 (irq = 18, base_baud = 9375000) is a 16550A |
| 372 | [ 0.928039] printk: console [ttyS0] enabled |
| 373 | [ 0.939804] libphy: Fixed MDIO Bus: probed |
| 374 | [ 0.948702] libphy: MACB_mii_bus: probed |
| 375 | [ 0.993698] macb 20112000.ethernet eth0: Cadence GEM rev 0x0107010c at 0x20112000 irq 21 (56:34:12:00:fc:00) |
| 376 | [ 1.006751] mousedev: PS/2 mouse device common for all mice |
| 377 | [ 1.013803] i2c /dev entries driver |
| 378 | [ 1.019451] sdhci: Secure Digital Host Controller Interface driver |
| 379 | [ 1.027242] sdhci: Copyright(c) Pierre Ossman |
| 380 | [ 1.032731] sdhci-pltfm: SDHCI platform and OF driver helper |
| 381 | [ 1.091826] mmc0: SDHCI controller on 20008000.sdhc [20008000.sdhc] using ADMA 64-bit |
| 382 | [ 1.102738] NET: Registered protocol family 17 |
| 383 | [ 1.170326] Freeing unused kernel memory: 9476K |
| 384 | [ 1.176067] This architecture does not have kernel memory protection. |
| 385 | [ 1.184157] Run /init as init process |
| 386 | Starting logging: OK |
| 387 | Starting mdev... |
| 388 | /etc/init.d/S10mdev: line 21: can't create /proc/sys/kernel/hotplug: nonexiste[ 1.331981] mmc0: mmc_select_hs200 failed, error -74 |
| 389 | nt directory |
| 390 | [ 1.355011] mmc0: new MMC card at address 0001 |
| 391 | [ 1.363981] mmcblk0: mmc0:0001 DG4008 7.28 GiB |
| 392 | [ 1.372248] mmcblk0boot0: mmc0:0001 DG4008 partition 1 4.00 MiB |
| 393 | [ 1.382292] mmcblk0boot1: mmc0:0001 DG4008 partition 2 4.00 MiB |
| 394 | [ 1.390265] mmcblk0rpmb: mmc0:0001 DG4008 partition 3 4.00 MiB, chardev (251:0) |
| 395 | [ 1.425234] GPT:Primary header thinks Alt. header is not at the end of the disk. |
| 396 | [ 1.434656] GPT:2255809 != 15273599 |
| 397 | [ 1.439038] GPT:Alternate GPT header not at the end of the disk. |
| 398 | [ 1.446671] GPT:2255809 != 15273599 |
| 399 | [ 1.451048] GPT: Use GNU Parted to correct GPT errors. |
| 400 | [ 1.457755] mmcblk0: p1 p2 p3 |
| 401 | sort: /sys/devices/platform/Fixed: No such file or directory |
| 402 | modprobe: can't change directory to '/lib/modules': No such file or directory |
| 403 | Initializing random number generator... [ 2.830198] random: dd: uninitialized urandom read (512 bytes read) |
| 404 | done. |
| 405 | Starting network... |
| 406 | [ 3.061867] macb 20112000.ethernet eth0: PHY [20112000.ethernet-ffffffff:09] driver [Vitesse VSC8662] (irq=POLL) |
| 407 | [ 3.074674] macb 20112000.ethernet eth0: configuring for phy/sgmii link mode |
| 408 | [ 3.084263] pps pps0: new PPS source ptp0 |
| 409 | [ 3.089710] macb 20112000.ethernet: gem-ptp-timer ptp clock registered. |
| 410 | udhcpc (v1.24.2) started |
| 411 | Sending discover... |
| 412 | Sending discover... |
| 413 | [ 6.380169] macb 20112000.ethernet eth0: Link is Up - 1Gbps/Full - flow control tx |
| 414 | Sending discover... |
| 415 | Sending select for 192.168.1.2... |
| 416 | Lease of 192.168.1.2 obtained, lease time 86400 |
| 417 | deleting routers |
| 418 | adding dns 192.168.1.1 |
| 419 | Starting dropbear sshd: [ 11.385619] random: dropbear: uninitialized urandom read (32 bytes read) |
| 420 | OK |
| 421 | |
| 422 | Welcome to Buildroot |
| 423 | buildroot login: root |
| 424 | Password: |
| 425 | # |
| 426 | |
| 427 | Booting U-Boot and Linux from eMMC |
| 428 | ---------------------------------- |
| 429 | |
| 430 | FPGA design with HSS programming file and Linux Image |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 431 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 432 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 433 | https://github.com/polarfire-soc/polarfire-soc-documentation/blob/master/boards/mpfs-icicle-kit-es/updating-icicle-kit/updating-icicle-kit-design-and-linux.md |
| 434 | |
| 435 | The HSS firmware runs from the PolarFire SoC eNVM on reset. |
| 436 | |
| 437 | eMMC |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 438 | ~~~~ |
| 439 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 440 | Program eMMC with payload binary and Linux image is explained in the |
| 441 | PolarFire SoC documentation. |
| 442 | The payload binary should be copied to partition 2 of the eMMC. |
| 443 | |
| 444 | (Note: PolarFire SoC Documentation git repo is at https://github.com/polarfire-soc/polarfire-soc-documentation/blob/master/boards/mpfs-icicle-kit-es/updating-icicle-kit/updating-icicle-kit-design-and-linux.md#eMMC) |
| 445 | |
| 446 | Once the Linux image and payload binary is copied to the eMMC, press CTRL+C |
| 447 | in the HSS command line interface, then type 'boot' and enter to boot the newly |
| 448 | copied payload and Linux image. |
| 449 | |
| 450 | .. code-block:: none |
| 451 | |
| 452 | zcat <linux-image>.wic.gz | sudo dd of=/dev/sdX bs=4096 iflag=fullblock oflag=direct conv=fsync status=progress |
| 453 | |
| 454 | sudo dd if=<payload_binary> of=/dev/sdX2 bs=512 |
| 455 | |
Padmarao Begari | ffb78a7 | 2021-11-17 18:21:19 +0530 | [diff] [blame] | 456 | You should see the U-Boot prompt on UART1. |
| 457 | (Note: UART0 is reserved for HSS) |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 458 | |
| 459 | GUID type |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 460 | ~~~~~~~~~ |
| 461 | |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 462 | The HSS always picks up the HSS payload from a GPT partition with |
Heinrich Schuchardt | 7fb73cd | 2022-11-30 17:58:56 +0100 | [diff] [blame] | 463 | GUID type "21686148-6449-6E6F-744E-656564454649" or sector '0' of the eMMC if no |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 464 | GPT partition. |
| 465 | |
| 466 | Sample boot log from MPFS Icicle Kit |
Heinrich Schuchardt | c7d2b2c | 2021-01-25 20:11:54 +0100 | [diff] [blame] | 467 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Padmarao Begari | 9e550e1 | 2021-01-15 08:20:41 +0530 | [diff] [blame] | 468 | |
| 469 | .. code-block:: none |
| 470 | |
| 471 | U-Boot 2021.01-00314-g7303332537-dirty (Jan 14 2021 - 10:09:43 +0530) |
| 472 | |
| 473 | CPU: rv64imafdc |
| 474 | Model: Microchip MPFS Icicle Kit |
| 475 | DRAM: 1 GiB |
| 476 | MMC: sdhc@20008000: 0 |
| 477 | In: serial@20100000 |
| 478 | Out: serial@20100000 |
| 479 | Err: serial@20100000 |
| 480 | Net: eth0: ethernet@20112000 |
| 481 | Hit any key to stop autoboot: 0 |
| 482 | |
| 483 | RISC-V # mmc info |
| 484 | Device: sdhc@20008000 |
| 485 | Manufacturer ID: 45 |
| 486 | OEM: 100 |
| 487 | Name: DG400 |
| 488 | Bus Speed: 52000000 |
| 489 | Mode: MMC High Speed (52MHz) |
| 490 | Rd Block Len: 512 |
| 491 | MMC version 5.1 |
| 492 | High Capacity: Yes |
| 493 | Capacity: 7.3 GiB |
| 494 | Bus Width: 4-bit |
| 495 | Erase Group Size: 512 KiB |
| 496 | HC WP Group Size: 8 MiB |
| 497 | User Capacity: 7.3 GiB WRREL |
| 498 | Boot Capacity: 4 MiB ENH |
| 499 | RPMB Capacity: 4 MiB ENH |
| 500 | |
| 501 | RISC-V # mmc part |
| 502 | Partition Map for MMC device 0 -- Partition Type: EFI |
| 503 | |
| 504 | Part Start LBA End LBA Name |
| 505 | Attributes |
| 506 | Type GUID |
| 507 | Partition GUID |
| 508 | 1 0x00002000 0x0000b031 "boot" |
| 509 | attrs: 0x0000000000000004 |
| 510 | type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 |
| 511 | guid: 99ff6a94-f2e7-44dd-a7df-f3a2da106ef9 |
| 512 | 2 0x0000b032 0x0000f031 "primary" |
| 513 | attrs: 0x0000000000000000 |
| 514 | type: 21686148-6449-6e6f-744e-656564454649 |
| 515 | guid: 12006052-e64b-4423-beb0-b956ea00f1ba |
| 516 | 3 0x00010000 0x00226b9f "root" |
| 517 | attrs: 0x0000000000000000 |
| 518 | type: 0fc63daf-8483-4772-8e79-3d69d8477de4 |
| 519 | guid: dd2c5619-2272-4c3c-8dc2-e21942e17ce6 |
| 520 | |
| 521 | RISC-V # load mmc 0 ${ramdisk_addr_r} fitimage |
| 522 | RISC-V # bootm ${ramdisk_addr_r} |
| 523 | ## Loading kernel from FIT Image at 88300000 ... |
| 524 | Using 'conf@microchip_icicle-kit-es-a000-microchip.dtb' configuration |
| 525 | Trying 'kernel@1' kernel subimage |
| 526 | Description: Linux kernel |
| 527 | Type: Kernel Image |
| 528 | Compression: gzip compressed |
| 529 | Data Start: 0x883000fc |
| 530 | Data Size: 3574555 Bytes = 3.4 MiB |
| 531 | Architecture: RISC-V |
| 532 | OS: Linux |
| 533 | Load Address: 0x80200000 |
| 534 | Entry Point: 0x80200000 |
| 535 | Hash algo: sha256 |
| 536 | Hash value: 21f18d72cf2f0a7192220abb577ad25c77c26960052d779aa02bf55dbf0a6403 |
| 537 | Verifying Hash Integrity ... sha256+ OK |
| 538 | ## Loading fdt from FIT Image at 88300000 ... |
| 539 | Using 'conf@microchip_icicle-kit-es-a000-microchip.dtb' configuration |
| 540 | Trying 'fdt@microchip_icicle-kit-es-a000-microchip.dtb' fdt subimage |
| 541 | Description: Flattened Device Tree blob |
| 542 | Type: Flat Device Tree |
| 543 | Compression: uncompressed |
| 544 | Data Start: 0x88668d44 |
| 545 | Data Size: 9760 Bytes = 9.5 KiB |
| 546 | Architecture: RISC-V |
| 547 | Load Address: 0x82200000 |
| 548 | Hash algo: sha256 |
| 549 | Hash value: 5c3a9f30d41b6b8e53b47916e1f339b3a4d454006554d1f7e1f552ed62409f4b |
| 550 | Verifying Hash Integrity ... sha256+ OK |
| 551 | Loading fdt from 0x88668d48 to 0x82200000 |
| 552 | Booting using the fdt blob at 0x82200000 |
| 553 | Uncompressing Kernel Image |
| 554 | Loading Device Tree to 000000008fffa000, end 000000008ffff61f ... OK |
| 555 | |
| 556 | Starting kernel ... |
| 557 | |
| 558 | [ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000 |
| 559 | [ 0.000000] Linux version 5.6.16 (oe-user@oe-host) (gcc version 9.3.0 (GCC)) #1 SMP Fri Oct 9 11:49:47 UTC 2020 |
| 560 | [ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '') |
| 561 | [ 0.000000] printk: bootconsole [sbi0] enabled |
| 562 | [ 0.000000] Zone ranges: |
| 563 | [ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000bfffffff] |
| 564 | [ 0.000000] Normal empty |
| 565 | [ 0.000000] Movable zone start for each node |
| 566 | [ 0.000000] Early memory node ranges |
| 567 | [ 0.000000] node 0: [mem 0x0000000080200000-0x00000000bfffffff] |
| 568 | [ 0.000000] Zeroed struct page in unavailable ranges: 512 pages |
| 569 | [ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000bfffffff] |
| 570 | [ 0.000000] software IO TLB: mapped [mem 0xb9e00000-0xbde00000] (64MB) |
| 571 | [ 0.000000] CPU with hartid=0 is not available |
| 572 | [ 0.000000] CPU with hartid=0 is not available |
| 573 | [ 0.000000] elf_hwcap is 0x112d |
| 574 | [ 0.000000] percpu: Embedded 17 pages/cpu s29784 r8192 d31656 u69632 |
| 575 | [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 258055 |
| 576 | [ 0.000000] Kernel command line: earlycon=sbi root=/dev/mmcblk0p3 rootwait console=ttyS0,115200n8 uio_pdrv_genirq.of_id=generic-uio |
| 577 | [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) |
| 578 | [ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear) |
| 579 | [ 0.000000] Sorting __ex_table... |
| 580 | [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off |
| 581 | [ 0.000000] Memory: 941440K/1046528K available (4118K kernel code, 280K rwdata, 1687K rodata, 169K init, 273K bss, 105088K reserved, 0K cma-reserved) |
| 582 | [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 |
| 583 | [ 0.000000] rcu: Hierarchical RCU implementation. |
| 584 | [ 0.000000] rcu: RCU event tracing is enabled. |
| 585 | [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=5 to nr_cpu_ids=4. |
| 586 | [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. |
| 587 | [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 |
| 588 | [ 0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0 |
| 589 | [ 0.000000] plic: mapped 53 interrupts with 4 handlers for 9 contexts. |
| 590 | [ 0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [1] |
| 591 | [ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns |
| 592 | [ 0.000015] sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns |
| 593 | [ 0.008679] Console: colour dummy device 80x25 |
| 594 | [ 0.013112] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000) |
| 595 | [ 0.023368] pid_max: default: 32768 minimum: 301 |
| 596 | [ 0.028314] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) |
| 597 | [ 0.035766] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) |
| 598 | [ 0.047099] rcu: Hierarchical SRCU implementation. |
| 599 | [ 0.052813] smp: Bringing up secondary CPUs ... |
| 600 | [ 0.061581] smp: Brought up 1 node, 4 CPUs |
| 601 | [ 0.067069] devtmpfs: initialized |
| 602 | [ 0.073621] random: get_random_u32 called from bucket_table_alloc.isra.0+0x4e/0x150 with crng_init=0 |
| 603 | [ 0.074409] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns |
| 604 | [ 0.093399] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) |
| 605 | [ 0.101879] NET: Registered protocol family 16 |
| 606 | [ 0.110336] microchip-pfsoc-clkcfg 20002000.clkcfg: Registered PFSOC core clocks |
| 607 | [ 0.132717] usbcore: registered new interface driver usbfs |
| 608 | [ 0.138225] usbcore: registered new interface driver hub |
| 609 | [ 0.143813] usbcore: registered new device driver usb |
| 610 | [ 0.148939] pps_core: LinuxPPS API ver. 1 registered |
| 611 | [ 0.153929] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> |
| 612 | [ 0.163071] PTP clock support registered |
| 613 | [ 0.168521] clocksource: Switched to clocksource riscv_clocksource |
| 614 | [ 0.174927] VFS: Disk quotas dquot_6.6.0 |
| 615 | [ 0.179016] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) |
| 616 | [ 0.205536] NET: Registered protocol family 2 |
| 617 | [ 0.210944] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear) |
| 618 | [ 0.219393] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear) |
| 619 | [ 0.227497] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear) |
| 620 | [ 0.235440] TCP: Hash tables configured (established 8192 bind 8192) |
| 621 | [ 0.242537] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) |
| 622 | [ 0.249285] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) |
| 623 | [ 0.256690] NET: Registered protocol family 1 |
| 624 | [ 0.262585] workingset: timestamp_bits=62 max_order=18 bucket_order=0 |
| 625 | [ 0.281036] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249) |
| 626 | [ 0.288481] io scheduler mq-deadline registered |
| 627 | [ 0.292983] io scheduler kyber registered |
| 628 | [ 0.298895] microsemi,mss-gpio 20122000.gpio: Microsemi MSS GPIO registered 32 GPIOs |
| 629 | [ 0.453723] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled |
| 630 | [ 0.462911] printk: console [ttyS0] disabled |
| 631 | [ 0.467216] 20100000.serial: ttyS0 at MMIO 0x20100000 (irq = 12, base_baud = 9375000) is a 16550A |
| 632 | [ 0.476201] printk: console [ttyS0] enabled |
| 633 | [ 0.476201] printk: console [ttyS0] enabled |
| 634 | [ 0.484576] printk: bootconsole [sbi0] disabled |
| 635 | [ 0.484576] printk: bootconsole [sbi0] disabled |
| 636 | [ 0.494920] 20102000.serial: ttyS1 at MMIO 0x20102000 (irq = 13, base_baud = 9375000) is a 16550A |
| 637 | [ 0.505068] 20104000.serial: ttyS2 at MMIO 0x20104000 (irq = 14, base_baud = 9375000) is a 16550A |
| 638 | [ 0.533336] loop: module loaded |
| 639 | [ 0.572284] Rounding down aligned max_sectors from 4294967295 to 4294967288 |
| 640 | [ 0.580000] db_root: cannot open: /etc/target |
| 641 | [ 0.585413] libphy: Fixed MDIO Bus: probed |
| 642 | [ 0.591526] libphy: MACB_mii_bus: probed |
| 643 | [ 0.598060] macb 20112000.ethernet eth0: Cadence GEM rev 0x0107010c at 0x20112000 irq 17 (56:34:12:00:fc:00) |
| 644 | [ 0.608352] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver |
| 645 | [ 0.615001] ehci-platform: EHCI generic platform driver |
| 646 | [ 0.620446] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver |
| 647 | [ 0.626632] ohci-platform: OHCI generic platform driver |
| 648 | [ 0.632326] usbcore: registered new interface driver cdc_acm |
| 649 | [ 0.637996] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters |
| 650 | [ 0.646459] i2c /dev entries driver |
| 651 | [ 0.650852] microsemi-mss-i2c 2010b000.i2c: Microsemi I2C Probe Complete |
| 652 | [ 0.658010] sdhci: Secure Digital Host Controller Interface driver |
| 653 | [ 0.664326] sdhci: Copyright(c) Pierre Ossman |
| 654 | [ 0.668754] sdhci-pltfm: SDHCI platform and OF driver helper |
| 655 | [ 0.706845] mmc0: SDHCI controller on 20008000.sdhc [20008000.sdhc] using ADMA 64-bit |
| 656 | [ 0.715052] usbcore: registered new interface driver usbhid |
| 657 | [ 0.720722] usbhid: USB HID core driver |
| 658 | [ 0.725174] pac193x 0-0010: Chip revision: 0x03 |
| 659 | [ 0.733339] pac193x 0-0010: :pac193x_prep_iio_channels: Channel 0 active |
| 660 | [ 0.740127] pac193x 0-0010: :pac193x_prep_iio_channels: Channel 1 active |
| 661 | [ 0.746881] pac193x 0-0010: :pac193x_prep_iio_channels: Channel 2 active |
| 662 | [ 0.753686] pac193x 0-0010: :pac193x_prep_iio_channels: Channel 3 active |
| 663 | [ 0.760495] pac193x 0-0010: :pac193x_prep_iio_channels: Active chip channels: 25 |
| 664 | [ 0.778006] NET: Registered protocol family 10 |
| 665 | [ 0.784929] Segment Routing with IPv6 |
| 666 | [ 0.788875] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver |
| 667 | [ 0.795743] NET: Registered protocol family 17 |
| 668 | [ 0.801191] hctosys: unable to open rtc device (rtc0) |
| 669 | [ 0.807774] Waiting for root device /dev/mmcblk0p3... |
| 670 | [ 0.858506] mmc0: mmc_select_hs200 failed, error -74 |
| 671 | [ 0.865764] mmc0: new MMC card at address 0001 |
| 672 | [ 0.872564] mmcblk0: mmc0:0001 DG4008 7.28 GiB |
| 673 | [ 0.878777] mmcblk0boot0: mmc0:0001 DG4008 partition 1 4.00 MiB |
| 674 | [ 0.886182] mmcblk0boot1: mmc0:0001 DG4008 partition 2 4.00 MiB |
| 675 | [ 0.892633] mmcblk0rpmb: mmc0:0001 DG4008 partition 3 4.00 MiB, chardev (247:0) |
| 676 | [ 0.919029] GPT:Primary header thinks Alt. header is not at the end of the disk. |
| 677 | [ 0.926448] GPT:2255841 != 15273599 |
| 678 | [ 0.930019] GPT:Alternate GPT header not at the end of the disk. |
| 679 | [ 0.936029] GPT:2255841 != 15273599 |
| 680 | [ 0.939583] GPT: Use GNU Parted to correct GPT errors. |
| 681 | [ 0.944800] mmcblk0: p1 p2 p3 |
| 682 | [ 0.966696] EXT4-fs (mmcblk0p3): INFO: recovery required on readonly filesystem |
| 683 | [ 0.974105] EXT4-fs (mmcblk0p3): write access will be enabled during recovery |
| 684 | [ 1.052362] random: fast init done |
| 685 | [ 1.057961] EXT4-fs (mmcblk0p3): recovery complete |
| 686 | [ 1.065734] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null) |
| 687 | [ 1.074002] VFS: Mounted root (ext4 filesystem) readonly on device 179:3. |
| 688 | [ 1.081654] Freeing unused kernel memory: 168K |
| 689 | [ 1.086108] This architecture does not have kernel memory protection. |
| 690 | [ 1.092629] Run /sbin/init as init process |
| 691 | [ 1.702217] systemd[1]: System time before build time, advancing clock. |
| 692 | [ 1.754192] systemd[1]: systemd 244.3+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid) |
| 693 | [ 1.776361] systemd[1]: Detected architecture riscv64. |
| 694 | |
| 695 | Welcome to OpenEmbedded nodistro.0! |
| 696 | |
| 697 | [ 1.829651] systemd[1]: Set hostname to <icicle-kit-es>. |
| 698 | [ 2.648597] random: systemd: uninitialized urandom read (16 bytes read) |
| 699 | [ 2.657485] systemd[1]: Created slice system-getty.slice. |
| 700 | [ OK ] Created slice system-getty.slice. |
| 701 | [ 2.698779] random: systemd: uninitialized urandom read (16 bytes read) |
| 702 | [ 2.706317] systemd[1]: Created slice system-serial\x2dgetty.slice. |
| 703 | [ OK ] Created slice system-serial\x2dgetty.slice. |
| 704 | [ 2.748716] random: systemd: uninitialized urandom read (16 bytes read) |
| 705 | [ 2.756098] systemd[1]: Created slice User and Session Slice. |
| 706 | [ OK ] Created slice User and Session Slice. |
| 707 | [ 2.789065] systemd[1]: Started Dispatch Password Requests to Console Directory Watch. |
| 708 | [ OK ] Started Dispatch Password …ts to Console Directory Watch. |
| 709 | [ 2.828974] systemd[1]: Started Forward Password Requests to Wall Directory Watch. |
| 710 | [ OK ] Started Forward Password R…uests to Wall Directory Watch. |
| 711 | [ 2.869009] systemd[1]: Reached target Paths. |
| 712 | [ OK ] Reached target Paths. |
| 713 | [ 2.898808] systemd[1]: Reached target Remote File Systems. |
| 714 | [ OK ] Reached target Remote File Systems. |
| 715 | [ 2.938771] systemd[1]: Reached target Slices. |
| 716 | [ OK ] Reached target Slices. |
| 717 | [ 2.968754] systemd[1]: Reached target Swap. |
| 718 | [ OK ] Reached target Swap. |
| 719 | [ 2.999283] systemd[1]: Listening on initctl Compatibility Named Pipe. |
| 720 | [ OK ] Listening on initctl Compatibility Named Pipe. |
| 721 | [ 3.060458] systemd[1]: Condition check resulted in Journal Audit Socket being skipped. |
| 722 | [ 3.069826] systemd[1]: Listening on Journal Socket (/dev/log). |
| 723 | [ OK ] Listening on Journal Socket (/dev/log). |
| 724 | [ 3.109601] systemd[1]: Listening on Journal Socket. |
| 725 | [ OK ] Listening on Journal Socket. |
| 726 | [ 3.149868] systemd[1]: Listening on Network Service Netlink Socket. |
| 727 | [ OK ] Listening on Network Service Netlink Socket. |
| 728 | [ 3.189419] systemd[1]: Listening on udev Control Socket. |
| 729 | [ OK ] Listening on udev Control Socket. |
| 730 | [ 3.229179] systemd[1]: Listening on udev Kernel Socket. |
| 731 | [ OK ] Listening on udev Kernel Socket. |
| 732 | [ 3.269520] systemd[1]: Condition check resulted in Huge Pages File System being skipped. |
| 733 | [ 3.278477] systemd[1]: Condition check resulted in POSIX Message Queue File System being skipped. |
| 734 | [ 3.288200] systemd[1]: Condition check resulted in Kernel Debug File System being skipped. |
| 735 | [ 3.302570] systemd[1]: Mounting Temporary Directory (/tmp)... |
| 736 | Mounting Temporary Directory (/tmp)... |
| 737 | [ 3.339226] systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped. |
| 738 | [ 3.355883] systemd[1]: Starting File System Check on Root Device... |
| 739 | Starting File System Check on Root Device... |
| 740 | [ 3.407220] systemd[1]: Starting Journal Service... |
| 741 | Starting Journal Service... |
| 742 | [ 3.422441] systemd[1]: Condition check resulted in Load Kernel Modules being skipped. |
| 743 | [ 3.431770] systemd[1]: Condition check resulted in FUSE Control File System being skipped. |
| 744 | [ 3.446415] systemd[1]: Mounting Kernel Configuration File System... |
| 745 | Mounting Kernel Configuration File System... |
| 746 | [ 3.458983] systemd[1]: Starting Apply Kernel Variables... |
| 747 | Starting Apply Kernel Variables... |
| 748 | [ 3.471368] systemd[1]: Starting udev Coldplug all Devices... |
| 749 | Starting udev Coldplug all Devices... |
| 750 | [ 3.491071] systemd[1]: Mounted Temporary Directory (/tmp). |
| 751 | [ OK 3.498114] systemd[1]: Mounted Kernel Configuration File System. |
| 752 | 0m] Mounted Temporary Directory (/tmp). |
| 753 | [ OK ] Mounted Kernel Configuration File System. |
| 754 | [ 3.550853] systemd[1]: Started Apply Kernel Variables. |
| 755 | [ OK 3.557535] systemd[1]: Started Journal Service. |
| 756 | 0m] Started Apply Kernel Variables. |
| 757 | [ OK ] Started Journal Service. |
| 758 | [ OK ] Started udev Coldplug all Devices. |
| 759 | [ OK ] Started File System Check on Root Device. |
| 760 | Starting Remount Root and Kernel File Systems... |
| 761 | [ 8.133469] EXT4-fs (mmcblk0p3): re-mounted. Opts: (null) |
| 762 | [ OK ] Started Remount Root and Kernel File Systems. |
| 763 | Starting Flush Journal to Persistent Storage... |
| 764 | [ 8.215327] systemd-journald[77]: Received client request to flush runtime journal. |
| 765 | Starting Create Static Device Nodes in /dev... |
| 766 | [ OK ] Started Flush Journal to Persistent Storage. |
| 767 | [ OK ] Started Create Static Device Nodes in /dev. |
| 768 | [ OK ] Reached target Local File Systems (Pre). |
| 769 | Mounting /var/volatile... |
| 770 | Starting udev Kernel Device Manager... |
| 771 | [ OK ] Mounted /var/volatile. |
| 772 | Starting Load/Save Random Seed... |
| 773 | [ OK ] Reached target Local File Systems. |
| 774 | Starting Create Volatile Files and Directories... |
| 775 | [ OK ] Started udev Kernel Device Manager. |
| 776 | [ OK ] Started Create Volatile Files and Directories. |
| 777 | Starting Network Time Synchronization... |
| 778 | Starting Update UTMP about System Boot/Shutdown... |
| 779 | [ OK ] Started Update UTMP about System Boot/Shutdown. |
| 780 | [ OK ] Started Network Time Synchronization. |
| 781 | [ 11.618575] random: crng init done |
| 782 | [ 11.622007] random: 7 urandom warning(s) missed due to ratelimiting |
| 783 | [ OK ] Started Load/Save Random Seed. |
| 784 | [ OK ] Reached target System Initialization. |
| 785 | [ OK ] Started Daily Cleanup of Temporary Directories. |
| 786 | [ OK ] Reached target System Time Set. |
| 787 | [ OK ] Reached target System Time Synchronized. |
| 788 | [ OK ] Reached target Timers. |
| 789 | [ OK ] Listening on D-Bus System Message Bus Socket. |
| 790 | [ OK ] Listening on dropbear.socket. |
| 791 | [ OK ] Reached target Sockets. |
| 792 | [ OK ] Reached target Basic System. |
| 793 | [ OK ] Started D-Bus System Message Bus. |
| 794 | Starting IPv6 Packet Filtering Framework... |
| 795 | Starting IPv4 Packet Filtering Framework... |
| 796 | Starting Login Service... |
| 797 | [ OK ] Started IPv6 Packet Filtering Framework. |
| 798 | [ OK ] Started IPv4 Packet Filtering Framework. |
| 799 | [ OK ] Reached target Network (Pre). |
| 800 | Starting Network Service... |
| 801 | [ OK ] Started Login Service. |
| 802 | [ 12.602455] macb 20112000.ethernet eth0: PHY [20112000.ethernet-ffffffff:09] driver [Vitesse VSC8662] (irq=POLL) |
| 803 | [ 12.612795] macb 20112000.ethernet eth0: configuring for phy/sgmii link mode |
| 804 | [ 12.622153] pps pps0: new PPS source ptp0 |
| 805 | [ OK 12.626725] macb 20112000.ethernet: gem-ptp-timer ptp clock registered. |
| 806 | 0m] Started Network Service. |
| 807 | Starting Network Name Resolution... |
| 808 | [ OK ] Started Network Name Resolution. |
| 809 | [ OK ] Reached target Network. |
| 810 | [ OK ] Reached target Host and Network Name Lookups. |
| 811 | [ OK ] Started Collectd. |
| 812 | [ OK ] Started Collectd. |
| 813 | Starting Permit User Sessions... |
| 814 | [ OK ] Started Permit User Sessions. |
| 815 | [ OK ] Started Getty on tty1. |
| 816 | [ OK ] Started Serial Getty on ttyS0. |
| 817 | [ OK ] Reached target Login Prompts. |
| 818 | [ OK ] Reached target Multi-User System. |
| 819 | Starting Update UTMP about System Runlevel Changes... |
| 820 | [ OK ] Started Update UTMP about System Runlevel Changes. |
| 821 | |
| 822 | OpenEmbedded nodistro.0 icicle-kit-es ttyS0 |
| 823 | |
| 824 | icicle-kit-es login: [ 15.795564] macb 20112000.ethernet eth0: Link is Up - 1Gbps/Full - flow control tx |
| 825 | [ 15.803306] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready |
| 826 | |
| 827 | icicle-kit-es login: root |
| 828 | root@icicle-kit-es:~# |