We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Observer tnjames
Registered: ‎07-08-2013

Zynq XADC not working/broken?



I am struggling to read anything from the XADC on the Zynq.  We have a new ZC702 board on which we wish to run Xilinx Linux.  At this stage I am simply trying to read the fixed XADC channels, ie, temp, Vcc_int, etc, using the hwmon interface from the command line. 


To the best of my knowledge the board jumpers are in their default positions.  Booting the board using the SD card image supplied with the ZC702 I get the following boot sequence output on the serial port. 


Xilinx First Stage Boot Loader
Release 14.5/2013.1     Apr 16 2013-16:46:09
Silicon Version 3.1
Boot mode is SD

No FMC card detected on FMC2
FSBL Status = 0x1

U-Boot 2013.01 (Apr 20 2013 - 15:40:25)

I2C:   ready
DRAM:  1 GiB
WARNING: Caches not enabled
MMC:   zynq_sdhci: 0
SF: Detected N25Q128A with page size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
Hit any key to stop autoboot:  0
Copying Linux from SD to RAM...
Device: zynq_sdhci
Manufacturer ID: 3
OEM: 5344
Name: SU08G
Tran Speed: 50000000
Rd Block Len: 512
SD version 2.0
High Capacity: Yes
Capacity: 7.4 GiB
Bus Width: 4-bit
reading uImage
2956016 bytes read in 463 ms (6.1 MiB/s)
reading devicetree.dtb
12758 bytes read in 18 ms (691.4 KiB/s)
reading uramdisk.image.gz
5289350 bytes read in 812 ms (6.2 MiB/s)
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux-3.8.0-xilinx-trd-00001-g7a
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2955952 Bytes = 2.8 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    5289286 Bytes = 5 MiB
   Load Address: 00800000
   Entry Point:  00800000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
   Booting using the fdt blob at 0x02a00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 1faf4000, end 1ffff546 ... OK
   Loading Device Tree to 1faed000, end 1faf31d5 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 3.8.0-xilinx-trd-00001-g7ae200e (radheys@xhd-saclin64re4) (gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-104) ) #1 SMP PREEMPT Sat Apr 20 15:34:04 IST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Xilinx Zynq Platform, model: Xilinx Zynq ZC702
bootconsole [earlycon0] enabled
cma: CMA: reserved 16 MiB at 2e800000
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 7 pages/cpu @c0be4000 s7616 r8192 d12864 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
Kernel command line: console=tty0 console=ttyPS0,115200 root=/dev/ram rw ip= earlyprintk mem=768M
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 768MB = 768MB total
Memory: 751768k/751768k available, 34664k reserved, 8192K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc05496e4   (5382 kB)
      .init : 0xc054a000 - 0xc0573dc0   ( 168 kB)
      .data : 0xc0574000 - 0xc05adaf0   ( 231 kB)
       .bss : 0xc05adaf0 - 0xc05d8698   ( 171 kB)
Preemptible hierarchical RCU implementation.
        Dump stacks of tasks blocking RCU-preempt GP.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
NR_IRQS:16 nr_irqs:16 16
xslcr mapped to f0002000
Zynq clock init
timer #0 at f0004000, irq=43
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
Console: colour dummy device 80x30
console [tty0] enabled
Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x3cefd0 - 0x3cf004
L310 cache controller enabled
l2x0: 8 ways, CACHE_ID 0x000000c0, AUX_CTRL 0x72360000, Cache size: 524288 B
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (2664.03 BogoMIPS).
devtmpfs: initialized
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
xgpiops e000a000.gpio: gpio at 0xe000a000 mapped to 0xf000c000
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
Switching to clocksource xttcps_clocksource
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (no cpio magic); looks like an initrd
Freeing initrd memory: 5164K
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
bounce pool size: 64 pages
jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 1494
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
dma-pl330 f8003000.ps7-dma: Loaded driver for PL330 DMAC-267056
dma-pl330 f8003000.ps7-dma:     DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
xilinx-vdma 40090000.axivdma: Probing xilinx axi vdma engine
xilinx-vdma 400b0000.axivdma: Probing xilinx axi vdma engine
xuartps e0001000.uart: failed to get alias id, errno -19
e00▒console [ttyPS0] enabled, bootconsole disabled
console [ttyPS0] enabled, bootconsole disabled
xdevcfg f8007000.devcfg: ioremap f8007000 to f0074000 with size 100
brd: module loaded
loop: module loaded
xqspips e000d000.spi: master is unqueued, this is deprecated
m25p80 spi1.0: found n25q128, expected n25q128
m25p80 spi1.0: n25q128 (16384 Kbytes)
5 ofpart partitions found on MTD device spi1.0
Creating 5 MTD partitions on "spi1.0":
0x000000000000-0x000000100000 : "qspi-fsbl-uboot"
0x000000100000-0x000000600000 : "qspi-linux"
0x000000600000-0x000000620000 : "qspi-device-tree"
0x000000620000-0x000000c00000 : "qspi-rootfs"
0x000000c00000-0x000001000000 : "qspi-bitstream"
xqspips e000d000.spi: at 0xE000D000 mapped to 0xF0076000, irq=51
e1000e: Intel(R) PRO/1000 Network Driver - 2.1.4-k
e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
libphy: XEMACPS mii bus: probed
xemacps e000b000.eth: pdev->id -1, baseaddr 0xe000b000, irq 54
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
xusbps-ehci xusbps-ehci.0: Xilinx PS USB EHCI Host Controller
xusbps-ehci xusbps-ehci.0: new USB bus registered, assigned bus number 1
xusbps-ehci xusbps-ehci.0: irq 53, io mem 0x00000000
xusbps-ehci xusbps-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
xi2cps e0004000.i2c: 100 kHz mmio e0004000 irq 57
xi2cps e0005000.i2c: 100 kHz mmio e0005000 irq 80
i2c i2c-0: Added multiplexed i2c bus 2
si570 2-005d: registered si570 with default frequency 156250000 Hz
si570 2-005d: set initial output frequency 148500000 Hz
i2c i2c-0: Added multiplexed i2c bus 3
i2c i2c-0: Added multiplexed i2c bus 4
at24 4-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 5
i2c i2c-0: Added multiplexed i2c bus 6
rtc-pcf8563 6-0051: chip found, driver version 0.4.3
rtc-pcf8563 6-0051: low voltage detected, date/time is not reliable.
rtc-pcf8563 6-0051: rtc core: registered rtc-pcf8563 as rtc0
i2c i2c-0: Added multiplexed i2c bus 7
at24 7-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 8
at24 8-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 9
pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
pca954x 1-0070: probe failed
adv7511 3-0039: adv7511 found @ 0x72 (i2c-0-mux (chan_id 1))
xadcps f8007100.xadc: enabled:  no      reference:      internal
mpcore_wdt: MPcore Watchdog Timer: 0.1. mpcore_noboot=0 mpcore_margin=60 sec (nowayout= 0)
xwdtps f8005000.swdt: Xilinx Watchdog Timer at f0094000 with timeout 10s
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Registering SWP/SWPB emulation handler
si570 2-005d: set new output frequency 148500000 Hz
xylonfb video mode: 1920x1080M-16@60
Console: switching to colour frame buffer device 240x67
xylonfb 0 registered
mmc0: new high speed SDHC card at address aaaa
xylonfb 1 registered
mmcblk0: mmc0:aaaa SU08G 7.40 GiB
 mmcblk0: p1
rtc-pcf8563 6-0051: low voltage detected, date/time is not reliable.
rtc-pcf8563 6-0051: setting system clock to 2000-08-22 18:37:58 UTC (966969478)
xvdma xvdma.0: Xilinx VDMA probe successful
xvdma xvdma.0: Devices Scanned 2
IP-Config: Complete:
     device=eth0, hwaddr=00:0a:35:00:01:22, ipaddr=, mask=, gw=
     host=ZC702, domain=, nis-domain=(none)
     bootserver=, rootserver=, rootpath=
RAMDISK: gzip image found at block 0
VFS: Mounted root (ext2 filesystem) on device 1:0.
devtmpfs: mounted
Freeing init memory: 164K
Starting rcS...
++ Mounting filesystem
++ Setting up mdev
++ Starting telnet daemon
++ Starting http daemon
++ Starting ftp daemon
++ Starting ssh daemon
++ Running user script init.sh from SD Card
Starting Zynq Base TRD Application...
To re-run this application, type the following commands:
cd /mnt/
./run_sobel.sh -qt
rcS Complete
xemacps e000b000.eth: Set clk to 124999998 Hz
xemacps e000b000.eth: link up (1000/FULL)

I notice the line "xadcps f8007100.xadc: enabled: no reference: internal", which presumably is not correct?  What would cause the XADC not to be enabled?  All the documentation I've found seems to start from the position of the XADC working properly.  Is the board kaput or are there any obvious/simple things to get this working?  (I notice the RTC init whinges as well about the backup supply being absent/missing even though I measure >3 V on the battery on the board.)


Thanks in advance



0 Kudos
4 Replies
Xilinx Employee
Xilinx Employee
Registered: ‎08-01-2012

Re: Zynq XADC not working/broken?

What are the XADC wizard and ISE/Vivado tools version?


Please mark this post as an "Accept as solution" in case if it helped to resolve your query. So that it will help to other forum users to directly refer to the answer.

Give kudos to this post in case if you think the information is useful and reply oriented.

0 Kudos
Observer tnjames
Registered: ‎07-08-2013

Re: Zynq XADC not working/broken?

Hi Kodali


I'm using Vivado 2013.4.  At this stage I'm simply trying to gain confidence in the hardware and access temperature/core voltage info and have not yet got as far as instantiating the XADC in a PL image; my understanding is that the XADC should be available using the XADC-PS interface without the PL configured?


The boot text above was as generated by the image of the SD card supplied with the ZC702 so I don't know what tools Xilinx have used; I have (perhaps naively) assumed that this image should 'just work'.


I'm not sure this really helps answer your question.



0 Kudos
Visitor darkangel01
Registered: ‎03-06-2014

Re: Zynq XADC not working/broken?

I face the same problem do someone have solution?

0 Kudos
Xilinx Employee
Xilinx Employee
Registered: ‎07-01-2010

Re: Zynq XADC not working/broken?

Can you check the petalinux project configuration using petalinux-config -c kernel  as shown below?


Path: Device driver -->Industrial I/O support --> Analog to digital converters --> Xilinx ADC driver.


If  Xilinx ADC driver is not enabled use spacebar to enable it and build the project.




Let me know if this helps.




Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos