Skip to content

Instantly share code, notes, and snippets.

@LispEngineer
Last active May 25, 2023 02:48
Show Gist options
  • Save LispEngineer/1d270d4966a0a20751790d2fee4c5257 to your computer and use it in GitHub Desktop.
Save LispEngineer/1d270d4966a0a20751790d2fee4c5257 to your computer and use it in GitHub Desktop.
Doug's Snickerdoodle Black & piSmasher Exploration

Snickerdoodle Notes

Notes by Douglas P. Fields, Jr.

Hardware modifications:

  • Cut the piSmasher HDMI 4-channel audio select pins to be only as tall as the 40-pin GPIO headers.
    • That allows Proto-Advantage 1.27mm to DIP-40 adapter to be connected to the board.
    • Now I need to find a short (low-profile) 0.1" shunt
      • I got some from Mouser which were too small (and cost ~$12 for 10 including shipping).

Documentation

piSmasher

piSmasher

Power to piSmasher

  • Use the Wefomey 120W adjustable power supply
    • Use the standard tip, 5.5x2.5mm
    • Inner positive
    • Set to ~12V
  • The DE2-115 12V adapter does not fit

piSmasher pinouts

The JC1 2x20 pin GPIO has:

  • pin 1 in the corner
  • pin 2 on the short edge toward the middle
  • pin 39 towards the middle of the long side close to the edge
  • pin 40 towards the middle of the long side toward the middle of the board

The J18 2x7 pin I2C has:

  • pin 1 toward the middle of the long side, closer to the long edge
  • pin 2 toward the middle of the long side, closer to the center
  • pin 13 in the corner, closest to long edge and short edge
  • pin 14 in toward the middle of the short edge, closer to the short edge

J18 is for I2C only

  • Gound is on: 2, 4, 6, 8, 10, 11, 12
  • Power is on:
    • 1: Vin
    • 3: 5.0V
    • 5: 3.3V
    • 7: 2.5V
    • 9: 1.8V
  • I2C is on
    • 13: SCL (I2C2_SCL)
    • 14: SDA (I2C2_SDA)
  • Pull ups seem to be near U34
    • 2.00KΩ 1% R272 & R273 to 3.3V
  • I2C2_SCL also seems to have a 100KΩ pull-down (!) near U29
  • This is protected by a PESD3V3L5UY EST protection diode array

Snickerdoodle Black - First Use

YouTube Video

  1. Download Prebuilt Linux from Github

  2. Format a microSD card to FAT32 (32GB max)

  3. Copy the files in Snickerdoodle Black Boot Images to the SD card and eject it

  4. Put SD card in Snickerdoodle

  5. Connect USB port for power and UART/COM

  6. Use TeraTerm to connect on the appropriate COM port (COM7 in my case)

  7. Hold SW2 (also labeled re/set) for a few seconds to reboot the device

    • Power LED will flash and 4 other LEDs will light up
  8. Console will show a lot of stuff (below)

If you interrupt U-Boot

  1. Hit some key on Tera Term console when it says Hit any key to stop autoboot

    • It responds with a snickerdoodle> prompt
  2. You can enter ? or help and get a list of stuff

Getting on the network

  1. If you boot Linux and wait two minutes, it will get a wlcore: loaded and ip link will show a wlan0.

  2. ifconfig wlan0 up is met with errors:

    [  892.101691] wl18xx_driver wl18xx.0.auto: Direct firmware load for ti-connectivity/wl18xx-fw-4.bin failed with error -2
    [  892.112350] wl18xx_driver wl18xx.0.auto: Falling back to user helper
    ...
    [ 1137.801374] wlcore: ERROR could not get firmware ti-connectivity/wl18xx-fw-4.bin: -11
    [ 1137.810240] wlcore: ERROR firmware boot failed despite 3 retries
    ifconfig: SIOCSIFFLAGS: Resource temporarily unavailable
    

    ...and eventually it errors out.

  3. The information in the wiki seems to be inapplicable

    • There are no iw, wpa_supplicant or dhclient commands in this image
  4. There is an example config.txt file that may enable wireless LAN?

Questions

  • What does *** Warning - bad CRC, using default environment mean at the U-Boot prompt?

  • What do the fpga commands do? Can we use it to load a bitstream to the FPGA from U-Boot directly, from microSD card? How?

  • How can I look around the SD card FAT32 filesystem from U-Boot?

  • Is there a Linux image for piSmasher with all devices configured?

    • HDMI output?
    • USB keyboard/mouse input?
    • Wired Ethernet?
    • Wireless Ethernet?
    • Bluetooth peripherals?
    • Audio in/out using the 3.5mm jacks?
  • What external antennas do I need for J4 and J5?

    • And what is the command to switch to them? (I saw it somewhere...)
    • sudo ./spi-ctrl -c A -n <antenna> /dev/spidev1.0 in snickerdoodle Platform Controller User Guide PDF

Snickerdoodle Black - piSmasher - Second Use

  1. Download the Ubuntu 20.04 image from here

  2. Use BalenaEtcher in Windows to write the image to an SD Card

  3. Mount the SD Card BOOT volume on Windows (should happen automatically)

    • Copy the piSmasher directory contents to the root directory
    • Edit the config.txt file if desired
      • Add sta_mode sta_ssid sta_key to preconfigure Wireless LAN
      • Add wlan0_mode=dhcp
  4. Put the SD Card in the combined Snickerdoodle Black/piSmasher and boot it with USB

  5. It starts showing up on the TeraTerm console

    • It also is pulsing the white LED labeled fpga JA2 or app
  6. Don't log in too early, otherwise it will not let you in

    • Eventually it will say [ OK ] Started Serial Getty on ttyPS0.
    • Log in with:
      • User: admin
      • Pass: snickerdoodle123
    • It will force a password change, I used abcdefghijkl
    • This will take a long time as it does some first time startup
      • Seems to enlarge the root filesystem
  7. Two services failed to start up:

    • systemctl status hostapd.service | cat
    • systemctl status firstboot.service | cat
    • systemctl status
    • systemctl alone shows that isc-dhcp-server6.service failed as well
  8. Nothing to update (apt update and apt upgrade shows nothing to do)

  9. shutdown -h now gets to a shutdown message, but the LED is still pulsing

    [  OK  ] Reached target Power-Off.
    [ 1532.345191] reboot: System halted
    

How to get on the wireless network

  1. It seems to provide a default wireless network on wlan1

    • snickerdoodle-659993 in my case
    • Passphrase = snickerdoodle
    • See /etc/hostapd/hostapd.conf
  2. It already seems to be on my WLAN on wlan0 with DHCP address

    • I can visit with at http://192.168.2.165/ and get the Apache2 default page
    • I can SSH in with admin

breakyBreaky with Snickerdoodle Black

  1. Replace the files on the Ubuntu with the snickerdoodle-black files

    • Be sure to delete the two files in the piSmasher directory that are not going to be overwritten.
  2. Replace the SD card and boot

  3. It comes up in the Tera Term

  4. Note it does not pulse the JA2 light on the Snickerdoodle Black

  5. sudo -s then apt install avahi-daemon

  6. export TERM=vt100-color but I don't know how to set the terminal size

    • stty size shows 24 80 despite COLUMNS and ROWS exported

Vivado 2021.2.1 Bring-up

Following the MicroZed Chronicles (later episodes).

Turns out the JTAG adapter I have for my SITLINV board does not fit into the JTAG header in the piSmasher. So, I ordered a Digilent JTAG-HS3 adapter per the Snickerdoodle FAQ.

References:

  1. Copy the snickerdoodle-board-files from GitHub to C:\bin\fpga\Xilinx\Vivado\2021.2\data\boards\board_files

    • This did not work
    • Run Vivado instead and the command:
    • set_param board.repoPaths C:/bin/fpga/Xilinx/Vivado/2021.2/data/boards/board_files
    • This also did nothing
    • Help -> Add Design Tools or Devices...
      • This gives a "path not found" error and does nothing
    • Xilinx Information Center -> Manage Installs -> Add Tools/Devices
      • Gets a UAC message
      • Then the window says Xilinx Unified Xilinx Installer 2021.2 ... and disappears, nothing
      • Looks like it opened a window behind all others (how dumb is that)
      • The window has a spinner "Loading installation data" and it takes a long time thinking
    • Vivado -> Tools -> Settings
      • Tool Settings -> Vivado Store -> Board Repository
      • Add the directory cloned from GitHub with the board files
    • Maybe I need to install Zynq files for Vivado?
      • Run Xilinx Information Center -> Manage Installs -> Add Tools/Devices
      • UAC window again (runs a Java application), and wait a long time
      • Log in to Xilinx, but the window does not update
        • Move the window off screen and back on screen to make it repaint so you can proceed
      • Devices -> Devices for Custom Platforms
      • Select SoCs -> Zynq-7000, 7 Series -> Artix-7, Install Devices for Kria SOMs and Starter Kits
        • So I can use my Nexys Video & Kria robotics kits too at some point
      • (Kintex-7 was already selected)
  2. Vivado: Quick Start -> Create Project

    • Give it a name and directory dpf-snicker-1
    • RTL Project with no sources
  3. Vivado: Default Part

    • To see the board you need:
      1. Install the board file (through one of the methods above)
      2. Install the chip support file for that board (!!!)
    • Select snickerdoodle Black Development Platform
    • It says "Creating Project" and then opens the Project Manager

TODO: Continue from here with MicroZed chronicles

Vivado Open Questions

Windows 10 & Vivado 2021.2.1

  • Is there a board configuration for piSmasher?

    • How do I get a base project with piSmasher pre-configured but nothing else?
  • Why does Help -> Add Design Tools or Devices... result in a path error?

    • Workaround: Use Xilinx Information Center

Snickerdoodle JTAG

  1. Purchased Digilent JTAG-HS3

  2. Connect Snickerdoodle black to breakyBreaky

    • Power on with 12V barrel connector
    • Connect USB UART
    • Connect JTAG-HS3
    • Open Digilent Hardware Manager
    • Click Auto connect
    • Wait about 5 minutes
    • Eventually it says:
      refresh_hw_device -update_hw_probes false [lindex [get_hw_devices xc7z020_1] 0]
      INFO: [Labtools 27-1435] Device xc7z020 (JTAG device index = 1) is not programmed (DONE status = 0).
      refresh_hw_device: Time (s): cpu = 00:00:00 ; elapsed = 00:00:29 . Memory (MB): peak = 2872.125 ; gain = 21.191
      
  3. Hardware Manager sees things:

    • localhost:3121/xilinx_tcf/Digilent/210299B71598
      • arm_dap_0
      • xc7z020_1
        • XADC
    • If you click into Hardware Device Properties -> Properties of the arm_dap_0, then Vivado seems to hang (like doing it on the SITLINV Kintex-7).
      • Vivado takes a number of minutes to recover
      • You can't click the properties or copy them, it's very weird, it just stays hung for ages
    • This may be a bug with 2021.2

Booting from JTAG

From Google Groups:

The Zynq boot pins can be configured at boot time by pressing and holding the select/reset buttons on the snickerdoodle while powering on the board. If no buttons are pressed, the board immediately configures the pins to boot from the SD card and starts the boot process. If the select button is pressed and held while the board is powered on, the board will boot from QSPI flash. (must be held for 2 seconds during power-up, LEDs will turn on during bring-up and turn off when it is safe to release the button). If the reset button is pressed and held, the board will be configured for JTAG boot (recommended for writing to QSPI flash using flash utility. Holding and pressing both buttons during power on will put the STM32 into device firmware upgrade mode where firmware can be loaded over the USB port.

Programming via JTAG

  • Ravven Labs post - not very useful, just says it's possible

First Use Console Messages

Boot Console Messages

U-Boot 2016.01-00041-geb7d2d1-dirty (Jun 01 2016 - 12:25:55 -0700)

Model: snickerdoodle black
Board: Xilinx Zynq
DRAM:  ECC disabled 1 GiB
MMC:   sdhci@e0100000: 0, sdhci@e0101000: 1
SF: Detected N25Q128A with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial@e0000000
Out:   serial@e0000000
Err:   serial@e0000000
Model: snickerdoodle black
Board: Xilinx Zynq
Net:   No ethernet found.
Hit any key to stop autoboot:  0
Device: sdhci@e0100000
Manufacturer ID: 2
OEM: 544d
Name: SE04G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 3.6 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uEnv.txt
1057 bytes read in 13 ms (79.1 KiB/s)
Loaded environment from uEnv.txt
Importing environment from SD ...
Running uenvcmd ...
' - try 'help'd '
' - try 'help'd '
" not definedot_snickerdoodle
Copying Linux from SD to RAM...
reading uImage
4153304 bytes read in 235 ms (16.9 MiB/s)
reading devicetree.dtb
10291 bytes read in 17 ms (590.8 KiB/s)
reading uramdisk.image.gz
5310018 bytes read in 291 ms (17.4 MiB/s)
## Booting kernel from Legacy Image at 02080000 ...
   Image Name:   Linux-4.4.0-snickerdoodle-34505-
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4153240 Bytes = 4 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 04000000 ...
   Image Name:   snickerdoodle QSPI ramdisk
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    5309954 Bytes = 5.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02000000
   Booting using the fdt blob at 0x2000000
   Loading Kernel Image ... OK
   Loading Ramdisk to 1faef000, end 1ffff602 ... OK
   Loading Device Tree to 1fae9000, end 1faee832 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.4.0-snickerdoodle-34505-gcd2401c (russellbush@ubuntu) (gcc version 4.9.2 (Sourcery CodeBench Lite 2015.05-17) ) #23 SMP PREEMPT Fri May 27 10:24:49 PDT 2016
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: snickerdoodle black
[    0.000000] cma: Reserved 16 MiB at 0x3f000000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] PERCPU: Embedded 12 pages/cpu @ef7d4000 s19072 r8192 d21888 u49152
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260608
[    0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait earlyprintk
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 1009440K/1048576K available (5659K kernel code, 250K rwdata, 1952K rodata, 264K init, 236K bss, 22752K reserved, 16384K cma-reserved, 245760K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc077722c   (7613 kB)
[    0.000000]       .init : 0xc0778000 - 0xc07ba000   ( 264 kB)
[    0.000000]       .data : 0xc07ba000 - 0xc07f8940   ( 251 kB)
[    0.000000]        .bss : 0xc07f8940 - 0xc0833b08   ( 237 kB)
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] slcr mapped to f0800000
[    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 ID prefetch enabled, offset 1 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
[    0.000000] zynq_clock_init: clkc starts at f0800100
[    0.000000] Zynq clock init
[    0.000011] sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
[    0.000035] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
[    0.000144] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
[    0.000175] timer #0 at f0808000, irq=17
[    0.000507] Console: colour dummy device 80x30
[    0.000529] Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
[    0.090320] pid_max: default: 32768 minimum: 301
[    0.090474] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.090489] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.091109] CPU: Testing write buffer coherency: ok
[    0.091333] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.091401] Setting up static identity map for 0x8280 - 0x82d8
[    0.260310] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.260394] Brought up 2 CPUs
[    0.260413] SMP: Total of 2 processors activated (2664.03 BogoMIPS).
[    0.260422] CPU: All CPU(s) started in SVC mode.
[    0.261274] devtmpfs: initialized
[    0.264039] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.264465] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.265592] pinctrl core: initialized pinctrl subsystem
[    0.266746] NET: Registered protocol family 16
[    0.268745] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.300302] cpuidle: using governor ladder
[    0.320851] cpuidle: using governor menu
[    0.327410] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.327428] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.327573] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xf0880000
[    0.327877] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
[    0.346998] vgaarb: loaded
[    0.347413] SCSI subsystem initialized
[    0.347847] usbcore: registered new interface driver usbfs
[    0.347935] usbcore: registered new interface driver hub
[    0.348051] usbcore: registered new device driver usb
[    0.348388] media: Linux media interface: v0.10
[    0.348475] Linux video capture interface: v2.00
[    0.348557] pps_core: LinuxPPS API ver. 1 registered
[    0.348568] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[    0.348614] PTP clock support registered
[    0.348719] EDAC MC: Ver: 3.0.0
[    0.349411] FPGA manager framework
[    0.349526] Advanced Linux Sound Architecture Driver Initialized.
[    0.351532] clocksource: Switched to clocksource arm_global_timer
[    0.364959] NET: Registered protocol family 2
[    0.365674] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.365782] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.365941] TCP: Hash tables configured (established 8192 bind 8192)
[    0.366020] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.366075] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.366327] NET: Registered protocol family 1
[    0.366716] RPC: Registered named UNIX socket transport module.
[    0.366730] RPC: Registered udp transport module.
[    0.366738] RPC: Registered tcp transport module.
[    0.366747] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.367017] Trying to unpack rootfs image as initramfs...
[    0.367767] rootfs image is not initramfs (no cpio magic); looks like an initrd
[    0.394497] Freeing initrd memory: 5188K (dfaef000 - e0000000)
[    0.394881] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    0.396296] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.398172] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.402340] bounce: pool size: 64 pages
[    0.402362] io scheduler noop registered
[    0.402377] io scheduler deadline registered
[    0.402412] io scheduler cfq registered (default)
[    0.404226] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
[    0.404248] dma-pl330 f8003000.dmac:         DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[    0.404880] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.406586] e0000000.serial: ttyPS0 at MMIO 0xe0000000 (irq = 143, base_baud = 6249999) is a xuartps
[    1.052802] console [ttyPS0] enabled
[    1.056953] xdevcfg f8007000.devcfg: ioremap 0xf8007000 to f086c000
[    1.063656] [drm] Initialized drm 1.1.0 20060810
[    1.079539] brd: module loaded
[    1.089058] loop: module loaded
[    1.095037] m25p80 spi0.0: Controller not in SPI_TX_QUAD mode, just use extended SPI mode
[    1.103179] m25p80 spi0.0: n25q128a11 (16384 Kbytes)
[    1.108121] 5 ofpart partitions found on MTD device spi0.0
[    1.113579] Creating 5 MTD partitions on "spi0.0":
[    1.118330] 0x000000000000-0x000000080000 : "qspi-fsbl-uboot"
[    1.125236] 0x000000080000-0x000000480000 : "qspi-linux"
[    1.131590] 0x000000480000-0x000000490000 : "qspi-device-tree"
[    1.148464] 0x000000490000-0x000000d80000 : "qspi-rootfs"
[    1.154895] 0x000000d80000-0x000001000000 : "qspi-bitstream"
[    1.172797] CAN device driver interface
[    1.177004] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    1.182785] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.189712] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.196192] ehci-pci: EHCI PCI platform driver
[    1.200759] usbcore: registered new interface driver usb-storage
[    1.207942] mousedev: PS/2 mouse device common for all mice
[    1.214040] i2c /dev entries driver
[    1.219825] EDAC MC: ECC not enabled
[    1.223622] Xilinx Zynq CpuIdle Driver started
[    1.228277] sdhci: Secure Digital Host Controller Interface driver
[    1.234408] sdhci: Copyright(c) Pierre Ossman
[    1.238722] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.244798] sdhci-arasan e0100000.sdhci: No vmmc regulator found
[    1.250723] sdhci-arasan e0100000.sdhci: No vqmmc regulator found
[    1.291554] mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
[    1.299173] sdhci-arasan e0101000.sdhci: No vqmmc regulator found
[    1.360316] mmc0: new high speed SDHC card at address 9f0c
[    1.376221] mmcblk0: mmc0:9f0c SE04G 3.63 GiB
[    1.381583]  mmcblk0: p1
[    1.421571] mmc1: SDHCI controller on e0101000.sdhci [e0101000.sdhci] using ADMA
[    1.429312] ledtrig-cpu: registered to indicate activity on CPUs
[    1.432148] sdhci-arasan e0101000.sdhci: card claims to support voltages below defined range
[    1.443251] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
[    1.444322] mmc1: new high speed SDIO card at address 0001
[    1.455118] usbcore: registered new interface driver usbhid
[    1.460609] usbhid: USB HID core driver
[    1.468190] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.473615] NET: Registered protocol family 10
[    1.478891] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    1.484264] sit: IPv6 over IPv4 tunneling driver
[    1.489719] NET: Registered protocol family 17
[    1.494205] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    1.506765] can: controller area network core (rev 20120528 abi 9)
[    1.513033] NET: Registered protocol family 29
[    1.517408] can: raw protocol (rev 20120528)
[    1.521692] can: broadcast manager protocol (rev 20120528 t)
[    1.527304] can: netlink gateway (rev 20130117) max_hops=1
[    1.533236] Registering SWP/SWPB emulation handler
[    1.539056] hctosys: unable to open rtc device (rtc0)
[    1.544419] ALSA device list:
[    1.547305]   No soundcards found.
[    1.551157] RAMDISK: gzip image found at block 0
[    1.731823] wl18xx_driver wl18xx.0.auto: Direct firmware load for ti-connectivity/wl1271-nvs.bin failed with error -2
[    1.742542] wl18xx_driver wl18xx.0.auto: Falling back to user helper
[    2.134105] EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities
[    2.142596] EXT4-fs warning (device ram0): ext4_update_dynamic_rev:717: updating to rev 1 because of new feature flag, running e2fsck is recommended
[    2.156208] EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)
[    2.163249] VFS: Mounted root (ext4 filesystem) on device 1:0.
Starting rcS...
++ Mounting filesystem
mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory
mount: mounting /dev/mmcblk0 on /mnt failed: No such file or directory
++ Setting up mdev
++ Starting telnet daemon
++ Starting http daemon
++ Starting ftp daemon
++ Starting ssh daemon
[    2.403405] random: sshd urandom read with 4 bits of entropy available
rcS Complete
zynq>
[   61.741793] wl18xx_driver wl18xx.0.auto: Direct firmware load for ti-connectivity/wl18xx-conf.bin failed with error -2
[   61.752467] wl18xx_driver wl18xx.0.auto: Falling back to user helper
[  121.751678] wlcore: ERROR could not get configuration binary ti-connectivity/wl18xx-conf.bin: -11
[  121.760464] wlcore: WARNING falling back to default config
[  122.142260] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
[  122.152040] wlcore: loaded

U-Boot Commands and Outputs

snickerdoodle> ?
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
bootz   - boot Linux zImage image from memory
clk     - CLK sub-system
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dcache  - enable or disable data cache
dhcp    - boot image via network using DHCP/TFTP protocol
dm      - Driver model low level access
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
exit    - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
ext4load- load binary file from a Ext4 filesystem
ext4ls  - list files in a directory (default /)
ext4size- determine a file's size
ext4write- create a file in the root directory
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatsize - determine a file's size
fatwrite- write file into a dos filesystem
fdt     - flattened device tree utility commands
fpga    - loadable FPGA image support
fstype  - Look up a filesystem type
go      - start application at address 'addr'
gpio    - query and control gpio pins
help    - print command description/usage
icache  - enable or disable instruction cache
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
itest   - return true/false on integer compare
load    - load binary file from a filesystem
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
ls      - list files in a directory (default /)
md      - memory display
mdio    - MDIO utility commands
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mw      - memory write (fill)
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
save    - save file to a filesystem
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sf      - SPI flash sub-system
showvar - print local hushshell variables
size    - determine a file's size
sleep   - delay execution for some time
source  - run script from memory
spl     - SPL configuration
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
tftpput - TFTP put command, for uploading files to a server
true    - do nothing, successfully
version - print monitor, compiler and linker version
snickerdoodle> version
U-Boot 2016.01-00041-geb7d2d1-dirty (Jun 01 2016 - 12:25:55 -0700)
arm-xilinx-linux-gnueabi-gcc (Sourcery CodeBench Lite 2015.05-17) 4.9.2
GNU ld (Sourcery CodeBench Lite 2015.05-17) 2.24.51.20140217
snickerdoodle> bdinfo
arch_number = 0x00000000
boot_params = 0x00000000
DRAM bank   = 0x00000000
-> start    = 0x00000000
-> size     = 0x40000000
baudrate    = 115200 bps
TLB addr    = 0x3FFF0000
relocaddr   = 0x3FF5B000
reloc off   = 0x3BF5B000
irq_sp      = 0x3F33AEE0
sp start    = 0x3F33AED0
ARM frequency = 666 MHz
DSP frequency = 0 MHz
DDR frequency = 399 MHz
snickerdoodle> clk dump
clk             frequency
    armpll          1999999980
    ddrpll          1599999984
     iopll          1999999980
 cpu_6or4x           666666660
 cpu_3or2x           333333330
    cpu_2x           222222220
    cpu_1x           111111110
    ddr_2x           399999996
    ddr_3x           399999996
       dci            10062893
     lqspi           199999998
       smc            33333333
      pcap           199999998
      gem0            33333333
      gem1            33333333
     fclk0            50000000
     fclk1            50000000
     fclk2            50000000
     fclk3            50000000
     sdio0            99999999
     sdio1            99999999
     uart0            99999999
     uart1            99999999
      spi0           166666665
      spi1           166666665
 usb0_aper           111111110
 usb1_aper           111111110
 gem0_aper           111111110
 gem1_aper           111111110
sdio0_aper           111111110
sdio1_aper           111111110
 spi0_aper           111111110
 spi1_aper           111111110
 can0_aper           111111110
 can1_aper           111111110
 i2c0_aper           111111110
 i2c1_aper           111111110
uart0_aper           111111110
uart1_aper           111111110
 gpio_aper           111111110
lqspi_aper           111111110
  smc_aper           111111110
   dbg_trc           133333332
   dbg_apb           133333332
snickerdoodle> coninfo
List of available devices:
serial@e0000000 00000003 IO stdin stdout stderr
serial   00000003 IO
snickerdoodle> dm
dm - Driver model low level access

Usage:
dm tree         Dump driver model tree ('*' = activated)
dm uclass        Dump list of instances for each uclass
dm devres        Dump list of device resources for each device
snickerdoodle> dm tree
 Class       Probed   Name
----------------------------------------
 root        [ + ]    root_driver
 rsa_mod_exp [   ]    |-- mod_exp_sw
 simple_bus  [ + ]    `-- amba
 gpio        [   ]        |-- gpio@e000a000
 serial      [ + ]        |-- serial@e0000000
 spi         [ + ]        |-- spi@e000d000
 spi_flash   [   ]        |   `-- spi_flash@0:0
 mmc         [ + ]        |-- sdhci@e0100000
 mmc         [ + ]        |-- sdhci@e0101000
 simple_bus  [   ]        `-- slcr@f8000000
snickerdoodle> dm uclass
uclass 0: root
- * root_driver @ 3f33b028, seq 0, (req -1)

uclass 9: simple_bus
- * amba @ 3f33b118, seq 0, (req -1)
-   slcr@f8000000 @ 3f33b3c8

uclass 16: eth
uclass 17: gpio
-   gpio@e000a000 @ 3f33b1a0

uclass 27: mmc
- * sdhci@e0100000 @ 3f33b318, seq 0, (req 0)
- * sdhci@e0101000 @ 3f33b370, seq 1, (req 1)

uclass 28: rsa_mod_exp
-   mod_exp_sw @ 3f33b0a0

uclass 40: serial
- * serial@e0000000 @ 3f33b218, seq 0, (req 0)

uclass 41: spi
- * spi@e000d000 @ 3f33b290, seq 0, (req 0)

uclass 42: spi_flash
-   spi_flash@0:0 @ 3f35b8c8

uclass 43: spi_generic
snickerdoodle> dm devres
snickerdoodle>
snickerdoodle> env print -a
baudrate=115200
bitstream_image=system.bit.bin
boot_image=BOOT.bin
boot_size=0xF00000
bootcmd=run $modeboot
bootdelay=3
bootenv=uEnv.txt
devicetree_image=devicetree.dtb
devicetree_load_address=0x2000000
devicetree_size=0x10000
ethaddr=00:0a:35:00:01:22
fdt_high=0x20000000
fdtcontroladdr=3ffa9d40
importbootenv=echo Importing environment from SD ...; env import -t ${loadbootenv_addr} $filesize
initrd_high=0x20000000
ipaddr=10.10.70.102
jtagboot=echo TFTPing Linux to RAM... && tftpboot ${kernel_load_address} ${kernel_image} && tftpboot ${devicetree_load_address} ${devicetree_image} && tftpboot ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
kernel_image=uImage
kernel_load_address=0x2080000
kernel_size=0x400000
loadbit_addr=0x100000
loadbootenv=load mmc 0 ${loadbootenv_addr} ${bootenv}
loadbootenv_addr=0x2000000
mmc_loadbit=echo Loading bitstream from SD/MMC/eMMC to RAM.. && mmcinfo && load mmc 0 ${loadbit_addr} ${bitstream_image} && fpga load 0 ${loadbit_addr} ${filesize}
modeboot=sdboot
nandboot=echo Copying Linux from NAND flash to RAM... && nand read ${kernel_load_address} 0x100000 ${kernel_size} && nand read ${devicetree_load_address} 0x600000 ${devicetree_size} && echo Copying ramdisk... && nand read ${ramdisk_load_address} 0x620000 ${ramdisk_size} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
norboot=echo Copying Linux from NOR flash to RAM... && cp.b 0xE2100000 ${kernel_load_address} ${kernel_size} && cp.b 0xE2600000 ${devicetree_load_address} ${devicetree_size} && echo Copying ramdisk... && cp.b 0xE2620000 ${ramdisk_load_address} ${ramdisk_size} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
preboot=if test $modeboot = sdboot && env run sd_uEnvtxt_existence_test; then if env run loadbootenv; then env run importbootenv; fi; fi;
qspiboot=echo Copying Linux from QSPI flash to RAM... && sf probe && sf read ${kernel_load_address} 0x80000 ${kernel_size} && sf read ${devicetree_load_address} 0x480000 ${devicetree_size} && echo Copying ramdisk... && sf read ${ramdisk_load_address} 0x490000 ${ramdisk_size} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
ramdisk_image=uramdisk.image.gz
ramdisk_load_address=0x4000000
ramdisk_size=0x8F0000
rsa_jtagboot=echo TFTPing Image to RAM... && tftpboot 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_nandboot=echo Copying Image from NAND flash to RAM... && nand read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_norboot=echo Copying Image from NOR flash to RAM... && cp.b 0xE2100000 0x100000 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_qspiboot=echo Copying Image from QSPI flash to RAM... && sf probe 0 0 0 && sf read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_sdboot=echo Copying Image from SD to RAM... && load mmc 0 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
sd_uEnvtxt_existence_test=test -e mmc 0 /uEnv.txt
sdboot=if mmcinfo; then run uenvboot; echo Copying Linux from SD to RAM... && load mmc 0 ${kernel_load_address} ${kernel_image} && load mmc 0 ${devicetree_load_address} ${devicetree_image} && load mmc 0 ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}; fi
serverip=10.10.70.101
stderr=serial@e0000000
stdin=serial@e0000000
stdout=serial@e0000000
uenvboot=if run loadbootenv; then echo Loaded environment from ${bootenv}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi
usbboot=if usb start; then run uenvboot; echo Copying Linux from USB to RAM... && load usb 0 ${kernel_load_address} ${kernel_image} && load usb 0 ${devicetree_load_address} ${devicetree_image} && load usb 0 ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}; fi

Environment size: 4403/131068 bytes
snickerdoodle> gpio status -a
0: input: 0 [ ]
1: input: 0 [ ]
...up to 117...

This can also be done as mmc info:

snickerdoodle> mmcinfo
Device: sdhci@e0100000
Manufacturer ID: 2
OEM: 544d
Name: SE04G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 3.6 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
snickerdoodle> mmc list
sdhci@e0100000: 0 (SD)
sdhci@e0101000: 1

U-Boot command outputs

snickerdoodle> ?
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
bootz   - boot Linux zImage image from memory
clk     - CLK sub-system
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dcache  - enable or disable data cache
dhcp    - boot image via network using DHCP/TFTP protocol
dm      - Driver model low level access
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
exit    - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
ext4load- load binary file from a Ext4 filesystem
ext4ls  - list files in a directory (default /)
ext4size- determine a file's size
ext4write- create a file in the root directory
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatsize - determine a file's size
fatwrite- write file into a dos filesystem
fdt     - flattened device tree utility commands
fpga    - loadable FPGA image support
fstype  - Look up a filesystem type
go      - start application at address 'addr'
gpio    - query and control gpio pins
help    - print command description/usage
icache  - enable or disable instruction cache
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
itest   - return true/false on integer compare
load    - load binary file from a filesystem
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
ls      - list files in a directory (default /)
md      - memory display
mdio    - MDIO utility commands
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mw      - memory write (fill)
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
save    - save file to a filesystem
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sf      - SPI flash sub-system
showvar - print local hushshell variables
size    - determine a file's size
sleep   - delay execution for some time
source  - run script from memory
spl     - SPL configuration
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
tftpput - TFTP put command, for uploading files to a server
true    - do nothing, successfully
version - print monitor, compiler and linker version
snickerdoodle> version
U-Boot 2016.01-00041-geb7d2d1-dirty (Jun 01 2016 - 12:25:55 -0700)
arm-xilinx-linux-gnueabi-gcc (Sourcery CodeBench Lite 2015.05-17) 4.9.2
GNU ld (Sourcery CodeBench Lite 2015.05-17) 2.24.51.20140217
snickerdoodle> bdinfo
arch_number = 0x00000000
boot_params = 0x00000000
DRAM bank   = 0x00000000
-> start    = 0x00000000
-> size     = 0x40000000
baudrate    = 115200 bps
TLB addr    = 0x3FFF0000
relocaddr   = 0x3FF5B000
reloc off   = 0x3BF5B000
irq_sp      = 0x3F33AEE0
sp start    = 0x3F33AED0
ARM frequency = 666 MHz
DSP frequency = 0 MHz
DDR frequency = 399 MHz
snickerdoodle> clk dump
clk             frequency
    armpll          1999999980
    ddrpll          1599999984
     iopll          1999999980
 cpu_6or4x           666666660
 cpu_3or2x           333333330
    cpu_2x           222222220
    cpu_1x           111111110
    ddr_2x           399999996
    ddr_3x           399999996
       dci            10062893
     lqspi           199999998
       smc            33333333
      pcap           199999998
      gem0            33333333
      gem1            33333333
     fclk0            50000000
     fclk1            50000000
     fclk2            50000000
     fclk3            50000000
     sdio0            99999999
     sdio1            99999999
     uart0            99999999
     uart1            99999999
      spi0           166666665
      spi1           166666665
 usb0_aper           111111110
 usb1_aper           111111110
 gem0_aper           111111110
 gem1_aper           111111110
sdio0_aper           111111110
sdio1_aper           111111110
 spi0_aper           111111110
 spi1_aper           111111110
 can0_aper           111111110
 can1_aper           111111110
 i2c0_aper           111111110
 i2c1_aper           111111110
uart0_aper           111111110
uart1_aper           111111110
 gpio_aper           111111110
lqspi_aper           111111110
  smc_aper           111111110
   dbg_trc           133333332
   dbg_apb           133333332
snickerdoodle> coninfo
List of available devices:
serial@e0000000 00000003 IO stdin stdout stderr
serial   00000003 IO
snickerdoodle> dm
dm - Driver model low level access

Usage:
dm tree         Dump driver model tree ('*' = activated)
dm uclass        Dump list of instances for each uclass
dm devres        Dump list of device resources for each device
snickerdoodle> dm tree
 Class       Probed   Name
----------------------------------------
 root        [ + ]    root_driver
 rsa_mod_exp [   ]    |-- mod_exp_sw
 simple_bus  [ + ]    `-- amba
 gpio        [   ]        |-- gpio@e000a000
 serial      [ + ]        |-- serial@e0000000
 spi         [ + ]        |-- spi@e000d000
 spi_flash   [   ]        |   `-- spi_flash@0:0
 mmc         [ + ]        |-- sdhci@e0100000
 mmc         [ + ]        |-- sdhci@e0101000
 simple_bus  [   ]        `-- slcr@f8000000
snickerdoodle> dm uclass
uclass 0: root
- * root_driver @ 3f33b028, seq 0, (req -1)

uclass 9: simple_bus
- * amba @ 3f33b118, seq 0, (req -1)
-   slcr@f8000000 @ 3f33b3c8

uclass 16: eth
uclass 17: gpio
-   gpio@e000a000 @ 3f33b1a0

uclass 27: mmc
- * sdhci@e0100000 @ 3f33b318, seq 0, (req 0)
- * sdhci@e0101000 @ 3f33b370, seq 1, (req 1)

uclass 28: rsa_mod_exp
-   mod_exp_sw @ 3f33b0a0

uclass 40: serial
- * serial@e0000000 @ 3f33b218, seq 0, (req 0)

uclass 41: spi
- * spi@e000d000 @ 3f33b290, seq 0, (req 0)

uclass 42: spi_flash
-   spi_flash@0:0 @ 3f35b8c8

uclass 43: spi_generic
snickerdoodle> dm devres
snickerdoodle>
snickerdoodle> env print -a
baudrate=115200
bitstream_image=system.bit.bin
boot_image=BOOT.bin
boot_size=0xF00000
bootcmd=run $modeboot
bootdelay=3
bootenv=uEnv.txt
devicetree_image=devicetree.dtb
devicetree_load_address=0x2000000
devicetree_size=0x10000
ethaddr=00:0a:35:00:01:22
fdt_high=0x20000000
fdtcontroladdr=3ffa9d40
importbootenv=echo Importing environment from SD ...; env import -t ${loadbootenv_addr} $filesize
initrd_high=0x20000000
ipaddr=10.10.70.102
jtagboot=echo TFTPing Linux to RAM... && tftpboot ${kernel_load_address} ${kernel_image} && tftpboot ${devicetree_load_address} ${devicetree_image} && tftpboot ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
kernel_image=uImage
kernel_load_address=0x2080000
kernel_size=0x400000
loadbit_addr=0x100000
loadbootenv=load mmc 0 ${loadbootenv_addr} ${bootenv}
loadbootenv_addr=0x2000000
mmc_loadbit=echo Loading bitstream from SD/MMC/eMMC to RAM.. && mmcinfo && load mmc 0 ${loadbit_addr} ${bitstream_image} && fpga load 0 ${loadbit_addr} ${filesize}
modeboot=sdboot
nandboot=echo Copying Linux from NAND flash to RAM... && nand read ${kernel_load_address} 0x100000 ${kernel_size} && nand read ${devicetree_load_address} 0x600000 ${devicetree_size} && echo Copying ramdisk... && nand read ${ramdisk_load_address} 0x620000 ${ramdisk_size} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
norboot=echo Copying Linux from NOR flash to RAM... && cp.b 0xE2100000 ${kernel_load_address} ${kernel_size} && cp.b 0xE2600000 ${devicetree_load_address} ${devicetree_size} && echo Copying ramdisk... && cp.b 0xE2620000 ${ramdisk_load_address} ${ramdisk_size} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
preboot=if test $modeboot = sdboot && env run sd_uEnvtxt_existence_test; then if env run loadbootenv; then env run importbootenv; fi; fi;
qspiboot=echo Copying Linux from QSPI flash to RAM... && sf probe && sf read ${kernel_load_address} 0x80000 ${kernel_size} && sf read ${devicetree_load_address} 0x480000 ${devicetree_size} && echo Copying ramdisk... && sf read ${ramdisk_load_address} 0x490000 ${ramdisk_size} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
ramdisk_image=uramdisk.image.gz
ramdisk_load_address=0x4000000
ramdisk_size=0x8F0000
rsa_jtagboot=echo TFTPing Image to RAM... && tftpboot 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_nandboot=echo Copying Image from NAND flash to RAM... && nand read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_norboot=echo Copying Image from NOR flash to RAM... && cp.b 0xE2100000 0x100000 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_qspiboot=echo Copying Image from QSPI flash to RAM... && sf probe 0 0 0 && sf read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_sdboot=echo Copying Image from SD to RAM... && load mmc 0 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
sd_uEnvtxt_existence_test=test -e mmc 0 /uEnv.txt
sdboot=if mmcinfo; then run uenvboot; echo Copying Linux from SD to RAM... && load mmc 0 ${kernel_load_address} ${kernel_image} && load mmc 0 ${devicetree_load_address} ${devicetree_image} && load mmc 0 ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}; fi
serverip=10.10.70.101
stderr=serial@e0000000
stdin=serial@e0000000
stdout=serial@e0000000
uenvboot=if run loadbootenv; then echo Loaded environment from ${bootenv}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi
usbboot=if usb start; then run uenvboot; echo Copying Linux from USB to RAM... && load usb 0 ${kernel_load_address} ${kernel_image} && load usb 0 ${devicetree_load_address} ${devicetree_image} && load usb 0 ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}; fi

Environment size: 4403/131068 bytes
snickerdoodle> gpio status -a
0: input: 0 [ ]
1: input: 0 [ ]
...up to 117...

This can also be done as mmc info:

snickerdoodle> mmcinfo
Device: sdhci@e0100000
Manufacturer ID: 2
OEM: 544d
Name: SE04G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 3.6 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
snickerdoodle> mmc list
sdhci@e0100000: 0 (SD)
sdhci@e0101000: 1

Second Use Console Messages

Xilinx First Stage Boot Loader
Release 2018.2  Sep  3 2018-17:20:43
Devcfg driver initialized
Silicon Version 3.1
Boot mode is SD
SD: rc= 0
SD Init Done
Flash Base Address: 0xE0100000
Reboot status register: 0x60400000
Multiboot Register: 0x0000C000
Image Start Address: 0x00000000
Partition Header Offset:0x00000C80
Partition Count: 2
Partition Number: 1
Header Dump
Image Word Len: 0x0001B8CD
Data Word Len: 0x0001B8CD
Partition Word Len:0x0001B8CD
Load Addr: 0x04000000
Exec Addr: 0x04000000
Partition Start: 0x000075D0
Partition Attr: 0x00000010
Partition Checksum Offset: 0x00000000
Section Count: 0x00000001
Checksum: 0xF7FA5D67
Application
Handoff Address: 0x04000000
In FsblHookBeforeHandoff function
SUCCESSFUL_HANDOFF
FSBL Status = 0x1


U-Boot 2018.01-snickerdoodle-13918-gb1975fd66c (Sep 06 2018 - 11:07:30 -0700)

Model: snickerdoodle Black
Board: Xilinx Zynq
Silicon: v3.1
DRAM:  ECC disabled 1 GiB
MMC:   sdhci@e0100000: 0 (SD)
Using default environment

In:    serial@e0000000
Out:   serial@e0000000
Err:   serial@e0000000
Net:   No ethernet found.
reading uEnv.txt
408 bytes read in 9 ms (43.9 KiB/s)
Importing environment from SD ...
Hit any key to stop autoboot:  0
Device: sdhci@e0100000
Manufacturer ID: 2
OEM: 544d
Name: SE04G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 3.6 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uEnv.txt
408 bytes read in 8 ms (49.8 KiB/s)
Loaded environment from uEnv.txt
Importing environment from SD ...
Running uenvcmd ...
reading uboot.scr
750 bytes read in 10 ms (73.2 KiB/s)
## Executing script at 04000000
Loading bitstream from system.bit
reading system.bit
4045674 bytes read in 205 ms (18.8 MiB/s)
  design filename = "base_wrapper;UserID=0XFFFFFFFF;Version=2018.2.1"
  part number = "7z020clg400"
  date = "2018/08/29"
  time = "19:32:28"
  bytes in bitstream = 4045564
zynq_align_dma_buffer: Align buffer at 10006e to fff80(swap 1)
reading uImage
5156992 bytes read in 257 ms (19.1 MiB/s)
reading devicetree.dtb
17635 bytes read in 14 ms (1.2 MiB/s)
## Booting kernel from Legacy Image at 02080000 ...
   Image Name:   Linux-5.4.0-snickerdoodle-00001-
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5156928 Bytes = 4.9 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02000000
   Booting using the fdt blob at 0x2000000
   Loading Kernel Image ... OK
   Loading Device Tree to 1fff8000, end 1ffff4e2 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.4.0-snickerdoodle-00001-gdfb1b1836d41 (root@d2a9723db09e) (gcc version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (15:9-2019-q4-0ubuntu1)) #2 SMP PREEMPT Fri Jan 22 19:25:47 UTC 2021
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: snickerdoodle Black
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 256 MiB at 0x20000000
[    0.000000] percpu: Embedded 17 pages/cpu s40652 r8192 d20788 u69632
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260096
[    0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait earlyprink uio_pdrv_genirq.of_id=krtkl,generic-uio,ui_pdrv
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 500468K/1048576K available (7168K kernel code, 592K rwdata, 3188K rodata, 1024K init, 718K bss, 285964K reserved, 262144K cma-reserved, 0K highmem)
[    0.000000] ftrace: allocating 27841 entries in 55 pages
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] efuse mapped to (ptrval)
[    0.000000] slcr mapped to (ptrval)
[    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 ID prefetch enabled, offset 1 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
[    0.000000] random: get_random_bytes called from start_kernel+0x2a0/0x480 with crng_init=0
[    0.000000] zynq_clock_init: clkc starts at (ptrval)
[    0.000000] Zynq clock init
[    0.000009] sched_clock: 64 bits at 433MHz, resolution 2ns, wraps every 4398046511103ns
[    0.000030] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x63f09fe9cc, max_idle_ns: 440795221256 ns
[    0.000063] Switching to timer-based delay loop, resolution 2ns
[    0.001011] Console: colour dummy device 80x30
[    0.001051] Calibrating delay loop (skipped), value calculated using timer frequency.. 866.66 BogoMIPS (lpj=4333333)
[    0.001074] pid_max: default: 32768 minimum: 301
[    0.001539] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.001565] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.002595] CPU: Testing write buffer coherency: ok
[    0.002658] CPU0: Spectre v2: using BPIALL workaround
[    0.003064] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.060308] Setting up static identity map for 0x100000 - 0x100060
[    0.080221] rcu: Hierarchical SRCU implementation.
[    0.120222] smp: Bringing up secondary CPUs ...
[    0.201057] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.201066] CPU1: Spectre v2: using BPIALL workaround
[    0.201336] smp: Brought up 1 node, 2 CPUs
[    0.201355] SMP: Total of 2 processors activated (1733.33 BogoMIPS).
[    0.201370] CPU: All CPU(s) started in SVC mode.
[    0.202393] devtmpfs: initialized
[    0.210149] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.210853] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.210889] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.225790] pinctrl core: initialized pinctrl subsystem
[    0.227720] NET: Registered protocol family 16
[    0.234186] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.235916] cpuidle: using governor ladder
[    0.236000] cpuidle: using governor menu
[    0.259910] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.259931] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.260238] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x(ptrval)
[    0.261468] e0000000.serial: ttyPS0 at MMIO 0xe0000000 (irq = 25, base_baud = 3125000) is a xuartps
[    0.693875] printk: console [ttyPS0] enabled
[    0.727920] SCSI subsystem initialized
[    0.732061] pps_core: LinuxPPS API ver. 1 registered
[    0.737022] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[    0.746142] PTP clock support registered
[    0.750109] EDAC MC: Ver: 3.0.0
[    0.753967] FPGA manager framework
[    0.759056] clocksource: Switched to clocksource arm_global_timer
[    1.408158] VFS: Disk quotas dquot_6.6.0
[    1.412251] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.419451] FS-Cache: Loaded
[    1.422673] CacheFiles: Loaded
[    1.440623] NET: Registered protocol family 2
[    1.445826] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    1.454259] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    1.462023] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    1.469186] TCP: Hash tables configured (established 8192 bind 8192)
[    1.475717] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    1.482408] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    1.489762] NET: Registered protocol family 1
[    1.495155] RPC: Registered named UNIX socket transport module.
[    1.501114] RPC: Registered udp transport module.
[    1.505817] RPC: Registered tcp transport module.
[    1.510513] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.516975] PCI: CLS 0 bytes, default 64
[    1.521753] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
[    1.530050] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    1.540710] Initialise system trusted keyrings
[    1.545426] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[    1.553084] FS-Cache: Netfs 'nfs' registered for caching
[    1.558856] NFS: Registering the id_resolver key type
[    1.563994] Key type id_resolver registered
[    1.568175] Key type id_legacy registered
[    1.572272] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.615273] Key type asymmetric registered
[    1.619372] Asymmetric key parser 'x509' registered
[    1.624307] io scheduler mq-deadline registered
[    1.628832] io scheduler kyber registered
[    1.633837] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
[    1.644867] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
[    1.651616] dma-pl330 f8003000.dmac:         DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[    1.660904] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.684187] brd: module loaded
[    1.702257] loop: module loaded
[    1.711279] spi-nor spi0.0: n25q128a11 (16384 Kbytes)
[    1.716473] 5 fixed-partitions partitions found on MTD device spi0.0
[    1.722864] Creating 5 MTD partitions on "spi0.0":
[    1.727671] 0x000000000000-0x0000000e0000 : "bootloader"
[    1.741772] 0x0000000e0000-0x000000100000 : "env"
[    1.752598] 0x000000100000-0x000000600000 : "linux"
[    1.761737] 0x000000600000-0x000000c20000 : "devicetree"
[    1.772613] 0x000000620000-0x000001000000 : "rootfs"
[    1.782508] libphy: Fixed MDIO Bus: probed
[    1.796443] mousedev: PS/2 mouse device common for all mice
[    1.802650] i2c /dev entries driver
[    1.807326] cdns-i2c e0005000.i2c: 100 kHz mmio e0005000 irq 22
[    1.815083] cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
[    1.823005] EDAC MC: ECC not enabled
[    1.828818] Xilinx Zynq CpuIdle Driver started
[    1.834285] sdhci: Secure Digital Host Controller Interface driver
[    1.840563] sdhci: Copyright(c) Pierre Ossman
[    1.844919] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.890287] mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
[    1.899482] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 413490550 ns
[    1.908816] timer #0 at (ptrval), irq=43
[    1.913622] xlnk xlnk: Major 246
[    1.917178] xlnk xlnk: xlnk driver loaded
[    1.921382] xlnk xlnk: xlnk_pdev is not null
[    1.927375] fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
[    1.935282] NET: Registered protocol family 10
[    1.941294] Segment Routing with IPv6
[    1.945083] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.952236] NET: Registered protocol family 17
[    1.956742] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.970171] sctp: Hash tables configured (bind 512/512)
[    1.975721] Key type dns_resolver registered
[    1.980515] Registering SWP/SWPB emulation handler
[    1.985798] Loading compiled-in X.509 certificates
[    1.992491] Key type encrypted registered
[    1.997177] mmc0: new high speed SDHC card at address 9f0c
[    2.014160] mmcblk0: mmc0:9f0c SE04G 3.64 GiB
[    2.021554]  mmcblk0: p1 p2
[    2.234207] mmc1: SDHCI controller on e0101000.sdhci [e0101000.sdhci] using ADMA
[    2.242262] hctosys: unable to open rtc device (rtc0)
[    2.247316] of_cfs_init
[    2.249977] of_cfs_init: OK
[    2.257914] sdhci-arasan e0101000.sdhci: card claims to support voltages below defined range
[    2.280689] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    2.288869] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    2.296892] mmc1: new high speed SDIO card at address 0001
[    2.309959] devtmpfs: mounted
[    2.319984] Freeing unused kernel memory: 1024K
[    2.324821] Run /sbin/init as init process
[    2.346271] random: fast init done
[    2.825398] systemd[1]: System time before build time, advancing clock.
[    2.868404] systemd[1]: systemd 245.4-4ubuntu3 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)
[    2.891547] systemd[1]: Detected architecture arm.

Welcome to Ubuntu 20.04 LTS!

[    2.940390] systemd[1]: Set hostname to <snickerdoodle>.
[    3.658786] systemd[1]: /lib/systemd/system/dbus.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run/dbus/system_bus_socket ? /run/dbus/system_bus_socket; please update the unit file accordingly.
[    3.929811] random: systemd: uninitialized urandom read (16 bytes read)
[    3.936704] systemd[1]: system-modprobe.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[    3.949381] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[    3.959409] systemd[1]: Created slice system-modprobe.slice.
[  OK  ] Created slice system-modprobe.slice.
[    3.999411] random: systemd: uninitialized urandom read (16 bytes read)
[    4.006895] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[    4.049298] random: systemd: uninitialized urandom read (16 bytes read)
[    4.056658] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[    4.089849] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[    4.129755] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[    4.169575] systemd[1]: Condition check resulted in Arbitrary Executable File Formats File System Automount Point being skipped.
[    4.181530] systemd[1]: Reached target Local Encrypted Volumes.
[  OK  ] Reached target Local Encrypted Volumes.
[    4.219519] systemd[1]: Reached target Paths.
[  OK  ] Reached target Paths.
[    4.249381] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    4.289358] systemd[1]: Reached target Slices.
[  OK  ] Reached target Slices.
[    4.319398] systemd[1]: Reached target Swap.
[  OK  ] Reached target Swap.
[    4.357762] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[    4.389861] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[    4.483351] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
[    4.492647] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    4.530542] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[    4.560417] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    4.600110] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[    4.640013] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[    4.653535] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[    4.695505] systemd[1]: Mounting Kernel Debug File System...
         Mounting Kernel Debug File System...
[    4.734675] systemd[1]: Mounting Kernel Trace File System...
         Mounting Kernel Trace File System...
[    4.774813] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[    4.815460] systemd[1]: Starting Set the console keyboard layout...
         Starting Set the console keyboard layout...
[    4.838153] systemd[1]: Starting Create list of static device nodes for the current kernel...
         Starting Create list of st…odes for the current kernel...
[    4.895231] systemd[1]: Starting Load Kernel Module drm...
         Starting Load Kernel Module drm...
[    4.932102] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[    4.969346] systemd[1]: Starting Load Kernel Modules...
         Starting Load Kernel Modules...
[    5.005067] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[    5.034578] systemd[1]: Starting udev Coldplug all Devices...
         Starting udev Coldplug all Devices...
[    5.093837] systemd[1]: Started Journal Service.
[    5.097083] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[  OK  ] Started Journal Service.
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Mounted Kernel Trace File System.
[  OK  ] Finished Create list of st… nodes for the current kernel.
[  OK  ] Finished Load Kernel Module drm.
[  OK  ] Finished Remount Root and Kernel File Systems.
         Starting Flush Journal to Persistent Storage...
         Starting Load/Save Random Seed...
         Starting Create System Users...
[  OK  ] Finished Set the console keyboard layout.
[    5.512632] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    5.524138] systemd-journald[131]: Received client request to flush runtime journal.
[  OK  ] Finished Flush Journal to Persistent Storage.
[    6.076328] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[  OK  ] Finished udev Coldplug all Devices.
[  OK  ] Finished Create System Users.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /config...
         Mounting /tmp...
         Starting udev Kernel Device Manager...
[  OK  ] Mounted /config.
[  OK  ] Mounted /tmp.
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Finished Load Kernel Modules.
[    8.481317] wl18xx_driver wl18xx.0.auto: Direct firmware load for ti-connectivity/wl1271-nvs.bin failed with error -2
         Mounting Kernel Configuration File System...
         Starting Apply Kernel Variables...
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Found device /dev/ttyPS0.
[    9.010841] usb251xb 0-002c: configuring block 0 failed: -6
[    9.016420] usb251xb 0-002c: Failed to connect hub (-6)
[    9.099180] mdio_bus e000b000.ethernet-ffffffff: MDIO device at address 0 is missing.
[    9.191258] macb e000b000.ethernet eth0: no PHY found
[    9.314647] mdio_bus e000c000.ethernet-ffffffff: MDIO device at address 0 is missing.
         Starting Network Service...
[    9.474952] macb e000c000.ethernet eth0: no PHY found
[  OK  ] Found device /dev/mmcblk0p1.
[  OK  ] Finished Load/Save Random Seed.
[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
         Mounting /boot...
[  OK  ] Started Network Service.
[  OK  ] Mounted /boot.
[  OK  ] Reached target Local File Systems.
         Starting Set console font and keymap...
         Starting Wait for Network to be Configured...
         Starting Load/Save RF Kill Switch Status...
         Starting Create Volatile Files and Directories...
[  OK  ] Started Load/Save RF Kill Switch Status.
[  OK  ] Finished Set console font and keymap.
[  OK  ] Finished Wait for Network to be Configured.
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Network Name Resolution...
         Starting Network Time Synchronization...
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Finished Update UTMP about System Boot/Shutdown.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target System Time Set.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Started Daily apt download activities.
[  OK  ] Started Daily apt upgrade and clean activities.
[  OK  ] Started Periodic ext4 Onli…ata Check for All Filesystems.
[  OK  ] Started Discard unused blocks once a week.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Message of the Day.
[  OK  ] Started Clean PHP session files every 30 mins.
[  OK  ] Reached target Timers.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started Regular background program processing daemon.
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started Save initial kernel messages after boot.
         Starting Remove Stale Onli…t4 Metadata Check Snapshots...
         Starting LSB: Perform preparations for first boot...
         Starting Dispatcher daemon for systemd-networkd...
[  OK  ] Started Set the CPU Frequency Scaling governor.
         Starting System Logging Service...
         Starting configure wlan1 interface...
         Starting Login Service...
         Starting WPA supplicant...
[  OK  ] Started Network Name Resolution.
[  OK  ] Finished Remove Stale Onli…ext4 Metadata Check Snapshots.
[  OK  ] Started System Logging Service.
[  OK  ] Reached target Host and Network Name Lookups.
[  OK  ] Started Login Service.
[  OK  ] Started WPA supplicant.
[  OK  ] Started Dispatcher daemon for systemd-networkd.
[  OK  ] Stopped Wait for Network to be Configured.
         Stopping Network Service...
[  OK  ] Stopped Network Service.
         Starting Network Service...
[  OK  ] Started Network Service.
         Stopping Network Service...
[  OK  ] Stopped Network Service.
[  OK  ] Started WPA supplicant for netplan wlan0.
         Starting Network Service...
[  OK  ] Finished configure wlan1 interface.
[  OK  ] Started Network Service.
[  OK  ] Reached target Network.
[  OK  ] Reached target Network is Online.
         Starting The Apache HTTP Server...
         Starting Advanced IEEE 802…/WPA/WPA2/EAP Authenticator...
[  OK  ] Started ISC DHCP IPv4 server.
[  OK  ] Started ISC DHCP IPv6 server.
         Starting configure wlan1 interface...
         Starting OpenBSD Secure Shell server...
         Starting Permit User Sessions...
[FAILED] Failed to start Advanced I…1X/WPA/WPA2/EAP Authenticator.
See 'systemctl status hostapd.service' for details.
[  OK  ] Finished Permit User Sessions.
[  OK  ] Started Serial Getty on ttyPS0.
         Starting Set console scheme...
[  OK  ] Finished configure wlan1 interface.
[  OK  ] Finished Set console scheme.

Ubuntu 20.04 LTS snickerdoodle ttyPS0

snickerdoodle login: [  OK  ] Stopped ISC DHCP IPv4 server.
[  OK  ] Started ISC DHCP IPv4 server.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Finished Update UTMP about System Runlevel Changes.
         Starting Daily apt download activities...
         Starting Online ext4 Metad…a Check for All Filesystems...
         Starting Discard unused bl…filesystems from /etc/fstab...
         Starting Message of the Day...
         Starting Clean php session files...
         Starting Rotate log files...
[  OK  ] Finished Online ext4 Metadata Check for All Filesystems.
[  OK  ] Finished Message of the Day.
[FAILED] Failed to start firstboot.service.
See 'systemctl status firstboot.service' for details.
[  OK  ] Finished Rotate log files.

snickerdoodle login: admin


[  OK  ] Finished Clean php session files.

Login timed out aftå[  OK  ] Stopped Serial Getty on ttyPS0.
[  OK  ] Started Serial Getty on ttyPS0.

Ubuntu 20.04 LTS snickerdoodle ttyPS0

snickerdoodle login: admin
Password:
You are required to change your password immediately (administrator enforced)
Changing password for admin.
Current password:
New password:
Retype new password:
You must choose a longer password
New password:
Retype new password:
Password unchanged
New password:
Retype new password:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-snickerdoodle-00001-gdfb1b1836d41 armv7l)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

admin@snickerdoodle:~$ uname -a
Linux snickerdoodle 5.4.0-snickerdoodle-00001-gdfb1b1836d41 #2 SMP PREEMPT Fri Jan 22 19:25:47 UTC 2021 armv7l armv7l armv7l GNU/Linux
admin@snickerdoodle:~$

JTAG Hardware Device Properties

Digilent JTAG-HS3 Properties

CLASS	hw_target
DEVICE_COUNT	2
HW_JTAG	
IS_OPENED	true
IS_SVF	false
MAX_DEVICE_COUNT	32
NAME	localhost:3121/xilinx_tcf/Digilent/210299B71598
TID	jsn-JTAG-HS3-210299B71598
UID	Digilent/210299B71598

arm_dap_0 Properties

xc7z020_1 Properties

XADC (System Monitor) Properties

ADC_A_GAIN	0042
ADC_A_OFFSET	fff9
ADC_B_GAIN	0041
ADC_B_OFFSET	ffed
CLASS	hw_sysmon
DESCRIPTION	XADC
ENABLE_ALL_AUXILIARY_CHANNELS	false
LOWER_OT	-273.1
LOWER_OT_SCALE	CELSIUS
LOWER_TEMPERATURE	-273.1
LOWER_TEMPERATURE_SCALE	CELSIUS
LOWER_VCCAUX	0.000
LOWER_VCCBRAM	0.000
LOWER_VCCINT	0.000
LOWER_VCCO_DDR	0.000
LOWER_VCCPAUX	0.000
LOWER_VCCPINT	0.000
MAX_TEMPERATURE	45.0
MAX_TEMPERATURE_SCALE	CELSIUS
MAX_VCCAUX	1.805
MAX_VCCBRAM	1.003
MAX_VCCINT	1.003
MAX_VCCO_DDR	1.208
MAX_VCCPAUX	1.804
MAX_VCCPINT	1.002
MIN_TEMPERATURE	29.7
MIN_TEMPERATURE_SCALE	CELSIUS
MIN_VCCAUX	1.799
MIN_VCCBRAM	0.997
MIN_VCCINT	0.997
MIN_VCCO_DDR	1.203
MIN_VCCPAUX	1.798
MIN_VCCPINT	0.993
NAME	localhost:3121/xilinx_tcf/Digilent/210299B71598/xc7z020_1/SYSMON
OT_AUTOMATIC_SHUTDOWN	0000
SUPPLY_A_OFFSET	0015
SUPPLY_B_OFFSET	000d
SYSMON_REFRESH_RATE_MS	0
TEMPERATURE	44.4
TEMPERATURE_SCALE	CELSIUS
UPPER_OT	-273.1
UPPER_OT_SCALE	CELSIUS
UPPER_TEMPERATURE	-273.1
UPPER_TEMPERATURE_SCALE	CELSIUS
UPPER_VCCAUX	0.000
UPPER_VCCBRAM	0.000
UPPER_VCCINT	0.000
UPPER_VCCO_DDR	0.000
UPPER_VCCPAUX	0.000
UPPER_VCCPINT	0.000
VAUXP0_VAUXN0	0.000
VAUXP1_VAUXN1	0.000
VAUXP2_VAUXN2	0.000
VAUXP3_VAUXN3	0.000
VAUXP4_VAUXN4	0.000
VAUXP5_VAUXN5	0.000
VAUXP6_VAUXN6	0.000
VAUXP7_VAUXN7	0.000
VAUXP8_VAUXN8	0.000
VAUXP9_VAUXN9	0.000
VAUXP10_VAUXN10	0.000
VAUXP11_VAUXN11	0.000
VAUXP12_VAUXN12	0.000
VAUXP13_VAUXN13	0.000
VAUXP14_VAUXN14	0.000
VAUXP15_VAUXN15	0.000
VCCAUX	1.801
VCCBRAM	1.000
VCCINT	1.000
VCCO_DDR	1.206
VCCPAUX	1.800
VCCPINT	0.998
VP_VN	0.000
VREFN	0.000
VREFP	0.000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment