Hello
I compiled the Pynq 2.7 for Arty Z7-10 (zynq 7010) and i noticed that USB host never works.
It does not recognize any device, like usb flash drive, FTDI usb-serial converter nor USB wifi dongle.
Compilation works without problem, and in Vivado project USB host is correctly enabled.
Can you please help me how to proceed in debugging this issue?
Basically “LSUSB” command returns nothing.
Using device-tree-compiler I checked complete device tree in filesystem in /sys/firmware/devicetree/base and I see that USB0 is also enabled in device tree, but it still does not work:
(I deleted non relevant devices due to forum’s post character number limit, but full output is in the attachment)
device-tree.txt (56.6 KB)
/ {
compatible = "xlnx,zynq-7000";
#address-cells = <0x01>;
#size-cells = <0x01>;
amba {
compatible = "simple-bus";
ranges;
interrupt-parent = <0x04>;
#address-cells = <0x01>;
#size-cells = <0x01>;
phandle = <0x14>;
u-boot,dm-pre-reloc;
dmac@f8003000 {
#dma-cells = <0x01>;
compatible = "arm,pl330\0arm,primecell";
clocks = <0x01 0x1b>;
clock-names = "apb_pclk";
#dma-requests = <0x04>;
interrupt-parent = <0x04>;
interrupts = <0x00 0x0d 0x04 0x00 0x0e 0x04 0x00 0x0f 0x 04 0x00 0x10 0x04 0x00 0x11 0x04 0x00 0x28 0x04 0x00 0x29 0x04 0x00 0x2a 0x04 0x 00 0x2b 0x04>;
phandle = <0x2c>;
reg = <0xf8003000 0x1000>;
#dma-channels = <0x08>;
interrupt-names = "abort\0dma0\0dma1\0dma2\0dma3\0dma4\0 dma5\0dma6\0dma7";
};
gpio@e000a000 {
compatible = "xlnx,zynq-gpio-1.0";
clocks = <0x01 0x2a>;
gpio-mask-low = <0x5600>;
gpio-controller;
gpio-mask-high = <0x00>;
#interrupt-cells = <0x02>;
interrupt-parent = <0x04>;
interrupts = <0x00 0x14 0x04>;
phandle = <0x08>;
reg = <0xe000a000 0x1000>;
#gpio-cells = <0x02>;
emio-gpio-width = <0x40>;
interrupt-controller;
};
ethernet@e000c000 {
compatible = "cdns,zynq-gem\0cdns,gem";
clocks = <0x01 0x1f 0x01 0x1f 0x01 0x0e>;
clock-names = "pclk\0hclk\0tx_clk";
status = "disabled";
#address-cells = <0x01>;
interrupts = <0x00 0x2d 0x04>;
#size-cells = <0x00>;
phandle = <0x27>;
reg = <0xe000c000 0x1000>;
};
usb@e0003000 {
compatible = "xlnx,zynq-usb-2.20a\0chipidea,usb2";
clocks = <0x01 0x1d>;
status = "disabled";
interrupt-parent = <0x04>;
interrupts = <0x00 0x2c 0x04>;
phandle = <0x33>;
reg = <0xe0003000 0x1000>;
phy_type = "ulpi";
};
memory-controller@f8006000 {
compatible = "xlnx,zynq-ddrc-a05";
phandle = <0x1b>;
reg = <0xf8006000 0x1000>;
};
timer@f8002000 {
compatible = "cdns,ttc";
clocks = <0x01 0x06>;
interrupt-parent = <0x04>;
interrupts = <0x00 0x25 0x04 0x00 0x26 0x04 0x00 0x27 0x 04>;
phandle = <0x30>;
reg = <0xf8002000 0x1000>;
};
ethernet@e000b000 {
xlnx,ptp-enet-clock = <0x6750918>;
compatible = "cdns,zynq-gem\0cdns,gem";
clocks = <0x01 0x1e 0x01 0x1e 0x01 0x0d>;
clock-names = "pclk\0hclk\0tx_clk";
status = "okay";
#address-cells = <0x01>;
interrupts = <0x00 0x16 0x04>;
#size-cells = <0x00>;
phandle = <0x26>;
reg = <0xe000b000 0x1000>;
phy-mode = "rgmii-id";
enet-reset = <0x08 0x09 0x00>;
};
usb@e0002000 {
compatible = "xlnx,zynq-usb-2.20a\0chipidea,usb2";
clocks = <0x01 0x1c>;
status = "okay";
interrupt-parent = <0x04>;
interrupts = <0x00 0x15 0x04>;
phandle = <0x32>;
reg = <0xe0002000 0x1000>;
usb-reset = <0x08 0x2e 0x00>;
phy_type = "ulpi";
};
fpga-full {
compatible = "fpga-region";
fpga-mgr = <0x03>;
ranges;
#address-cells = <0x01>;
#size-cells = <0x01>;
phandle = <0x13>;
};
__symbols__ {
ptm0_out_port = "/amba/ptm@f889c000/out-ports/port/endpoint";
intc = "/amba/interrupt-controller@f8f01000";
ocmc = "/amba/ocmc@f800c000";
nand0 = "/amba/memory-controller@e000e000/flash@e1000000";
i2c1 = "/amba/i2c@e0005000";
replicator_out_port1 = "/replicator/out-ports/port@1/endpoint";
gpio0 = "/amba/gpio@e000a000";
qspi = "/amba/spi@e000d000";
spi0 = "/amba/spi@e0006000";
slcr = "/amba/slcr@f8000000";
usb1 = "/amba/usb@e0003000";
regulator_vccpint = "/fixedregulator";
amba = "/amba";
ttc1 = "/amba/timer@f8002000";
funnel0_in_port1 = "/amba/funnel@f8804000/in-ports/port@1/endpoi nt";
fpga_full = "/fpga-full";
watchdog0 = "/amba/watchdog@f8005000";
sdhci0 = "/amba/mmc@e0100000";
adc = "/amba/adc@f8007100";
ptm1_out_port = "/amba/ptm@f889d000/out-ports/port/endpoint";
gem1 = "/amba/ethernet@e000c000";
cpu1 = "/cpus/cpu@1";
L2 = "/amba/cache-controller@f8f02000";
pinctrl0 = "/amba/slcr@f8000000/pinctrl@700";
can0 = "/amba/can@e0008000";
etb_in_port = "/amba/etb@f8801000/in-ports/port/endpoint";
clkc = "/amba/slcr@f8000000/clkc@100";
uart0 = "/amba/serial@e0000000";
flash0 = "/amba/spi@e000d000/flash@0";
replicator_in_port0 = "/replicator/in-ports/port/endpoint";
spi1 = "/amba/spi@e0007000";
i2c0 = "/amba/i2c@e0004000";
tpiu_in_port = "/amba/tpiu@f8803000/in-ports/port/endpoint";
global_timer = "/amba/timer@f8f00200";
replicator_out_port0 = "/replicator/out-ports/port@0/endpoint";
funnel_out_port = "/amba/funnel@f8804000/out-ports/port/endpoint ";
smcc = "/amba/memory-controller@e000e000";
funnel0_in_port2 = "/amba/funnel@f8804000/in-ports/port@2/endpoi nt";
usb0 = "/amba/usb@e0002000";
ttc0 = "/amba/timer@f8001000";
mc = "/amba/memory-controller@f8006000";
sdhci1 = "/amba/mmc@e0101000";
devcfg = "/amba/devcfg@f8007000";
funnel0_in_port0 = "/amba/funnel@f8804000/in-ports/port@0/endpoi nt";
nor0 = "/amba/memory-controller@e000e000/flash@e2000000";
scutimer = "/amba/timer@f8f00600";
dmac_s = "/amba/dmac@f8003000";
efuse = "/amba/efuse@f800d000";
can1 = "/amba/can@e0009000";
gem0 = "/amba/ethernet@e000b000";
uart1 = "/amba/serial@e0001000";
cpu0 = "/cpus/cpu@0";
rstc = "/amba/slcr@f8000000/rstc@200";
};
pmu@f8891000 {
compatible = "arm,cortex-a9-pmu";
interrupt-parent = <0x04>;
interrupts = <0x00 0x05 0x04 0x00 0x06 0x04>;
reg = <0xf8891000 0x1000 0xf8893000 0x1000>;
};
aliases {
spi0 = "/amba/spi@e000d000";
ethernet0 = "/amba/ethernet@e000b000";
serial0 = "/amba/serial@e0000000";
};
chosen {
stdout-path = "serial0:115200n8";
bootargs = "root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 r ootwait devtmpfs.mount=1 uio_pdrv_genirq.of_id=\"generic-uio\" clk_ignore_unused ";
pynq_board = "ArtyZ7";
};
xlnk {
compatible = "xlnx,xlnk-1.0";
clocks = <0x01 0x0f 0x01 0x10 0x01 0x11 0x01 0x12>;
clock-names = "xclk0\0xclk1\0xclk2\0xclk3";
};
memory {
device_type = "memory";
reg = <0x00 0x20000000>;
};
cpus {
#address-cells = <0x01>;
#size-cells = <0x00>;
cpu@1 {
compatible = "arm,cortex-a9";
clocks = <0x01 0x03>;
device_type = "cpu";
phandle = <0x11>;
reg = <0x01>;
};
cpu@0 {
compatible = "arm,cortex-a9";
clocks = <0x01 0x03>;
device_type = "cpu";
cpu0-supply = <0x02>;
phandle = <0x0f>;
reg = <0x00>;
operating-points = <0x9eb10 0xf4240 0x4f588 0xf4240>;
clock-latency = <0x3e8>;
};
};
replicator {
compatible = "arm,coresight-static-replicator";
clocks = <0x01 0x1b 0x01 0x2e 0x01 0x2f>;
clock-names = "apb_pclk\0dbg_trc\0dbg_apb";
in-ports {
port {
endpoint {
remote-endpoint = <0x07>;
phandle = <0x0c>;
};
};
};
out-ports {
#address-cells = <0x01>;
#size-cells = <0x00>;
port@1 {
reg = <0x01>;
endpoint {
remote-endpoint = <0x06>;
phandle = <0x0a>;
};
};
port@0 {
reg = <0x00>;
endpoint {
remote-endpoint = <0x05>;
phandle = <0x0b>;
};
};
};
};
fixedregulator {
compatible = "regulator-fixed";
regulator-boot-on;
phandle = <0x02>;
regulator-min-microvolt = <0xf4240>;
regulator-max-microvolt = <0xf4240>;
regulator-always-on;
regulator-name = "VCCPINT";
};
};
I also think that dmesg recognizes something on startup but i am not sure.
I am attaching the dmesg output to this post.
dmesg.txt (15.1 KB)
Thank you for any help with this problem