boot partition - no
root fs - yes
Kernel image and initrd file must be on SD, unless you have u-boot with USB support enabled and the u-boot is able to read from USB drive. But root partition may be on USB drive. It may be located on any drive visible by Linux. Root fs is specified in bootargs environment variable of u-boot and may be specified also on usb drive.