I think you forgot the devicetree. You'll need to provide the 12 addresses, IRQ lines etc. from there.

On 12-07-18 13:10, Simon VII wrote:
Greetings!


I am facing following problem with my UARTS on a zybo board running the yocto-minimal image.


I am running on a xilinx-zybo board the yocto-minimal image created with the meta-xilinx layer. Boot files and kernel image are all copied on an SD card together with the bitstream of the following vivado design (basically 12 16550 v2.0 UARTS going out to the PMODs of the zybo).


Vivado design: 12x axi uart 16550 ip core + axi interconnect + PS reset + ZYNQ7 PS


the systems boots up, bitstream loads and the kernel as well.


In order to make the UARTs work in linux, I enable the serial drivers (not as modules) in the menuconfig GUI (bitbake linux-yocto -c menuconfig).


My problem now is that after booting into the linux on the zybo, the UARTs do not show up at all. I am quite sure that I am missing an obvious step here but I am not experienced enough/capable of figuring it out alone.


I would appreciate any help or suggestion towards the right direction. I am also attaching the boot log in case it helps.


-------------------------------------------------------------------------------------------------------------------------------------------------------------

/U-Boot 2018.01 (Jul 10 2018 - 15:26:55 +0000)

Model: Zynq ZYBO Development Board
Board: Xilinx Zynq
Silicon: v3.1
I2C:   ready
DRAM:  ECC disabled 512 MiB
MMC:   sdhci@e0100000: 0
SF: Detected s25fl128s_64k with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial@e0001000
Out:   serial@e0001000
Err:   serial@e0001000
Net:   ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
I2C EEPROM MAC address read failed

Warning: ethernet@e000b000 (eth0) using random MAC address - 7e:68:0d:b7:1e:8b
eth0: ethernet@e000b000
reading uEnv.txt
668 bytes read in 12 ms (53.7 KiB/s)
Importing environment from mmc ...
Checking if uenvcmd is set ...
Running uenvcmd ...
reading bitstream
2083852 bytes read in 129 ms (15.4 MiB/s)
   design filename = "design_1_wrapper;UserID=0XFFFFFFFF;Version=2017.2"
   part number = "7z010clg400"
   date = "2018/05/25"
   time = "15:53:10"
   bytes in bitstream = 2083740
zynq_align_dma_buffer: Align buffer at 1000070 to ffff80(swap 1)
reading uImage
5459064 bytes read in 310 ms (16.8 MiB/s)
reading zynq-zybo.dtb
8080 bytes read in 17 ms (463.9 KiB/s)
## Booting kernel from Legacy Image at 03000000 ...
    Image Name:   Linux-4.14.30-yocto-standard
    Image Type:   ARM Linux Kernel Image (uncompressed)
    Data Size:    5459000 Bytes = 5.2 MiB
    Load Address: 00008000
    Entry Point:  00008000
    Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
    Booting using the fdt blob at 0x2a00000
    Loading Kernel Image ... OK
    Loading Device Tree to 1eb22000, end 1eb26f8f ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.14.30-yocto-standard (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP PREEMPT Wed Ju8
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: Zynq ZYBO Development Board
Memory policy: Data cache writealloc
percpu: Embedded 17 pages/cpu @dfb4e000 s40012 r8192 d21428 u69632
Built 1 zonelists, mobility grouping on.  Total pages: 129920
Kernel command line: root=/dev/mmcblk0p2 rw rootwait
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 504980K/524288K available (8192K kernel code, 669K rwdata, 2332K rodata, 1024K init, 609K bss,)
Virtual kernel memory layout:
     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
       .text : 0xc0008000 - 0xc0900000   (9184 kB)
       .init : 0xc0c00000 - 0xc0d00000   (1024 kB)
       .data : 0xc0d00000 - 0xc0da75f0   ( 670 kB)
        .bss : 0xc0dae9b8 - 0xc0e46f24   ( 610 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
ftrace: allocating 29035 entries in 86 pages
Preemptible hierarchical RCU implementation.
         RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
         Tasks RCU enabled.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
slcr mapped to e0800000
L2C: platform modifies aux control register: 0x02060000 -> 0x02460000
L2C: DT/platform modifies aux control register: 0x02060000 -> 0x02460000
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x46460001
zynq_clock_init: clkc starts at e0800100
Zynq clock init
sched_clock: 64 bits at 325MHz, resolution 3ns, wraps every 4398046511103ns
clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4af477f6aa, max_idle_ns: 4407952s
Switching to timer-based delay loop, resolution 3ns
clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 551318127 ns
timer #0 at e0808000, irq=17
Console: colour dummy device 80x30
console [tty0] enabled
Calibrating delay loop (skipped), value calculated using timer frequency.. 650.00 BogoMIPS (lpj=325000)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x100000 - 0x100060
Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
smp: Brought up 1 node, 2 CPUs
SMP: Total of 2 processors activated (1300.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
random: get_random_u32 called from bucket_table_alloc+0x1d0/0x210 with crng_init=0
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 512 (order: 3, 32768 bytes)
xor: measuring software checksum speed
    arm4regs  :   975.200 MB/sec
    8regs     :   744.800 MB/sec
    32regs    :   786.800 MB/sec
xor: using function: arm4regs (975.200 MB/sec)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor menu
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
raid6: int32x1  gen()   106 MB/s
raid6: int32x1  xor()    98 MB/s
raid6: int32x2  gen()   104 MB/s
raid6: int32x2  xor()   101 MB/s
raid6: int32x4  gen()   110 MB/s
raid6: int32x4  xor()    76 MB/s
raid6: int32x8  gen()   110 MB/s
raid6: int32x8  xor()    80 MB/s
raid6: using algorithm int32x4 gen() 110 MB/s
raid6: .... xor() 76 MB/s, rmw enabled
raid6: using intx1 recovery algorithm
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
usb_phy_generic phy0: phy0 supply vcc not found, using dummy regulator
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giome...@linux.it>
PTP clock support registered
EDAC MC: Ver: 3.0.0
FPGA manager framework
fpga-region fpga-full: FPGA Region probed
clocksource: Switched to clocksource arm_global_timer
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 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.
hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
workingset: timestamp_bits=14 max_order=17 bucket_order=3
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
random: fast init done
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
io scheduler mq-deadline registered
io scheduler kyber registered
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
dma-pl330 f8003000.dmac:        DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
*Serial: 8250/16550 driver, 12 ports, IRQ sharing enabled
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 24, base_baud = 6250000) is a xuartps *
console [ttyPS0] enabled
brd: module loaded
libphy: Fixed MDIO Bus: probed
CAN device driver interface
libphy: MACB_mii_bus: probed
RTL8211E Gigabit Ethernet e000b000.ethernet-ffffffff:00: attached PHY driver [RTL8211E Gigabit Etherne) macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 25 (7e:68:0d:b7:1e:8b)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
usbcore: registered new interface driver usb-storage
chipidea-usb2 e0002000.usb: e0002000.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at e08f7000 with timeout 10s
device-mapper: ioctl: 4.37.0-ioctl (2017-09-20) initialised: dm-de...@redhat.com
EDAC MC: ECC not enabled
cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 650000 KHz
cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 666667 KHz
Xilinx Zynq CpuIdle Driver started
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
fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
oprofile: using arm/armv7-ca9
u32 classifier
     Actions configured
NET: Registered protocol family 10
Segment Routing with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20170425 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20170425)
can: broadcast manager protocol (rev 20170425 t)
can: netlink gateway (rev 20170425) max_hops=1
Key type dns_resolver registered
Registering SWP/SWPB emulation handler
Btrfs loaded, crc32c=crc32c-generic
Key type encrypted registered
mmc0: new high speed SDHC card at address 0007
mmcblk0: mmc0:0007 SD16G 14.5 GiB
console [netcon0] enabled
  mmcblk0: p1 p2
netconsole: network logging started
hctosys: unable to open rtc device (rtc0)
md: Waiting for all devices to be available before autodetect
md: If you don't use raid, use raid=noautodetect
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
EXT4-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
EXT4-fs (mmcblk0p2): recovery complete
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 1024K
INIT: version 2.88 booting
Starting udev
udevd[91]: starting version 3.2.5
udevd[92]: starting eudev-3.2.5
EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
Thu Jul 12 09:21:00 UTC 2018
INIT: Entering runlevel: 5
Configuring network interfaces... IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: no lease, forking to background
done.
Starting syslogd/klogd: done

Poky (Yocto Project Reference Distro) 2.5 zybo-zynq7 /dev/ttyPS0

zybo-zynq7 login: root
root@zybo-zynq7:~#
root@zybo-zynq7:~# dmesg | grep serial
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 24, base_baud = 6250000) is a xuartps
root@zybo-zynq7:~# /

-------------------------------------------------------------------------------------------------------------------------------------------------------------


Thank you very much

Simon






Kind regards,

Mike Looijmans
System Expert

TOPIC Products
Materiaalweg 4, NL-5681 RJ Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
E-mail: mike.looijm...@topicproducts.com
Website: www.topicproducts.com

Please consider the environment before printing this e-mail



--
_______________________________________________
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx

Reply via email to