I figured out that I needed to select specific tagged versions from the restool repository that are compatible with my bootloader and kernel.
I am trying to run a Debian mainline kernel in order to offload some security maintenance concerns to the expert Debian team.
Consequently, it seems that I need to boot my Honeycomb machine using a lx2160a_uefi image. These images will boot the Debian installer from a USB stick and have no trouble booting standard Debian kernels after install.
It seems that the latest git tagged version of restool, which works with these lx2160a_uefi images, is git tag: ‘lf-5.10.52-2.1.0’ which builds ‘restool --version’:
restool v2.3 (commit lf-5.10.52-2.1.0)
I tried many others, but I believe that is the latest version that will work.
I could get the latest u-boot bootloader to boot a Debian mainline kernel, but no matter which version of restool I compiled I could not get the SFP+ ports to work.
If I boot with a u-boot bootloader then Debian mainline kernels generated boot messages like:
fsl-mc: Deploying data path layout … WARNING: Firmware returned an error (GSR:
0x3f)
[ 2.083882] fsl_mc_dprc dprc.1: Adding to iommu group 0
[ 2.138852] fsl_mc_allocator dpbp.1: Adding to iommu group 0
[ 2.138937] fsl_mc_allocator dpbp.0: Adding to iommu group 0
[ 2.140017] fsl_mc_allocator dpmcp.35: Adding to iommu group 0
…
[ 23.785022] fsl_mc_dprc dprc.1 (unnamed net_device) (uninitialized): netif_na
pi_add_weight() called with weight 512
[ 23.826712] dpaa2_caam dpseci.0: FD error: 000000a0
…
Then occasionally this happens:
[ 69.806895] ------------[ cut here ]------------
[ 69.806905] WARNING: CPU: 1 PID: 461 at drivers/soc/fsl/dpio/qbman-portal.c:1
580 qbman_swp_acquire+0x1bc/0x1f4 [fsl_mc_dpio]
[ 69.806935] Modules linked in: sr9700 lz4 lz4_compress zram dm9601 zsmalloc u
sbnet mii fsl_dpaa2_ptp nls_ascii nls_cp437 vfat fat fsl_dpaa2_eth dpaa2_caam lm
90 at24 ext4 caam_jr xhci_plat_hcd ptp_qoriq caamhash_desc ofpart crc16 caamalg_
desc xhci_hcd mbcache spi_nor fsl_mc_dpio ptp i2c_mux_pca954x rtc_pcf2127 crypto
_engine pcs_lynx jbd2 usbcore rng_core authenc mtd regmap_spi i2c_mux evdev at80
3x polyval_ce polyval_generic libdes ghash_ce pps_core phylink xgmac_mdio gf128m
ul acpi_mdio ahci_qoriq dwc3 sha2_ce libahci_platform mdio_devres udc_core libah
ci sha256_arm64 of_mdio libata sha1_ce dpaa2_console roles caam fixed_phy sdhci_
of_esdhc ulpi sbsa_gwdt scsi_mod error fwnode_mdio sdhci_pltfm spi_nxp_fspi usb_
common sfp sdhci scsi_common mdio_i2c libphy i2c_imx gpio_keys qoriq_thermal qor
iq_cpufreq fixed layerscape_edac_mod drm fuse configfs ip_tables x_tables autofs
4 btrfs blake2b_generic libcrc32c crc32c_generic xor xor_neon raid6_pq zstd_comp
ress dm_crypt dm_mod dax nvme nvme_core
[ 69.807215] t10_pi crc64_rocksoft crc64 crc_t10dif crct10dif_generic crct10d
if_ce crct10dif_common aes_neon_bs aes_neon_blk aes_ce_blk aes_ce_cipher
[ 69.807252] CPU: 1 PID: 461 Comm: kworker/u32:9 Not tainted 6.1.0-0.deb11.6-a
rm64 #1 Debian 6.1.15-1~bpo11+1
[ 69.807261] Hardware name: SolidRun LX2160A Honeycomb (DT)
[ 69.807267] Workqueue: events_unbound deferred_probe_work_func
[ 69.807287] pstate: 200000c5 (nzCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 69.807295] pc : qbman_swp_acquire+0x1bc/0x1f4 [fsl_mc_dpio]
[ 69.807311] lr : dpaa2_io_service_acquire+0x78/0x1e0 [fsl_mc_dpio]
[ 69.807326] sp : ffff8000099e39d0
[ 69.807330] x29: ffff8000099e39d0 x28: 0000000000000000 x27: ffff59056ca85400
[ 69.807345] x26: ffff590546b2b400 x25: ffff59056a3679c0 x24: 0000000000000007
[ 69.807358] x23: 0000000000000000 x22: 0000000000000000 x21: ffff8000099e3a70
[ 69.807370] x20: ffff590543ec0068 x19: ffff590543ec0000 x18: 00000000fffffffc
[ 69.807382] x17: 6d2d6c73662d2d30 x16: ffffabc97d9fa140 x15: 0000000000000020
[ 69.807394] x14: ffffffffffffffff x13: ffffabc97df344c8 x12: ffffabc97ea6ebb0
[ 69.807406] x11: ffff80000aab1680 x10: 0000000000000080 x9 : ffff590543ec0030
[ 69.807418] x8 : 0000000004ffffff x7 : ffff80000aab0000 x6 : 0000000000000000
[ 69.807430] x5 : 00000000000007d0 x4 : ffff80000aab1680 x3 : 0000000000000007
[ 69.807441] x2 : ffff8000099e3a70 x1 : 0000000000000000 x0 : 0000000000000046
[ 69.807454] Call trace:
[ 69.807458] qbman_swp_acquire+0x1bc/0x1f4 [fsl_mc_dpio]
[ 69.807474] dpaa2_io_service_acquire+0x78/0x1e0 [fsl_mc_dpio]
[ 69.807489] dpaa2_eth_drain_bufs+0x54/0xf0 [fsl_dpaa2_eth]
[ 69.807508] dpaa2_eth_free_dpbp+0x24/0xac [fsl_dpaa2_eth]
[ 69.807525] dpaa2_eth_probe+0xff0/0x1604 [fsl_dpaa2_eth]
[ 69.807541] fsl_mc_driver_probe+0x2c/0x74
[ 69.807557] really_probe+0xc8/0x3e0
[ 69.807566] __driver_probe_device+0x84/0x190
[ 69.807576] driver_probe_device+0x44/0x120
[ 69.807585] __device_attach_driver+0xc4/0x160
[ 69.807594] bus_for_each_drv+0x80/0xe0
[ 69.807603] __device_attach+0xb0/0x1f0
[ 69.807612] device_initial_probe+0x1c/0x2c
[ 69.807622] bus_probe_device+0xa4/0xb0
[ 69.807630] deferred_probe_work_func+0xc0/0x114
[ 69.807639] process_one_work+0x1f0/0x470
[ 69.807649] worker_thread+0x188/0x4e0
[ 69.807658] kthread+0xe0/0xe4
[ 69.807665] ret_from_fork+0x10/0x20
[ 69.807674] ---[ end trace 0000000000000000 ]---
[ 69.809720] ------------[ cut here ]------------
[ 69.809723] WARNING: CPU: 1 PID: 461 at drivers/soc/fsl/dpio/qbman-portal.c:1
694 qbman_swp_CDAN_set+0x188/0x1b0 [fsl_mc_dpio]
[ 69.809742] Modules linked in: sr9700 lz4 lz4_compress zram dm9601 zsmalloc u
sbnet mii fsl_dpaa2_ptp nls_ascii nls_cp437 vfat fat fsl_dpaa2_eth dpaa2_caam lm
90 at24 ext4 caam_jr xhci_plat_hcd ptp_qoriq caamhash_desc ofpart crc16 caamalg_
desc xhci_hcd mbcache spi_nor fsl_mc_dpio ptp i2c_mux_pca954x rtc_pcf2127 crypto
_engine pcs_lynx jbd2 usbcore rng_core authenc mtd regmap_spi i2c_mux evdev at80
3x polyval_ce polyval_generic libdes ghash_ce pps_core phylink xgmac_mdio gf128m
ul acpi_mdio ahci_qoriq dwc3 sha2_ce libahci_platform mdio_devres udc_core libah
ci sha256_arm64 of_mdio libata sha1_ce dpaa2_console roles caam fixed_phy sdhci_
of_esdhc ulpi sbsa_gwdt scsi_mod error fwnode_mdio sdhci_pltfm spi_nxp_fspi usb_
common sfp sdhci scsi_common mdio_i2c libphy i2c_imx gpio_keys qoriq_thermal qor
iq_cpufreq fixed layerscape_edac_mod drm fuse configfs ip_tables x_tables autofs
4 btrfs blake2b_generic libcrc32c crc32c_generic xor xor_neon raid6_pq zstd_comp
ress dm_crypt dm_mod dax nvme nvme_core
[ 69.810001] t10_pi crc64_rocksoft crc64 crc_t10dif crct10dif_generic crct10d
if_ce crct10dif_common aes_neon_bs aes_neon_blk aes_ce_blk aes_ce_cipher
[ 69.810032] CPU: 1 PID: 461 Comm: kworker/u32:9 Tainted: G W
6.1.0-0.deb11.6-arm64 #1 Debian 6.1.15-1~bpo11+1
[ 69.810040] Hardware name: SolidRun LX2160A Honeycomb (DT)
[ 69.810044] Workqueue: events_unbound deferred_probe_work_func
[ 69.810055] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 69.810063] pc : qbman_swp_CDAN_set+0x188/0x1b0 [fsl_mc_dpio]
[ 69.810078] lr : dpaa2_io_service_deregister+0xfc/0x100 [fsl_mc_dpio]
But changing to a lx2160a_uefi bootloader I see:
[ 0.959049] fsl_mc_bus NXP0008:00: Adding to iommu group 0
[ 0.959574] fsl_mc_bus NXP0008:00: MC firmware version: 10.28.1
[ 0.962121] fsl_mc_dprc dprc.1: DMA mask not set
[ 0.962161] fsl_mc_dprc dprc.1: Adding to iommu group 1
[ 1.006250] fsl_mc_allocator dpbp.0: Adding to iommu group 1
[ 1.007338] fsl_mc_allocator dpmcp.35: Adding to iommu group 1
...
[ 38.145892] fsl_mc_dpio dpio.10: unknown SoC version
[ 38.146259] scsi host3: ahci
[ 38.151294] ata4: SATA max UDMA/133 mmio [mem 0x03230000-0x0323ffff] port 0x5
[ 38.151460] fsl_mc_dpio dpio.10: probed
[ 38.151872] fsl_mc_dpio dpio.9: Adding to iommu group 1
...
[ 39.441559] fsl_dpaa2_eth dpni.1: Adding to iommu group 1
[ 39.593552] fsl_dpaa2_eth dpni.1: Probed interface eth0
[ 39.594402] fsl_dpaa2_eth dpni.1 lan: renamed from eth0
...
And the SFP+ ports all work.
Hopefully that helps someone else save some time and frustration.
What I don’t understand is why most documentation seems to point me in the direction of using u-boot.