I worked through Lab 1, but it relies on a pre-built BSP and gives no explanation of how the BSP was created. I want to understand the toolchain better than that. The QSPI only installation is used to bootstrap an eMMC image via USB in Lab 2.
It seems that I can simply import the hardware definition into my Petalinux project, do a little configuration, and build. No BSP required.
This worked fine, and I installed the image and it boots fine. But I can't see the USB drive anymore.
I'm new to building Linux, and have no idea what I've missed. In Vivado, USB0 is enabled the PS. In MenuConfig, the kernel appears to have all the right options turned on for USB support (http://www.wiki.xilinx.com/Zynq+Linux+USB+Device+Driver). I don't know anything about device trees, but zynq-7000.dtsi has a section like this:
usb0: usb@e0002000 {
compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
status = "disabled"; <<<<<< This looks suspicious
clocks = <&clkc 28>;
interrupt-parent = <&intc>;
interrupts = <0 21 4>;
reg = <0xe0002000 0x1000>;
phy_type = "ulpi";
};