Speaking of a RPi compute module, I want to design a "motherboard" which has a LAN9512 attached to RPi's USB pins while keeping the USB boot option possible.
LAN9512 is an
USB 2.0 Hub and 10/100 Ethernet Controller
meaning it does not only provides a LAN interface, but also 2 extra USB ports.
So, using RPi's single USB connection, with LAN9512 it's possible to provide Ethernet, and 2 extra USB ports to the RPi.
Compute modules (not all, but many) have onboard eMMC, which is possible to write (flash) with a CMIO board:
As I want to boot from USB, I'm learning from CMIO's documentation:
So I have to set J4
to "USB BOOT ENABLED" state, and in this case plugging a cable to CMIO's "USB slave" port, it can instruct RPi to boot from this slave USB.
These all works fine, but CMIO doesn't have LAN9512.
Moreover, CMIO also applies a USB selector (FSUSB42UMX):
So it seems RPi either gets the slave USB (USB B), or the host USB (USB A).
Now considering that I'll simply attach LAN9512 to RPi's USB (without this usb switch),
Can I expect that simply driving EMMC_DISABLE_N
low will try booting from USB? Taking into account that this USB should be one of LAN9512 USBs?