Skip to content

Instantly share code, notes, and snippets.

@alexanderhiam
Last active August 29, 2015 14:03
Show Gist options
  • Save alexanderhiam/5143fadebb25adee50b6 to your computer and use it in GitHub Desktop.
Save alexanderhiam/5143fadebb25adee50b6 to your computer and use it in GitHub Desktop.
root@beaglebone:~/pruspeak/src/driver# insmod ./pru_speak.ko
root@beaglebone:~/pruspeak/src/driver# lsmod | grep pru
pru_speak 22648 0
root@beaglebone:~/pruspeak/src/driver# ls /lib/firmware/ | grep pru
pru_firmware
root@beaglebone:~/pruspeak/src/driver# echo BB-BONE-PRU-07 > $SLOTS
root@beaglebone:~/pruspeak/src/driver# cat $SLOTS
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-BONE-PRU-07
root@beaglebone:~/pruspeak/src/driver# dmesg | tail -n 50
[ 175.948069] pru_speak loaded
[ 266.220160] bone-capemgr bone_capemgr.9: part_number 'BB-BONE-PRU-07', version 'N/A'
[ 266.220343] bone-capemgr bone_capemgr.9: slot #7: generic override
[ 266.220390] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 7
[ 266.220440] bone-capemgr bone_capemgr.9: slot #7: 'Override Board Name,00A0,Override Manuf,BB-BONE-PRU-07'
[ 266.220684] bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'BB-BONE-PRU-07-00A0.dtbo
[ 266.220733] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware 'BB-BONE-PRU-07-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[ 266.226189] bone-capemgr bone_capemgr.9: slot #7: dtbo 'BB-BONE-PRU-07-00A0.dtbo' loaded; converting to live tree
[ 266.228701] bone-capemgr bone_capemgr.9: slot #7: #2 overlays
[ 266.249842] omap_hwmod: pruss: failed to hardreset
[ 266.255619] pru_speak 4a300000.prurproc: #8 PRU interrupts registered
[ 266.255845] pru_speak 4a300000.prurproc: sysevent-to-channel-map [17] <- 1
[ 266.255882] pru_speak 4a300000.prurproc: sysevent-to-channel-map [18] <- 0
[ 266.255916] pru_speak 4a300000.prurproc: sysevent-to-channel-map [19] <- 2
[ 266.255949] pru_speak 4a300000.prurproc: sysevent-to-channel-map [20] <- 3
[ 266.255981] pru_speak 4a300000.prurproc: sysevent-to-channel-map [21] <- 0
[ 266.256014] pru_speak 4a300000.prurproc: sysevent-to-channel-map [22] <- 1
[ 266.256047] pru_speak 4a300000.prurproc: sysevent-to-channel-map [24] <- 4
[ 266.256079] pru_speak 4a300000.prurproc: sysevent-to-channel-map [25] <- 5
[ 266.256111] pru_speak 4a300000.prurproc: sysevent-to-channel-map [26] <- 6
[ 266.256143] pru_speak 4a300000.prurproc: sysevent-to-channel-map [27] <- 7
[ 266.256191] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [0] <- 0
[ 266.256224] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [1] <- 1
[ 266.256257] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [2] <- 2
[ 266.256288] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [3] <- 3
[ 266.256320] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [4] <- 0
[ 266.256352] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [5] <- 6
[ 266.256570] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [6] <- 1
[ 266.256609] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [7] <- 7
[ 266.256682] pru_speak 4a300000.prurproc: found #1 PRUs
[ 266.262810] pru_speak 4a300000.prurproc: PRU0 #1 vdevs, #2 vrings total
[ 266.262941] Entering SHM section
[ 266.262971] Starting to initialize SHMs
[ 266.262992] Initializing shm #0 for PRU0
[ 266.263027] Initializing shm #1 for PRU0
[ 266.263055] SHM initalization sequence is now complete
[ 266.263075] clean up the sysev to target map
[ 266.263096] fill in the sysev target map for std. signaling
[ 266.263117] fill in the sysev target map from vring info
[ 266.263137] dump the sysev target map
[ 266.263155] register the interrupts
[ 266.263415] start the remote procs
[ 266.263599] remoteproc0: 4a300000.prurproc is available
[ 266.263628] remoteproc0: Note: remoteproc is still under development and considered experimental.
[ 266.263655] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 266.263884] Creating sysfs entries
[ 266.268480] pru_speak 4a300000.prurproc: Loaded OK
[ 266.268904] Probe successful
[ 266.271654] bone-capemgr bone_capemgr.9: slot #7: Applied #2 overlays.
[ 266.346193] remoteproc0: failed to load pru_firmware
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.8.13-bone60 (root@imx6q-wandboard-2gb-0) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Mon Jul 7 20:34:48 UTC 2014
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=50c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x BeagleBone
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 130816
[ 0.000000] free_area_init_node: node 0, pgdat c08b2640, node_mem_map c092d000
[ 0.000000] Normal zone: 1024 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 129792 pages, LIFO batch:31
[ 0.000000] AM335X ES2.0 (l2cache sgx neon )
[ 0.000000] PERCPU: Embedded 9 pages/cpu @c0d3d000 s14080 r8192 d14592 u36864
[ 0.000000] pcpu-alloc: s14080 r8192 d14592 u36864 alloc=9*4096
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129792
[ 0.000000] Kernel command line: console=ttyO0,115200n8 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc ip= quiet init=/lib/systemd/systemd
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] __ex_table already sorted, skipping sort
[ 0.000000] allocated 1048576 bytes of page_cgroup
[ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[ 0.000000] Memory: 511MB = 511MB total
[ 0.000000] Memory: 505324k/505324k available, 18964k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf800000 - 0xbfe00000 ( 6 MB)
[ 0.000000] .text : 0xc0008000 - 0xc07ef7b8 (8094 kB)
[ 0.000000] .init : 0xc07f0000 - 0xc082d700 ( 246 kB)
[ 0.000000] .data : 0xc082e000 - 0xc08b5600 ( 542 kB)
[ 0.000000] .bss : 0xc08b5600 - 0xc092cd80 ( 478 kB)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[ 0.000000] NR_IRQS:0 nr_irqs:0 0
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: GPTIMER1 at 24000000 Hz
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz
[ 0.000000] Console: colour dummy device 80x30
[ 0.000235] Calibrating delay loop... 993.47 BogoMIPS (lpj=969728)
[ 0.029193] pid_max: default: 32768 minimum: 301
[ 0.029329] Security Framework initialized
[ 0.029387] Mount-cache hash table entries: 512
[ 0.035022] Initializing cgroup subsys cpuacct
[ 0.035077] Initializing cgroup subsys memory
[ 0.035121] Initializing cgroup subsys blkio
[ 0.035213] CPU: Testing write buffer coherency: ok
[ 0.035588] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.035640] Setting up static identity map for 0x804d2a48 - 0x804d2a94
[ 0.036582] Brought up 1 CPUs
[ 0.036595] SMP: Total of 1 processors activated (993.47 BogoMIPS).
[ 0.037374] devtmpfs: initialized
[ 0.094953] pinctrl core: initialized pinctrl subsystem
[ 0.095091] rstctl core: initialized rstctl subsystem
[ 0.095392] regulator-dummy: no parameters
[ 0.095765] NET: Registered protocol family 16
[ 0.096328] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.101939] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 0.102478] platform 49000000.edma: alias fck already exists
[ 0.102495] platform 49000000.edma: alias fck already exists
[ 0.102508] platform 49000000.edma: alias fck already exists
[ 0.103099] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
[ 0.103191] OMAP GPIO hardware version 0.1
[ 0.104056] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
[ 0.104718] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
[ 0.105445] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
[ 0.105703] of_get_named_gpio_flags exited with status 52
[ 0.105719] gpio-rctrl rstctl.4: loaded OK
[ 0.108805] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.110089] cpsw.0: No hwaddr in dt. Using c8:a0:30:c4:d3:25 from efuse
[ 0.110108] cpsw.1: No hwaddr in dt. Using c8:a0:30:c4:d3:27 from efuse
[ 0.118308] bio: create slab <bio-0> at 0
[ 0.124640] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[ 0.124791] of_get_named_gpio_flags: can't parse gpios property
[ 0.124962] vmmcsd_fixed: 3300 mV
[ 0.126449] SCSI subsystem initialized
[ 0.126683] usbcore: registered new interface driver usbfs
[ 0.126740] usbcore: registered new interface driver hub
[ 0.126981] usbcore: registered new device driver usb
[ 0.128184] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 0.129159] input: tps65217_pwr_but as /devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0
[ 0.130397] DCDC1: at 1500 mV
[ 0.131272] vdd_mpu: 925 <--> 1325 mV at 1325 mV
[ 0.132091] vdd_core: 925 <--> 1150 mV at 1125 mV
[ 0.132906] LDO1: at 1800 mV
[ 0.133696] LDO2: at 3300 mV
[ 0.135181] LDO3: 1800 mV
[ 0.135988] LDO4: at 3300 mV
[ 0.136730] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[ 0.137183] omap_i2c 44e0b000.i2c: unable to select pin group
[ 0.137643] omap_i2c 4819c000.i2c: bus 1 rev0.11 at 100 kHz
[ 0.139073] omap_i2c 4819c000.i2c: unable to select pin group
[ 0.139213] media: Linux media interface: v0.10
[ 0.139278] Linux video capture interface: v2.00
[ 0.139349] pps_core: LinuxPPS API ver. 1 registered
[ 0.139357] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.139751] Advanced Linux Sound Architecture Driver Initialized.
[ 0.140323] NetLabel: Initializing
[ 0.140333] NetLabel: domain hash size = 128
[ 0.140339] NetLabel: protocols = UNLABELED CIPSOv4
[ 0.140403] NetLabel: unlabeled traffic allowed by default
[ 0.140726] Switching to clocksource gp_timer
[ 0.172272] NET: Registered protocol family 2
[ 0.172899] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.172980] TCP bind hash table entries: 4096 (order: 4, 81920 bytes)
[ 0.173062] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.173123] TCP: reno registered
[ 0.173138] UDP hash table entries: 256 (order: 1, 12288 bytes)
[ 0.173162] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
[ 0.173394] NET: Registered protocol family 1
[ 0.173793] RPC: Registered named UNIX socket transport module.
[ 0.173805] RPC: Registered udp transport module.
[ 0.173812] RPC: Registered tcp transport module.
[ 0.173819] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.174142] Trying to unpack rootfs image as initramfs...
[ 0.374314] Freeing initrd memory: 2888K
[ 0.374659] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
[ 0.374911] CPU PMU: attempt to register multiple PMU devices!
[ 0.374934] arm-pmu: probe of arm-pmu failed with error -28
[ 0.375317] omap2_mbox_probe: platform not supported
[ 0.525368] VFS: Disk quotas dquot_6.5.2
[ 0.525507] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.526334] NFS: Registering the id_resolver key type
[ 0.526403] Key type id_resolver registered
[ 0.526412] Key type id_legacy registered
[ 0.526694] fuse init (API version 7.20)
[ 0.527085] Btrfs loaded
[ 0.527195] msgmni has been set to 992
[ 0.528901] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.528916] io scheduler noop registered
[ 0.528925] io scheduler deadline registered
[ 0.528948] io scheduler cfq registered (default)
[ 0.530187] tps65217-bl tps65217-bl: no platform data provided
[ 0.530210] tps65217-bl: probe of tps65217-bl failed with error -22
[ 0.530732] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.532110] omap_uart 44e09000.serial: did not get pins for uart0 error: -19
[ 0.532385] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[ 0.544244] console [ttyO0] enabled
[ 0.544893] [drm] Initialized drm 1.1.0 20060810
[ 0.552316] brd: module loaded
[ 0.556086] loop: module loaded
[ 0.556167] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 0.556210] at24 1-0054: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 0.556245] at24 1-0055: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 0.556280] at24 1-0056: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 0.556315] at24 1-0057: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 0.563085] bone-capemgr bone_capemgr.9: Baseboard: 'A335BNLT,0A5C,3413BBBK0022'
[ 0.563110] bone-capemgr bone_capemgr.9: compatible-baseboard=ti,beaglebone-black
[ 0.563153] bone-capemgr bone_capemgr.9: Skipping disabled cape with part# BB-BONELT-HDMI
[ 0.563200] bone-capemgr bone_capemgr.9: Skipping disabled cape with part# BB-BONELT-HDMIN
[ 0.593920] bone-capemgr bone_capemgr.9: slot #0: No cape found
[ 0.631026] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 0.668134] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 0.705243] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 0.711444] bone-capemgr bone_capemgr.9: slot #4: specific override
[ 0.711467] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 4
[ 0.711483] bone-capemgr bone_capemgr.9: slot #4: 'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G'
[ 0.711564] bone-capemgr bone_capemgr.9: slot #5: specific override
[ 0.711582] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 5
[ 0.711596] bone-capemgr bone_capemgr.9: slot #5: 'Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI'
[ 0.711665] bone-capemgr bone_capemgr.9: slot #6: specific override
[ 0.711683] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 6
[ 0.711697] bone-capemgr bone_capemgr.9: slot #6: 'Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN'
[ 0.711861] bone-capemgr bone_capemgr.9: Skipping loading of disabled cape with part# BB-BONELT-HDMI
[ 0.711874] bone-capemgr bone_capemgr.9: Skipping loading of disabled cape with part# BB-BONELT-HDMIN
[ 0.712015] bone-capemgr bone_capemgr.9: initialized OK.
[ 0.713772] OneNAND driver initializing
[ 0.714603] usbcore: registered new interface driver cdc_ether
[ 0.714661] usbcore: registered new interface driver rndis_host
[ 0.714760] usbcore: registered new interface driver cdc_ncm
[ 0.715170] bone-capemgr bone_capemgr.9: loader: before slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.715186] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.715201] bone-capemgr bone_capemgr.9: loader: after slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.715221] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware 'cape-bone-2g-emmc1.dtbo' for board-name 'Bone-LT-eMMC-2G', version '00A0'
[ 0.715239] bone-capemgr bone_capemgr.9: slot #4: dtbo 'cape-bone-2g-emmc1.dtbo' loaded; converting to live tree
[ 0.715434] bone-capemgr bone_capemgr.9: slot #4: #2 overlays
[ 0.716011] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.
[ 0.716028] bone-capemgr bone_capemgr.9: loader: done slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 0.716289] usbcore: registered new interface driver cdc_acm
[ 0.716299] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 0.716306] Initializing USB Mass Storage driver...
[ 0.716383] usbcore: registered new interface driver usb-storage
[ 0.716390] USB Mass Storage support registered.
[ 0.716526] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[ 0.716757] musb-hdrc musb-hdrc.0.auto: pdev->id = 0
[ 0.716771] musb-hdrc musb-hdrc.0.auto: drivers/usb/musb/musb_dsps.c:468 dsps_musb_init: OK
[ 0.716798] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[ 0.716808] musb-hdrc: MHDRC RTL version 2.0
[ 0.716816] musb-hdrc: setup fifo_mode 4
[ 0.716831] musb-hdrc: 28/31 max ep, 16384/16384 memory
[ 0.716914] musb-hdrc musb-hdrc.0.auto: *** mode=3
[ 0.716925] musb-hdrc musb-hdrc.0.auto: *** power=250
[ 0.717502] musb-hdrc musb-hdrc.1.auto: pdev->id = 1
[ 0.717518] musb-hdrc musb-hdrc.1.auto: drivers/usb/musb/musb_dsps.c:468 dsps_musb_init: OK
[ 0.717542] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[ 0.717552] musb-hdrc: MHDRC RTL version 2.0
[ 0.717558] musb-hdrc: setup fifo_mode 4
[ 0.717569] musb-hdrc: 28/31 max ep, 16384/16384 memory
[ 0.717634] musb-hdrc musb-hdrc.1.auto: *** mode=1
[ 0.717644] musb-hdrc musb-hdrc.1.auto: *** power=250
[ 0.717656] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 0.717878] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 0.717908] musb-hdrc musb-hdrc.1.auto: supports USB remote wakeup
[ 0.717975] usb usb1: default language 0x0409
[ 0.718015] usb usb1: udev 1, busnum 1, minor = 0
[ 0.718027] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.718037] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.718047] usb usb1: Product: MUSB HDRC host driver
[ 0.718056] usb usb1: Manufacturer: Linux 3.8.13-bone60 musb-hcd
[ 0.718066] usb usb1: SerialNumber: musb-hdrc.1.auto
[ 0.718457] usb usb1: usb_probe_device
[ 0.718472] usb usb1: configuration #1 chosen from 1 choice
[ 0.718512] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[ 0.718610] hub 1-0:1.0: usb_probe_interface
[ 0.718622] hub 1-0:1.0: usb_probe_interface - got id
[ 0.718637] hub 1-0:1.0: USB hub found
[ 0.718661] hub 1-0:1.0: 1 port detected
[ 0.718670] hub 1-0:1.0: standalone hub
[ 0.718679] hub 1-0:1.0: individual port power switching
[ 0.718688] hub 1-0:1.0: no over-current protection
[ 0.718696] hub 1-0:1.0: Single TT
[ 0.718706] hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
[ 0.718716] hub 1-0:1.0: power on to power good time: 10ms
[ 0.718736] hub 1-0:1.0: local power source is good
[ 0.718799] hub 1-0:1.0: enabling power on all ports
[ 0.719481] mousedev: PS/2 mouse device common for all mice
[ 0.721015] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[ 0.721056] 44e3e000.rtc: already running
[ 0.721221] i2c /dev entries driver
[ 0.722179] pps_ldisc: PPS line discipline registered
[ 0.722263] Driver for 1-wire Dallas network protocol.
[ 0.723574] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 0.723976] device-mapper: ioctl: 4.23.1-ioctl (2012-12-18) initialised: dm-devel@redhat.com
[ 0.724010] cpuidle: using governor ladder
[ 0.724019] cpuidle: using governor menu
[ 0.724263] of_get_named_gpio_flags exited with status 6
[ 0.724274] of_get_named_gpio_flags: can't parse gpios property
[ 0.724282] of_get_named_gpio_flags: can't parse gpios property
[ 0.724302] omap_hsmmc mmc.5: of_parse_phandle_with_args of 'reset' failed
[ 0.731530] omap_hsmmc mmc.5: Failed to get rstctl; not using any
[ 0.731860] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
[ 0.731906] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
[ 0.732081] mmc.5 supply vmmc_aux not found, using dummy regulator
[ 0.732411] omap_hsmmc mmc.5: pins are not configured from the driver
[ 0.760104] of_get_named_gpio_flags: can't parse gpios property
[ 0.760118] of_get_named_gpio_flags: can't parse gpios property
[ 0.760125] of_get_named_gpio_flags: can't parse gpios property
[ 0.760157] gpio-rctrl rstctl.4: gpio_rctrl_request eMMC_RSTn
[ 0.760219] omap_hsmmc mmc.11: Got rstctl (gpio:#0 name eMMC_RSTn) label:eMMC_RSTn
[ 0.760230] gpio-rctrl rstctl.4: gpio_rctrl_deassert eMMC_RSTn
[ 0.760495] edma-dma-engine edma-dma-engine.0: allocated channel for 0:3
[ 0.760538] edma-dma-engine edma-dma-engine.0: allocated channel for 0:2
[ 0.760900] mmc.11 supply vmmc_aux not found, using dummy regulator
[ 0.760965] omap_hsmmc mmc.11: pins are not configured from the driver
[ 0.787531] pinctrl-single 44e10800.pinmux: pin 44e10854 already requested by 44e10800.pinmux; cannot claim for gpio-leds.8
[ 0.799188] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status -22
[ 0.806463] pinctrl-single 44e10800.pinmux: could not request pin 21 on device pinctrl-single
[ 0.815396] leds-gpio gpio-leds.8: pins are not configured from the driver
[ 0.815419] of_get_named_gpio_flags exited with status 53
[ 0.815430] of_get_named_gpio_flags exited with status 54
[ 0.815441] of_get_named_gpio_flags exited with status 55
[ 0.815450] of_get_named_gpio_flags exited with status 56
[ 0.815462] of_get_named_gpio_flags exited with status 53
[ 0.815600] of_get_named_gpio_flags exited with status 54
[ 0.815735] of_get_named_gpio_flags exited with status 55
[ 0.815840] of_get_named_gpio_flags exited with status 56
[ 0.816157] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.816403] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36
[ 0.816456] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[ 0.817743] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[ 0.817820] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5
[ 0.817861] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6
[ 0.820616] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
[ 0.820669] hub 1-0:1.0: hub_suspend
[ 0.820695] usb usb1: bus auto-suspend, wakeup 1
[ 0.821136] usbcore: registered new interface driver usbhid
[ 0.821145] usbhid: USB HID core driver
[ 0.822049] ashmem: initialized
[ 0.822249] logger: created 256K log 'log_main'
[ 0.822556] logger: created 256K log 'log_events'
[ 0.822810] logger: created 256K log 'log_radio'
[ 0.823002] logger: created 256K log 'log_system'
[ 0.825099] TCP: cubic registered
[ 0.825177] NET: Registered protocol family 10
[ 0.826068] NET: Registered protocol family 17
[ 0.826293] Key type dns_resolver registered
[ 0.826580] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.826638] ThumbEE CPU extension supported.
[ 0.826669] Registering SWP/SWPB emulation handler
[ 0.827193] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 0.827381] registered taskstats version 1
[ 0.841995] mmc0: new high speed SDHC card at address b368
[ 0.842511] mmcblk0: mmc0:b368 SD 7.51 GiB
[ 0.843883] mmcblk0: p1 p2
[ 0.877132] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 0.877149] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
[ 0.884408] libphy: 4a101000.mdio: probed
[ 0.884437] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[ 0.884605] Detected MACID = c8:a0:30:c4:d3:25
[ 0.884701] cpsw 4a100000.ethernet: NAPI disabled
[ 0.885862] omap_rtc 44e3e000.rtc: setting system clock to 2014-01-17 06:12:41 UTC (1389939161)
[ 0.890911] ALSA device list:
[ 0.890933] No soundcards found.
[ 0.891562] Freeing init memory: 244K
[ 0.902063] mmc1: BKOPS_EN bit is not set
[ 0.904781] mmc1: new high speed MMC card at address 0001
[ 0.907149] mmcblk1: mmc1:0001 MMC02G 1.78 GiB
[ 0.908523] mmcblk1boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
[ 0.910488] mmcblk1boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
[ 0.913243] mmcblk1: p1 p2
[ 0.915342] mmcblk1boot1: unknown partition table
[ 0.916889] mmcblk1boot0: unknown partition table
[ 0.969334] udevd[95]: starting version 175
[ 2.241920] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem
[ 2.241940] EXT4-fs (mmcblk0p2): write access will be enabled during recovery
[ 6.746654] EXT4-fs (mmcblk0p2): recovery complete
[ 6.964208] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 8.670479] udevd[236]: starting version 175
[ 9.460926] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro
[ 16.051670] gadget: using random self ethernet address
[ 16.055671] usb0: MAC e2:07:88:bc:8d:2a
[ 16.055689] usb0: HOST MAC c8:a0:30:c4:d3:27
[ 16.062821] gadget: Mass Storage Function, version: 2009/09/11
[ 16.062843] gadget: Number of LUNs=1
[ 16.062866] lun0: LUN: removable file: /dev/mmcblk0p1
[ 16.062994] gadget: Multifunction Composite Gadget
[ 16.063015] gadget: g_multi ready
[ 16.063056] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
[ 16.063382] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 2
[ 16.063411] musb-hdrc musb-hdrc.0.auto: supports USB remote wakeup
[ 16.063480] usb usb2: default language 0x0409
[ 16.063513] usb usb2: udev 1, busnum 2, minor = 128
[ 16.063525] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 16.063536] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 16.063545] usb usb2: Product: MUSB HDRC host driver
[ 16.063555] usb usb2: Manufacturer: Linux 3.8.13-bone60 musb-hcd
[ 16.063564] usb usb2: SerialNumber: musb-hdrc.0.auto
[ 16.071084] usb usb2: usb_probe_device
[ 16.071108] usb usb2: configuration #1 chosen from 1 choice
[ 16.071165] usb usb2: adding 2-0:1.0 (config #1, interface 0)
[ 16.071296] hub 2-0:1.0: usb_probe_interface
[ 16.071309] hub 2-0:1.0: usb_probe_interface - got id
[ 16.071328] hub 2-0:1.0: USB hub found
[ 16.071366] hub 2-0:1.0: 1 port detected
[ 16.071376] hub 2-0:1.0: standalone hub
[ 16.071384] hub 2-0:1.0: individual port power switching
[ 16.071394] hub 2-0:1.0: no over-current protection
[ 16.071402] hub 2-0:1.0: Single TT
[ 16.071413] hub 2-0:1.0: TT requires at most 8 FS bit times (666 ns)
[ 16.071423] hub 2-0:1.0: power on to power good time: 10ms
[ 16.071445] hub 2-0:1.0: local power source is good
[ 16.071502] hub 2-0:1.0: enabling power on all ports
[ 16.172311] hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
[ 16.172493] hub 2-0:1.0: hub_suspend
[ 16.172523] usb usb2: bus auto-suspend, wakeup 1
[ 18.241547] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[ 25.157305] net eth0: initializing cpsw version 1.12 (0)
[ 25.161780] net eth0: phy found : id is : 0x7c0f1
[ 25.161839] libphy: PHY 4a101000.mdio:01 not found
[ 25.167095] net eth0: phy 4a101000.mdio:01 not found on slave 1
[ 25.183064] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 28.239089] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
[ 28.239243] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 30.775040] net eth0: initializing cpsw version 1.12 (0)
[ 30.777886] net eth0: phy found : id is : 0x7c0f1
[ 30.777911] libphy: PHY 4a101000.mdio:01 not found
[ 30.782983] net eth0: phy 4a101000.mdio:01 not found on slave 1
[ 30.793514] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 31.192779] net eth0: initializing cpsw version 1.12 (0)
[ 31.195576] net eth0: phy found : id is : 0x7c0f1
[ 31.195618] libphy: PHY 4a101000.mdio:01 not found
[ 31.200683] net eth0: phy 4a101000.mdio:01 not found on slave 1
[ 31.211189] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 33.204052] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
[ 33.204174] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 1251.428146] pru_speak loaded
[ 1261.980441] bone-capemgr bone_capemgr.9: part_number 'BB-BONE-PRU-07', version 'N/A'
[ 1261.980821] bone-capemgr bone_capemgr.9: slot #7: generic override
[ 1261.980871] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 7
[ 1261.980922] bone-capemgr bone_capemgr.9: slot #7: 'Override Board Name,00A0,Override Manuf,BB-BONE-PRU-07'
[ 1261.982969] bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'BB-BONE-PRU-07-00A0.dtbo
[ 1261.983026] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware 'BB-BONE-PRU-07-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[ 1261.987251] bone-capemgr bone_capemgr.9: slot #7: dtbo 'BB-BONE-PRU-07-00A0.dtbo' loaded; converting to live tree
[ 1261.989728] bone-capemgr bone_capemgr.9: slot #7: #2 overlays
[ 1262.010641] omap_hwmod: pruss: failed to hardreset
[ 1262.016978] pru_speak 4a300000.prurproc: #8 PRU interrupts registered
[ 1262.017167] pru_speak 4a300000.prurproc: sysevent-to-channel-map [17] <- 1
[ 1262.017204] pru_speak 4a300000.prurproc: sysevent-to-channel-map [18] <- 0
[ 1262.017237] pru_speak 4a300000.prurproc: sysevent-to-channel-map [19] <- 2
[ 1262.017270] pru_speak 4a300000.prurproc: sysevent-to-channel-map [20] <- 3
[ 1262.017302] pru_speak 4a300000.prurproc: sysevent-to-channel-map [21] <- 0
[ 1262.017335] pru_speak 4a300000.prurproc: sysevent-to-channel-map [22] <- 1
[ 1262.017367] pru_speak 4a300000.prurproc: sysevent-to-channel-map [24] <- 4
[ 1262.017399] pru_speak 4a300000.prurproc: sysevent-to-channel-map [25] <- 5
[ 1262.017431] pru_speak 4a300000.prurproc: sysevent-to-channel-map [26] <- 6
[ 1262.017464] pru_speak 4a300000.prurproc: sysevent-to-channel-map [27] <- 7
[ 1262.017512] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [0] <- 0
[ 1262.017545] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [1] <- 1
[ 1262.017578] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [2] <- 2
[ 1262.017611] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [3] <- 3
[ 1262.017643] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [4] <- 0
[ 1262.017674] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [5] <- 6
[ 1262.017706] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [6] <- 1
[ 1262.017917] pru_speak 4a300000.prurproc: channel-to-host-interrupt-map [7] <- 7
[ 1262.017995] pru_speak 4a300000.prurproc: found #1 PRUs
[ 1262.024128] pru_speak 4a300000.prurproc: PRU0 #1 vdevs, #2 vrings total
[ 1262.024244] Entering SHM section
[ 1262.024272] Starting to initialize SHMs
[ 1262.024294] Initializing shm #0 for PRU0
[ 1262.024330] Initializing shm #1 for PRU0
[ 1262.024359] SHM initalization sequence is now complete
[ 1262.024378] clean up the sysev to target map
[ 1262.024400] fill in the sysev target map for std. signaling
[ 1262.024420] fill in the sysev target map from vring info
[ 1262.024440] dump the sysev target map
[ 1262.024457] register the interrupts
[ 1262.024712] start the remote procs
[ 1262.024898] remoteproc0: 4a300000.prurproc is available
[ 1262.024925] remoteproc0: Note: remoteproc is still under development and considered experimental.
[ 1262.024951] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 1262.025148] Creating sysfs entries
[ 1262.031779] pru_speak 4a300000.prurproc: Loaded OK
[ 1262.032218] Probe successful
[ 1262.032412] bone-capemgr bone_capemgr.9: slot #7: Applied #2 overlays.
[ 1262.106761] remoteproc0: failed to load pru_firmware
[ 1279.430937] physical addr : 9f100000
[ 1279.430994] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1279.431023] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1279.529576] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1279.538099] pru_speak_init, pram value : 10, return value : -110, modified value : 0
[ 1279.558296] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1279.558342] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1279.656544] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1279.665055] write to pru_speak_execute
[ 1279.669356] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1279.669395] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1279.767876] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1279.776344] write to pru_speak_single_cmd. return value of downcall : -110
[ 1279.776369] STRLEN(buf) : 1
[ 1336.390156] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1336.390203] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1336.488589] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1336.497100] write to pru_speak_abort
[ 1395.892206] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1395.892252] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1395.990538] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1395.999060] write to pru_speak_single_cmd. return value of downcall : -110
[ 1395.999086] STRLEN(buf) : 1
[ 1401.995387] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1401.995433] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1402.094066] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1402.102599] write to pru_speak_single_cmd. return value of downcall : -110
[ 1402.102625] STRLEN(buf) : 1
[ 1447.132530] physical addr : 9f100000
[ 1447.132585] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1447.132613] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1447.230763] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1447.239235] pru_speak_init, pram value : 10, return value : -110, modified value : 16777348
[ 1447.258935] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1447.258979] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1447.357806] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1447.366312] write to pru_speak_execute
[ 1447.370760] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1447.370800] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1447.469055] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1447.477574] write to pru_speak_single_cmd. return value of downcall : -110
[ 1447.477599] STRLEN(buf) : 1
[ 1651.104843] physical addr : 9f100000
[ 1651.104899] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1651.104927] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1651.203494] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1651.212022] pru_speak_init, pram value : 10, return value : -110, modified value : 16777348
[ 1651.231761] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1651.231806] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1651.330376] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1651.338892] write to pru_speak_execute
[ 1651.343346] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1651.343388] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1651.441711] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1651.450212] write to pru_speak_single_cmd. return value of downcall : -110
[ 1651.450237] STRLEN(buf) : 1
[ 1674.297775] physical addr : 9f100000
[ 1674.297830] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1674.297858] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1674.396798] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1674.405315] pru_speak_init, pram value : 10, return value : -110, modified value : 16777348
[ 1674.424972] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1674.425015] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1674.523813] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1674.532321] write to pru_speak_execute
[ 1674.536759] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1674.536801] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1674.635057] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1674.643565] write to pru_speak_single_cmd. return value of downcall : -110
[ 1674.643590] STRLEN(buf) : 1
[ 1675.905551] physical addr : 9f100000
[ 1675.905607] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1675.905636] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1676.004569] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1676.013150] pru_speak_init, pram value : 10, return value : -110, modified value : 16777348
[ 1676.033234] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1676.033278] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1676.131149] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1676.139663] write to pru_speak_execute
[ 1676.143963] #1 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 0
[ 1676.144006] #2 Function pru_downcall - pru idx:0, sysevent : 21, dc_flags : 1
[ 1676.242614] pru_speak 4a300000.prurproc: PRU#0 failed to issue downcall ready in 100ms
[ 1676.251129] write to pru_speak_single_cmd. return value of downcall : -110
[ 1676.251154] STRLEN(buf) : 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment