Hello,
I have a 7020 Microzed. I am currently building the image with Yocto with the Gen-Machine-Conf Parse-SDT workflow from AMD.
I am attempting to get the USB PHY to work. I would like to to be in peripherial mode, but I can't get it working at all.
Gen-Machine-conf gives me the standard device tree files, and I am using a custom DTSI that is included in the system-top.
Does anyone know what I'm doing wrong?
/dts-v1/;
#include "zynq-7000.dtsi"
#include "pl.dtsi"
#include "pcw.dtsi"
/ {
device_id = "7z020";
slrcount = <1>;
family = "Zynq";
speed_grade = "1";
VIPER_FPGA_PIXBUF_memory: memory@40000000 {
compatible = "xlnx,axi-bram-ctrl-4.1";
xlnx,ip-name = "axi_bram_ctrl";
device_type = "memory";
memory_type = "memory";
reg = <0x40000000 0x200000>;
};
VIPER_FPGA_REGS_memory: memory@80000000 {
compatible = "xlnx,axi-bram-ctrl-4.1";
xlnx,ip-name = "axi_bram_ctrl";
device_type = "memory";
memory_type = "memory";
reg = <0x80000000 0x80000>;
};
ps7_qspi_linear_0_memory: memory@fc000000 {
compatible = "xlnx,ps7-qspi-linear-1.00.a-memory";
xlnx,ip-name = "ps7_qspi_linear";
device_type = "memory";
memory_type = "linear_flash";
reg = <0xfc000000 0x1000000>;
};
ps7_ddr_0_memory: memory@00100000 {
compatible = "xlnx,ps7-ddr-1.00.a";
xlnx,ip-name = "ps7_ddr";
device_type = "memory";
memory_type = "memory";
reg = <0x00100000 0x3FF00000>;
};
ps7_ram_0_memory: memory@0 {
compatible = "xlnx,ps7-ram-1.00.a";
xlnx,ip-name = "ps7_ram";
device_type = "memory";
memory_type = "memory";
reg = <0x0 0x30000>;
};
ps7_ram_1_memory: memory@ffff0000 {
compatible = "xlnx,ps7-ram-1.00.a";
xlnx,ip-name = "ps7_ram";
device_type = "memory";
memory_type = "memory";
reg = <0xffff0000 0xfe00>;
};
chosen {
stdout-path = "serial0:115200n8";
};
aliases {
serial0 = &uart1;
spi0 = &qspi;
serial1 = &coresight;
spi1 = &VIPER_TRIGDAC_SPI;
spi2 = &VIPER_ADC_SPI;
ethernet0 = &gem0;
};
cpus_a9: cpus-a9@0 {
compatible = "cpus,cluster";
address-map = <0xf0000000 &amba 0xf0000000 0x10000000>,
<0x40000000 &VIPER_FPGA_PIXBUF_memory 0x40000000 0x200000>,
<0x40000000 &VIPER_FPGA_PIXBUF 0x40000000 0x200000>,
<0x80000000 &VIPER_FPGA_REGS_memory 0x80000000 0x80000>,
<0x80000000 &VIPER_FPGA_REGS 0x80000000 0x80000>,
<0x00100000 &ps7_ddr_0_memory 0x00100000 0x3FF00000>,
<0x0 &ps7_ram_0_memory 0x0 0x30000>,
<0xffff0000 &ps7_ram_1_memory 0xffff0000 0xfe00>,
<0x40200000 &axi_gpio_0 0x40200000 0x10000>,
<0x81e00000 &VIPER_ADC_SPI 0x81e00000 0x10000>,
<0x81e10000 &VIPER_TRIGDAC_SPI 0x81e10000 0x10000>,
<0x83c00000 &axi_xadc_0 0x83c00000 0x10000>,
<0xf8008000 &ps7_afi_0 0xf8008000 0x1000>,
<0xf8009000 &ps7_afi_1 0xf8009000 0x1000>,
<0xf800a000 &ps7_afi_2 0xf800a000 0x1000>,
<0xf800b000 &ps7_afi_3 0xf800b000 0x1000>,
<0xf8800000 &coresight 0xf8800000 0x100000>,
<0xf8006000 &mc 0xf8006000 0x1000>,
<0xf8007000 &devcfg 0xf8007000 0x100>,
<0xf8004000 &ps7_dma_ns 0xf8004000 0x1000>,
<0xf8003000 &dmac_s 0xf8003000 0x1000>,
<0xe000b000 &gem0 0xe000b000 0x1000>,
<0xf8f00200 &global_timer 0xf8f00200 0x100>,
<0xe000a000 &gpio0 0xe000a000 0x1000>,
<0xf8900000 &ps7_gpv_0 0xf8900000 0x100000>,
<0xf8f01000 &intc 0xf8f01000 0x1000>,
<0xe0200000 &ps7_iop_bus_config_0 0xe0200000 0x1000>,
<0xf8f02000 &L2 0xf8f02000 0x1000>,
<0xf800c000 &ps7_ocmc_0 0xf800c000 0x1000>,
<0xf8891000 &ps7_pmu_0 0xf8891000 0x1000>,
<0xe000d000 &qspi 0xe000d000 0x1000>,
<0xfc000000 &ps7_qspi_linear_0_memory 0xfc000000 0x1000000>,
<0xf8f00000 &ps7_scuc_0 0xf8f00000 0xfd>,
<0xf8f00600 &scutimer 0xf8f00600 0x20>,
<0xf8f00620 &scuwdt 0xf8f00620 0xe0>,
<0xe0100000 &sdhci0 0xe0100000 0x1000>,
<0xf8000000 &slcr 0xf8000000 0x1000>,
<0xe0001000 &uart1 0xe0001000 0x1000>,
<0xe0002000 &usb0 0xe0002000 0x1000>,
<0xf8007100 &adc 0xf8007100 0x21>;
#ranges-address-cells = <0x1>;
#ranges-size-cells = <0x1>;
};
};
#include "VM_Latest_V24p2_NHW.dtsi"
Thanks in advance!
// SPDX-License-Identifier: GPL-2.0
/*
* USB peripheral fix for Avnet MicroZed (Zynq-7000)
* Keeps baseline bootability while correcting ULPI PHY definition.
*/
/include/ "zynq-7000.dtsi"
/ {
model = "Avnet MicroZed board";
compatible = "avnet,zynq-microzed", "xlnx,zynq-microzed", "xlnx,zynq-7000";
amba: amba {
usb0: usb@e0002000 {
compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
reg = <0xe0002000 0x1000>;
interrupt-parent = <&intc>;
interrupts = <0 21 4>;
clocks = <&clkc 28>;
dr_mode = "peripheral";
usb-phy = <&usb_phy0>;
status = "okay";
};
usb_phy0: phy0 {
compatible = "ulpi-phy";
#phy-cells = <0>;
view-port = <0x170>;
drv-vbus;
};
};
aliases {
ethernet0 = &gem0;
serial0 = &uart1;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x40000000>;
};
chosen {
bootargs = "earlycon";
stdout-path = "serial0:115200n8";
};
};
&clkc {
ps-clk-frequency = <33333333>;
};
&gem0 {
status = "okay";
phy-mode = "rgmii-id";
phy-handle = <ðernet_phy>;
ethernet_phy: ethernet-phy@0 {
reg = <0>;
};
};
&sdhci0 {
status = "okay";
};
&uart1 {
status = "okay";
};