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:

enter image description here

As I want to boot from USB, I'm learning from CMIO's documentation:

enter image description here

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):

enter image description here

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?

1 Answer 1


It seems this is somewhat impossible, as LAN9512 needs a dedicated USB host from RPi (LAN9512 has one single USB upstream),


the Broadcom CPU that RPi uses can't provide both host and slave functionality on its single USB port (at the same time).

Now, I only have the option to replicate CMIO's solution by connecting LAN9512 directly to HSD2- and HSD2+ of the USB switcher instead a physical J14 connector.

But this also means I either have to use the USB switcher (extra component for one-time job), along with an extra USB connector, or I have to use two USB switchers with one single USB connector.

In either way, I have to use at least two extra components.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.