Jump to content

Recommended Posts

Posted

Hi,
just returned to start working on a FLIR Lepton camera, with Odroid C4, hooked up to SPI (faster than the C2).
WIth the official image from download page (Armbian 22.08 Jammy, kernel 5.10.144) I get the following message on console as soon as I try any access to spidev:

 

[   77.660325] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[   77.666930] Mem abort info:
[   77.670400]   ESR = 0x86000004
[   77.673801]   EC = 0x21: IABT (current EL), IL = 32 bits
[   77.677915]   SET = 0, FnV = 0
[   77.681367]   EA = 0, S1PTW = 0
[   77.684796] user pgtable: 4k pages, 48-bit VAs, pgdp=000000000f26b000
[   77.690454] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000
[   77.697196] Internal error: Oops: 86000004 [#1] PREEMPT SMP
[   77.702645] Modules linked in: spidev rfkill cpufreq_powersave cpufreq_conservative lz4hc lz4hc_compress lz4 snd_soc_hdmi_codec snd_soc_meson_axg_tdmout snd_soc_meson_axg_sound_card snd_soc_meson_g12a_tohdmitx panfrost snd_soc_meson_card_utils gpu_sched snd_soc_meson_codec_glue snd_soc_meson_axg_frddr snd_soc_meson_axg_fifo meson_gxbb_wdt meson_vdec(C) v4l2_mem2mem ir_nec_decoder videobuf2_dma_contig meson_rng dw_hdmi_i2s_audio videobuf2_memops videobuf2_v4l2 videobuf2_common meson_saradc videodev rc_odroid mc meson_ir rc_core snd_soc_meson_axg_tdm_interface snd_soc_meson_axg_tdm_formatter snd_soc_core ac97_bus snd_pcm_dmaengine snd_pcm snd_timer snd soundcore display_connector zram sch_fq_codel ramoops reed_solomon nfsd efi_pstore auth_rpcgss nfs_acl lockd grace sunrpc ip_tables x_tables autofs4 meson_gxl reset_meson_audio_arb rtc_meson_vrtc axg_audio sclk_div clk_phase dwmac_generic realtek dwmac_meson8b
[   77.810859] CPU: 2 PID: 3156 Comm: spidev_test Tainted: G         C        5.10.144-meson64 #22.08.2
[   77.819904] Hardware name: Hardkernel ODROID-C4 (DT)
[   77.824823] pstate: a0400009 (NzCv daif +PAN -UAO -TCO BTYPE=--)
[   77.830777] pc : 0x0
[   77.835509] lr : meson_spicc_pow2_determine_rate+0x2c/0x40
[   77.840340] sp : ffff800012eb3920
[   77.845116] x29: ffff800012eb3920 x28: 0000000000000000 
[   77.849906] x27: ffff000001170800 x26: 0000000000000000 
[   77.854808] x25: 0000000000000000 x24: ffff80001134cdf8 
[   77.860069] x23: 0000000000000002 x22: 0000000000000000 
[   77.865331] x21: ffff800012eb3a70 x20: ffff000000d75f00 
[   77.870594] x19: 0000000000000000 x18: 0000000000000000 
[   77.875854] x17: 0000000000000000 x16: 0000000000000000 
[   77.881115] x15: 0000aaaaaf3a3018 x14: 0000000000000000 
[   77.886376] x13: 0000000000000000 x12: 0000000000000000 
[   77.891637] x11: 0000000000000000 x10: 0000000000000054 
[   77.896898] x9 : 0000000000000001 x8 : 0000000000000001 
[   77.902159] x7 : 00000000ffffffbf x6 : 0000000000000000 
[   77.907421] x5 : 0000000000000000 x4 : ffff800012eb39c0 
[   77.912682] x3 : ffff800012eb3d30 x2 : 0000000000000000 
[   77.917943] x1 : ffff800012eb39c0 x0 : ffff00003f9c9e28 
[   77.923206] Call trace:
[   77.927258]  0x0
[   77.931291]  clk_core_determine_round_nolock.part.30+0x20/0x88
[   77.935568]  clk_core_round_rate_nolock+0x80/0x90
[   77.940226]  clk_mux_determine_rate_flags+0xdc/0x208
[   77.945145]  clk_mux_determine_rate+0x14/0x20
[   77.949456]  clk_core_determine_round_nolock.part.30+0x20/0x88
[   77.955234]  clk_core_round_rate_nolock+0x80/0x90
[   77.959889]  clk_core_set_rate_nolock+0x5c/0x1f0
[   77.964460]  clk_set_rate+0x38/0xa8
[   77.968504]  meson_spicc_transfer_one+0x88/0x300
[   77.972483]  spi_transfer_one_message+0x258/0x4c0
[   77.977139]  __spi_pump_messages+0x34c/0x570
[   77.981366]  __spi_sync+0x1e8/0x220
[   77.985297]  spi_sync+0x30/0x58
[   77.989235]  spidev_sync+0x48/0x80 [spidev]
[   77.993146]  spidev_message+0x2e0/0x400 [spidev]
[   77.997026]  spidev_ioctl+0x41c/0x848 [spidev]
[   78.001033]  __arm64_sys_ioctl+0xa8/0xe8
[   78.004914]  el0_svc_common.constprop.4+0x8c/0x180
[   78.009656]  do_el0_svc+0x24/0x90
[   78.013090]  el0_svc+0x14/0x20
[   78.016370]  el0_sync_handler+0x90/0xb8
[   78.019747]  el0_sync+0x160/0x180
[   78.023032] Code: bad PC value
[   78.026046] ---[ end trace b73c9916d0bfd2d6 ]---

 

This behaviour affects also simple programs like spidev_test from kernel archive.

 

I checked the hardkernel image (kernel 4.9) and there the problem is not existing.

Any ideas on that?

 

Thanks in advance, Michael

<

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines