mikrobus: mikrobus over greybus
Tested on PocketBeagle + ATUSB + CC1352R SensorTag:
debian@beaglebone:~$ uname -a
Linux beaglebone 5.8.18-bone23 #1xross PREEMPT Tue Dec 15 15:41:20 IST 2020 armv7l GNU/Linux
All drivers probed correctly as per manifest, but a kernel panic occurs after sometime:
debian@beaglebone:~$ dmesg
[ 218.793223] greybus 1-svc: no primary interface detected on module 2
[ 218.876678] greybus 1-2.2: Interface added (greybus)
[ 218.876707] greybus 1-2.2: GMP VID=0x00000126, PID=0x00000126
[ 218.876739] greybus 1-2.2: DDBL1 Manufacturer=0x00000126, Product=0x00000126
[ 219.296368] greybus 1-2.2: excess descriptors in interface manifest
[ 220.922786] mikrobus:mikrobus_port_gb_register: mikrobus gb_probe , num cports= 3
[ 220.922793] mikrobus:mikrobus_port_gb_register: protocol added 11
[ 220.922824] mikrobus:mikrobus_port_gb_register: protocol added 3
[ 220.922829] mikrobus:mikrobus_port_gb_register: protocol added 2
[ 220.922896] mikrobus:mikrobus_port_register: registering port mikrobus-1
[ 220.931490] mikrobus_manifest:mikrobus_manifest_attach_device: parsed device 1, driver=bme280, protocol=3, reg=76
[ 220.931526] mikrobus_manifest:mikrobus_manifest_attach_device: parsed device 2, driver=opt3001, protocol=3, reg=44
[ 220.931557] mikrobus_manifest:mikrobus_manifest_parse: Greybus Service Sample Application manifest parsed with 2 devices
[ 220.931602] mikrobus mikrobus-1: registering device : bme280
[ 220.937043] mikrobus mikrobus-1: registering device : opt3001
[ 221.628678] bmp280 3-0076: supply vddd not found, using dummy regulator
[ 221.628976] bmp280 3-0076: supply vdda not found, using dummy regulator
[ 221.630669] opt3001 3-0044: Found TI OPT3001
debian@beaglebone:~$ ls /sys/bus/iio/devices/iio\:device
iio:device0/ iio:device1/ iio:device2/
debian@beaglebone:~$ ls /sys/bus/iio/devices/iio\:device1
current_timestamp_clock dev events in_illuminance_input in_illuminance_integration_time integration_time_available name power subsystem uevent
debian@beaglebone:~$ ls /sys/bus/iio/devices/iio\:device2
dev in_humidityrelative_input in_humidityrelative_oversampling_ratio in_pressure_input in_pressure_oversampling_ratio in_temp_input in_temp_oversampling_ratio name power subsystem uevent
.
.
.
[ 235.947231] 8<--- cut here ---
[ 235.951059] Unable to handle kernel NULL pointer dereference at virtual address 00000004
[ 235.964814] pgd = 1f321289
[ 235.970754] [00000004] *pgd=00000000
[ 235.977393] Internal error: Oops: 5 [#1] PREEMPT THUMB2
[ 235.983348] Modules linked in: bmp280_i2c bmp280 opt3001 gb_netlink gb_loopback(C) gb_gpio(C) gb_i2c(C) gb_spi(C) gb_gbphy(C) gb_spilib(C) greybus nhc_udp nhc_routing nhc_ipv6 nhc_mobility nhc_hop nhc_fragment nhc_dest ieee802154_6lowpan 6lowpan evdev usb_f_acm u_serial usb_f_ncm usb_f_mass_storage usb_f_rndis u_ether libcomposite iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_filter ip_tables x_tables atusb mac802154 ieee802154 spidev [last unloaded: gb_netlink]
[ 236.028629] CPU: 0 PID: 5 Comm: kworker/0:0 Tainted: G C O 5.8.18-bone23 #1xross
[ 236.037887] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 236.044761] Workqueue: events do_work [greybus]
[ 236.050022] PC is at skb_release_data+0x52/0xe4
[ 236.055268] LR is at kfree_skb+0x23/0xa8
[ 236.059903] pc : [<c0857e6a>] lr : [<c0857583>] psr: 400f0033
[ 236.066892] sp : dc139e60 ip : a00f0013 fp : c0f1369c
[ 236.072833] r10: da5b5200 r9 : da5b5214 r8 : 00000001
[ 236.078775] r7 : da5b5300 r6 : db633c00 r5 : da5b5300 r4 : 00000000
[ 236.086026] r3 : 00000008 r2 : 00000000 r1 : 00000000 r0 : 00000000
[ 236.093279] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA Thumb Segment none
[ 236.101316] Control: 50c5387d Table: 9b5a4019 DAC: 00000051
[ 236.107785] Process kworker/0:0 (pid: 5, stack limit = 0x39163ebd)
[ 236.114689] Stack: (0xdc139e60 to 0xdc13a000)
[ 236.119766] 9e60: da5b5200 db633c00 ffffff91 bf9391cd db51c000 c0857583 db633c00 ffffff91
[ 236.128678] 9e80: dae21168 bf9391cd 00000000 00000001 00000000 c0f05288 d64e7ea0 00000000
[ 236.137590] 9ea0: 000007d0 00000cc0 da6b0e00 00000000 00000000 bf90f84d 00000cc0 d64e7ea0
[ 236.146502] 9ec0: 00000000 00000000 00000013 bf90f8b9 d64e7ea0 bf90f94d 00000000 00000cc0
[ 236.155415] 9ee0: d6543d40 db51c400 00000000 dfa07300 00000000 00000000 d6543d44 bf90e973
[ 236.164328] 9f00: 00000000 00000000 000007d0 c0153c45 c0f05288 bf90eb39 00000000 c0f05288
[ 236.173240] 9f20: dfa07305 d6543d40 dc0e5b00 00000000 dfa07300 c01377c7 dc139f50 c0137a53
[ 236.182153] 9f40: dc0e5b00 c0f1365c dc0e5b14 c0f1d060 c0f13670 dc138000 c0f1365c c0137af9
[ 236.191065] 9f60: 00000000 dc0fd080 dc0fd380 dc138000 00000000 c0137a2d dc0e5b00 dc117eb8
[ 236.199979] 9f80: dc0fd0a0 c013ba45 00000000 dc0fd380 c013b955 00000000 00000000 00000000
[ 236.208891] 9fa0: 00000000 00000000 00000000 c0100159 00000000 00000000 00000000 00000000
[ 236.217804] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 236.226716] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 236.235638] [<c0857e6a>] (skb_release_data) from [<c0857583>] (kfree_skb+0x23/0xa8)
[ 236.244032] [<c0857583>] (kfree_skb) from [<bf9391cd>] (message_send+0x91/0x12c [gb_netlink])
[ 236.253333] [<bf9391cd>] (message_send [gb_netlink]) from [<bf90f84d>] (gb_operation_request_send+0xad/0xfc [greybus])
[ 236.264799] [<bf90f84d>] (gb_operation_request_send [greybus]) from [<bf90f8b9>] (gb_operation_request_send_sync_timeout+0x1d/0x4c [greybus])
[ 236.278268] [<bf90f8b9>] (gb_operation_request_send_sync_timeout [greybus]) from [<bf90f94d>] (gb_operation_sync_timeout+0x65/0xb0 [greybus])
[ 236.291736] [<bf90f94d>] (gb_operation_sync_timeout [greybus]) from [<bf90e973>] (gb_svc_ping+0x23/0x28 [greybus])
[ 236.302849] [<bf90e973>] (gb_svc_ping [greybus]) from [<bf90eb39>] (do_work+0x19/0xe8 [greybus])
[ 236.312387] [<bf90eb39>] (do_work [greybus]) from [<c01377c7>] (process_one_work+0x127/0x38c)
[ 236.321651] [<c01377c7>] (process_one_work) from [<c0137af9>] (worker_thread+0xcd/0x3d0)
[ 236.330482] [<c0137af9>] (worker_thread) from [<c013ba45>] (kthread+0xf1/0x124)
[ 236.338526] [<c013ba45>] (kthread) from [<c0100159>] (ret_from_fork+0x11/0x38)
[ 236.346474] Exception stack(0xdc139fb0 to 0xdc139ff8)
[ 236.352244] 9fa0: 00000000 00000000 00000000 00000000
[ 236.361156] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 236.370067] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 236.377413] Code: 78bb 42a3 dd1b 6aa8 (6843) 07da
[ 236.394147] ---[ end trace dc655e652b764722 ]---
Signed-off-by:
Vaishnav M A <vaishnav@beagleboard.org>
Showing
- drivers/greybus/manifest.c 18 additions, 0 deletionsdrivers/greybus/manifest.c
- drivers/misc/mikrobus/mikrobus_core.c 88 additions, 2 deletionsdrivers/misc/mikrobus/mikrobus_core.c
- drivers/misc/mikrobus/mikrobus_core.h 0 additions, 202 deletionsdrivers/misc/mikrobus/mikrobus_core.h
- drivers/misc/mikrobus/mikrobus_id.c 2 additions, 2 deletionsdrivers/misc/mikrobus/mikrobus_id.c
- drivers/misc/mikrobus/mikrobus_manifest.c 1 addition, 1 deletiondrivers/misc/mikrobus/mikrobus_manifest.c
- drivers/misc/mikrobus/mikrobus_manifest.h 1 addition, 1 deletiondrivers/misc/mikrobus/mikrobus_manifest.h
- drivers/staging/greybus/gbphy.c 4 additions, 6 deletionsdrivers/staging/greybus/gbphy.c
- drivers/staging/greybus/gpio.c 1 addition, 25 deletionsdrivers/staging/greybus/gpio.c
- drivers/staging/greybus/i2c.c 1 addition, 10 deletionsdrivers/staging/greybus/i2c.c
- drivers/staging/greybus/pwm.c 1 addition, 1 deletiondrivers/staging/greybus/pwm.c
- drivers/staging/greybus/sdio.c 1 addition, 1 deletiondrivers/staging/greybus/sdio.c
- drivers/staging/greybus/spi.c 1 addition, 1 deletiondrivers/staging/greybus/spi.c
- drivers/staging/greybus/spilib.c 1 addition, 18 deletionsdrivers/staging/greybus/spilib.c
- drivers/staging/greybus/uart.c 1 addition, 1 deletiondrivers/staging/greybus/uart.c
- drivers/staging/greybus/usb.c 1 addition, 1 deletiondrivers/staging/greybus/usb.c
- include/linux/greybus/bundle.h 2 additions, 0 deletionsinclude/linux/greybus/bundle.h
- include/linux/greybus/interface.h 2 additions, 0 deletionsinclude/linux/greybus/interface.h
Please register or sign in to comment