Post Go back to editing

ADRV9009 + Altera Arria10 SoCFPGA, device adrv9009 is not found with the command "iio_info"

Hello, I am encountering a problem that device adrv9009 is not found with the command "iio_info", only ad9528 is listed. From the kernal log, I can find some error info related to adrv9009:

[    2.265635] adrv9009 spi32766.1: adrv9009_do_setup:662 Unexpected MCS sync status (0x0)

[    2.273689] adrv9009 spi32766.1: ADIHAL_resetHw at index

[    2.735561] adrv9009 spi32766.1: adrv9009_do_setup:662 Unexpected MCS sync status (0x0)

[    2.743572] adrv9009: probe of spi32766.1 failed with error -14

Please help to check this. Thanks in advance.

Here is the kernel log:

U-Boot 2014.10 (Dec 03 2018 - 15:17:02), Build: jenkins-2018_r2-hdl-projects-adrv9009,a10soc-2

CPU   : Altera SOCFPGA Arria 10 Platform
BOARD : Altera SOCFPGA Arria 10 Dev Kit
I2C:   ready
DRAM:  WARNING: Caches not enabled
SOCFPGA DWMMC: 0
FPGA: writing socfpga_arria10_socdk.rbf ...
Full Configuration Succeeded.
DDRCAL: Success
INFO  : Skip relocation as SDRAM is non secure memory
Reserving 2048 Bytes for IRQ stack at: ffe386e8
DRAM  : 1 GiB
WARNING: Caches not enabled
MMC:   *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Model: SOCFPGA Arria10 Dev Kit
Net:   dwmac.ff800000
Hit any key to stop autoboot:  0 
FPGA must be in Early Release mode to program core.
fpga - loadable FPGA image support

** Unable to read file u-boot.scr **
4596984 bytes read in 268 ms (16.4 MiB/s)
48895 bytes read in 11 ms (4.2 MiB/s)
FPGA BRIDGES: enable
Kernel image @ 0x010000 [ 0x000000 - 0x4624f8 ]
## Flattened Device Tree blob at 00000100
   Booting using the fdt blob at 0x000100
   Loading Device Tree to 01ff1000, end 01fffefe ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.0-gf209d84 (jenkins@romlxbuild1.adlk.analog.com) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11-rc1) ) #58 SMP Sun Dec 2 19:16:20 GMT 2018
[    0.000000] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt:Machine model: Altera SOCFPGA Arria 10
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] percpu: Embedded 14 pages/cpu @ef7c1000 s26892 r8192 d22260 u57344
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260608
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait
[    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: 1027404K/1048576K available (7168K kernel code, 459K rwdata, 2152K rodata, 1024K init, 161K bss, 21172K reserved, 0K cma-reserved, 262144K 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 - 0xc0800000   (8160 kB)
[    0.000000]       .init : 0xc0b00000 - 0xc0c00000   (1024 kB)
[    0.000000]       .data : 0xc0c00000 - 0xc0c72eac   ( 460 kB)
[    0.000000]        .bss : 0xc0c72eac - 0xc0c9b54c   ( 162 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310: enabling full line of zeros but not enabled in 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 0x410030c9, AUX_CTRL 0x76460001
[    0.000000] GIC: PPI13 is secure or misconfigured
[    0.000000] GIC: PPI13 is secure or misconfigured
[    0.000000] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns
[    0.000005] sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 21474836475ns
[    0.000014] Switching to timer-based delay loop, resolution 10ns
[    0.000241] Console: colour dummy device 80x30
[    0.000261] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=1000000)
[    0.000273] pid_max: default: 32768 minimum: 301
[    0.000352] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000361] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000870] CPU: Testing write buffer coherency: ok
[    0.000894] ftrace: allocating 22451 entries in 66 pages
[    0.031712] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.031869] Setting up static identity map for 0x100000 - 0x100058
[    0.033105] GIC: PPI13 is secure or misconfigured
[    0.033115] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.033186] Brought up 2 CPUs
[    0.033202] SMP: Total of 2 processors activated (400.00 BogoMIPS).
[    0.033207] CPU: All CPU(s) started in SVC mode.
[    0.033977] devtmpfs: initialized
[    0.041050] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.041248] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.041994] NET: Registered protocol family 16
[    0.042633] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.043471] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.043480] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.082302] SCSI subsystem initialized
[    0.082525] usbcore: registered new interface driver usbfs
[    0.082579] usbcore: registered new interface driver hub
[    0.082631] usbcore: registered new device driver usb
[    0.082747] soc:usbphy@0 supply vcc not found, using dummy regulator
[    0.169851] lcd-comm 0-0028: LCD driver initialized
[    0.170348] pps_core: LinuxPPS API ver. 1 registered
[    0.170358] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.170376] PTP clock support registered
[    0.170560] FPGA manager framework
[    0.170752] fpga-region soc:base_fpga_region: FPGA Region probed
[    0.171561] clocksource: Switched to clocksource timer1
[    0.196850] NET: Registered protocol family 2
[    0.197293] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.197357] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.197455] TCP: Hash tables configured (established 8192 bind 8192)
[    0.197526] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.197568] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.197717] NET: Registered protocol family 1
[    0.198044] RPC: Registered named UNIX socket transport module.
[    0.198053] RPC: Registered udp transport module.
[    0.198058] RPC: Registered tcp transport module.
[    0.198063] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.199209] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.199747] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[    0.206853] NFS: Registering the id_resolver key type
[    0.206880] Key type id_resolver registered
[    0.206886] Key type id_legacy registered
[    0.206917] ntfs: driver 2.1.32 [Flags: R/W].
[    0.207187] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.208026] bounce: pool size: 64 pages
[    0.208038] io scheduler noop registered (default)
[    0.213093] dma-pl330 ffda1000.pdma: Loaded driver for PL330 DMAC-341330
[    0.213108] dma-pl330 ffda1000.pdma: 	DBUFF-512x8bytes Num_Chans-8 Num_Peri-32 Num_Events-8
[    0.216552] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.217459] console [ttyS0] disabled
[    0.217494] ffc02100.serial1: ttyS0 at MMIO 0xffc02100 (irq = 37, base_baud = 6250000) is a 16550A
[    0.800984] console [ttyS0] enabled
[    0.806003] brd: module loaded
[    0.810235] at24 0-0051: 4096 byte 24c32 EEPROM, writable, 32 bytes/write
[    0.818437] spi_altera ff200040.spi: base f0909040, irq 40
[    0.824901] libphy: Fixed MDIO Bus: probed
[    0.829614] CAN device driver interface
[    0.833896] stmmac - user ID: 0x10, Synopsys ID: 0x37
[    0.838927]  Ring mode enabled
[    0.841990]  DMA HW capability register supported[    0.846499]  Enhanced/Alternate descriptors
[    0.850661] 	Enabled extended descriptors
[    0.854658]  RX Checksum Offload Engine supported
[    0.859339] 	COE Type 2
[    0.861779]  TX Checksum insertion supported
[    0.866027]  Enable RX Mitigation via HW Watchdog Timer
[    0.874169] libphy: stmmac: probed
[    0.877563] eth0: PHY ID 00221622 at 7 IRQ POLL (stmmac-0:07) active
[    0.884359] ffb00000.usb supply vusb_d not found, using dummy regulator
[    0.890987] ffb00000.usb supply vusb_a not found, using dummy regulator
[    0.897762] dwc2 ffb00000.usb: EPs: 16, dedicated fifos, 8064 entries in SPRAM
[    0.905248] dwc2 ffb00000.usb: DWC OTG Controller
[    0.909956] dwc2 ffb00000.usb: new USB bus registered, assigned bus number 1
[    0.917018] dwc2 ffb00000.usb: irq 38, io mem 0x00000000
[    0.922460] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.929219] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.936426] usb usb1: Product: DWC OTG Controller
[    0.941108] usb usb1: Manufacturer: Linux 4.9.0-gf209d84 dwc2_hsotg
[    0.947362] usb usb1: SerialNumber: ffb00000.usb
[    0.952462] hub 1-0:1.0: USB hub found
[    0.956224] hub 1-0:1.0: 1 port detected
[    0.960749] usbcore: registered new interface driver usb-storage
[    0.967059] mousedev: PS/2 mouse device common for all mice
[    0.975056] rtc-ds1307 0-0068: SET TIME!
[    0.986652] rtc-ds1307 0-0068: rtc core: registered ds1339 as rtc0
[    0.992883] i2c /dev entries driver
[    0.999161] Synopsys Designware Multimedia Card Interface Driver
[    1.005320] dw_mmc ff808000.dwmmc0: IDMAC supports 32-bit address mode.
[    1.011958] dw_mmc ff808000.dwmmc0: Using internal DMA controller.
[    1.018114] dw_mmc ff808000.dwmmc0: Version ID is 270a
[    1.023275] dw_mmc ff808000.dwmmc0: DW MMC controller at irq 31,32 bit host data width,1024 deep fifo
[    1.061574] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)
[    1.091589] dw_mmc ff808000.dwmmc0: 1 slots initialized
[    1.097157] ledtrig-cpu: registered to indicate activity on CPUs
[    1.103358] usbcore: registered new interface driver usbhid
[    1.108905] usbhid: USB HID core driver
[    1.113259] adrv9009 spi32766.1: adrv9009_probe : enter
[    1.119142] spi32766.0 supply vcc not found, using dummy regulator
[    1.163609] altera-a10-fpll ff245000.altera-a10-fpll: FPLL PLL calibration OK (1400 us)
[    1.173579] altera-a10-fpll ff235000.altera-a10-fpll: FPLL PLL calibration OK (1400 us)
[    1.183542] altera-a10-fpll ff225000.altera-a10-fpll: FPLL PLL calibration OK (1400 us)
[    1.193594] random: fast init done
[    1.227586] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: ATX PLL calibration OK (20 ms)
[    1.257915] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Lane 0 TX termination and VOD calibration OK (600 us)
[    1.292878] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Lane 1 TX termination and VOD calibration OK (600 us)
[    1.309845] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Lane 2 TX termination and VOD calibration OK (600 us)
[    1.332986] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Lane 3 TX termination and VOD calibration OK (600 us)
[    1.342971] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Altera ADXCVR (16.01.a) probed
[    1.356119] altera_adxcvr ff234000.axi-adrv9009-rx-xcvr: Lane 0 CDR/CMU PLL & RX offset calibration OK (600 us)
[    1.369688] altera_adxcvr ff234000.axi-adrv9009-rx-xcvr: Lane 1 CDR/CMU PLL & RX offset calibration OK (600 us)
[    1.379752] altera_adxcvr ff234000.axi-adrv9009-rx-xcvr: Altera ADXCVR (16.01.a) probed
[    1.392678] altera_adxcvr ff244000.axi-adrv9009-rx-os-xcvr: Lane 0 CDR/CMU PLL & RX offset calibration OK (600 us)
[    1.406198] altera_adxcvr ff244000.axi-adrv9009-rx-os-xcvr: Lane 1 CDR/CMU PLL & RX offset calibration OK (600 us)
[    1.416521] altera_adxcvr ff244000.axi-adrv9009-rx-os-xcvr: Altera ADXCVR (16.01.a) probed
[    1.425156] fpga_manager fpga0: SoCFPGA Arria10 FPGA Manager registered
[    1.432195] oprofile: no performance counters
[    1.436621] oprofile: using timer interrupt.
[    1.441576] NET: Registered protocol family 10
[    1.446372] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Setting link rate to 245760000 (lane rate: 9830400)
[    1.452013] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.452511] NET: Registered protocol family 17
[    1.452526] NET: Registered protocol family 15
[    1.452529] can: controller area network core (rev 20120528 abi 9)
[    1.452572] NET: Registered protocol family 29
[    1.452577] can: raw protocol (rev 20120528)
[    1.452579] can: broadcast manager protocol (rev 20161123 t)
[    1.452584] can: netlink gateway (rev 20130117) max_hops=1
[    1.452747] 8021q: 802.1Q VLAN Support v1.8
[    1.452778] Key type dns_resolver registered
[    1.452838] ThumbEE CPU extension supported.
[    1.452846] Registering SWP/SWPB emulation handler
[    1.455493] adrv9009 spi32766.1: adrv9009_probe : enter
[    1.457026] adrv9009 spi32766.1: adrv9009_probe : enter
[    1.535427] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: ATX PLL calibration OK (20 ms)
[    1.588731] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Lane 0 TX termination and VOD calibration OK (600 us)
[    1.592187] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual 50000000HZ div = 0)
[    1.592227] mmc0: new high speed SDHC card at address 59b4
[    1.592624] mmcblk0: mmc0:59b4 SMI   7.50 GiB 
[    1.602412]  mmcblk0: p1 p2 p3
[    1.669638] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Lane 1 TX termination and VOD calibration OK (600 us)
[    1.687673] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Lane 2 TX termination and VOD calibration OK (600 us)
[    1.720054] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Lane 3 TX termination and VOD calibration OK (600 us)
[    1.734099] altera_adxcvr ff244000.axi-adrv9009-rx-os-xcvr: Lane 0 CDR/CMU PLL & RX offset calibration OK (600 us)
[    1.747704] altera_adxcvr ff244000.axi-adrv9009-rx-os-xcvr: Lane 1 CDR/CMU PLL & RX offset calibration OK (600 us)
[    1.758280] adrv9009 spi32766.1: ADIHAL_resetHw at index
[    1.758298] altera_adxcvr ff224000.axi-adrv9009-tx-xcvr: Setting link rate to 122880000 (lane rate: 4915200)
[    1.759519] altera-a10-fpll ff225000.altera-a10-fpll: FPLL PLL calibration OK (1000 us)
[    1.760546] altera_adxcvr ff234000.axi-adrv9009-rx-xcvr: Setting link rate to 245760000 (lane rate: 9830400)
[    1.761571] altera_adxcvr ff244000.axi-adrv9009-rx-os-xcvr: Setting link rate to 245760000 (lane rate: 4915200)
[    1.761580] altera_adxcvr ff244000.axi-adrv9009-rx-os-xcvr: Setting link rate to 122880000 (lane rate: 4915200)
[    1.763200] altera-a10-fpll ff245000.altera-a10-fpll: FPLL PLL calibration OK (1400 us)
[    2.265635] adrv9009 spi32766.1: adrv9009_do_setup:662 Unexpected MCS sync status (0x0)
[    2.273689] adrv9009 spi32766.1: ADIHAL_resetHw at index
[    2.735561] adrv9009 spi32766.1: adrv9009_do_setup:662 Unexpected MCS sync status (0x0)
[    2.743572] adrv9009: probe of spi32766.1 failed with error -14
[    2.750067] of_cfs_init
[    2.752585] of_cfs_init: OK
[    2.755768] ttyS0 - failed to request DMA
[    2.761142] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
[    2.947056] random: crng init done
[    5.137163] EXT4-fs (mmcblk0p2): recovery complete
[    5.147563] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    5.155665] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    5.173873] devtmpfs: mounted
[    5.177621] Freeing unused kernel memory: 1024K (c0b00000 - c0c00000)
Mount failed for selinuxfs on /sys/fs/selinux:  No such file or directory
[    5.599196] init: hwclock main process (722) terminated with status 1
 * Setting up X socket directories...                                    [ OK ] 
 * STARTDISTCC is set to false in /etc/default/distcc
 * /usr/bin/distccd not starting

Last login: Thu Jan  1 00:00:16 UTC 1970 on ttyS0
Welcome to Linaro 14.04 (GNU/Linux 4.9.0-gf209d84 armv7l)

 * Documentation:  https://wiki.analog.com/ https://ez.analog.com/

0 packages can be updated.
0 updates are security updates.

New release '16.04.5 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

root@analog:~# iio_info
Library version: 0.15 (git tag: 6ecff5d)
Compiled with backends: local xml ip
IIO context created with local backend.
Backend version: 0.15 (git tag: 6ecff5d)
Backend description string: Linux analog 4.9.0-gf209d84 #58 SMP Sun Dec 2 19:16:20 GMT 2018 armv7l
IIO context has 1 attributes:
	local,kernel: 4.9.0-gf209d84
IIO context has 1 devices:
	iio:device0: ad9528-1
		4 channels found:
			altvoltage12: DEV_SYSREF (output)
			3 channel-specific attributes found:
				attr  0: phase value: 0.000000
				attr  1: frequency value: 120000
				attr  2: raw value: 1
			altvoltage1: FMC_CLK (output)
			3 channel-specific attributes found:
				attr  0: phase value: 0.000000
				attr  1: frequency value: 245760000
				attr  2: raw value: 1
			altvoltage13: DEV_CLK (output)
			3 channel-specific attributes found:
				attr  0: raw value: 1
				attr  1: frequency value: 245760000
				attr  2: phase value: 0.000000
			altvoltage3: FMC_SYSREF (output)
			3 channel-specific attributes found:
				attr  0: raw value: 1
				attr  1: frequency value: 120000
				attr  2: phase value: 0.000000
		9 device-specific attributes found:
				attr  0: sync_dividers ERROR: Input/output error (-5)
				attr  1: pll2_locked value: 1
				attr  2: pll2_feedback_clk_present value: 1
				attr  3: pll1_locked value: 0
				attr  4: pll1_reference_clk_ab_missing value: 1
				attr  5: pll1_reference_clk_a_present value: 0
				attr  6: vcxo_clk_present value: 1
				attr  7: pll1_feedback_clk_present value: 1
				attr  8: pll1_reference_clk_b_present value: 0
		1 debug attributes found:
				debug attr  0: direct_reg_access value: 0x18
root@analog:~# 

And the following are the infomations of the files that I am using:

1. 2018_R1-2018_06_26.img.xz ,  checksum 5075da2695de84c88f086e85f1a6da51 (https://wiki.analog.com/resources/tools-software/linux-software/embedded_arm_images)

2. socfpga_arria10_socdk_adrv9009_2018_r2_rc3.zip , (http://swdownloads.analog.com/cse/2018_r2_rc/socfpga_arria10_socdk_adrv9009_2018_r2_rc3.zip)

3. run the shell script: adi_update_tools.sh and adi_update_tools.sh ((https://wiki.analog.com/resources/tools-software/linux-software/embedded_arm_images#staying_up_to_date)