Hi,
I'm new to coreboot and to this group. As this is my first post, let me thank you folks for developing an impressive and incredibly useful product!
I recently fired up the coreboot USB stack on an x86 development board. The USB stack reported back that I have 2 EHCI host controllers on the board. Each controller, in turn, has a number of ports. Attached to at most 1 of the ports beyond each controller is a USB 2.0 hub. Each hub, in turn, has a number of ports which the coreboot USB stack enables.
My issue is this: I see the host controllers get initialized. I see the aforementioned hubs get initialized. I see the ports underneath those hubs get enabled. I do not see nor can I find any existing code that scans and attaches the ports associated with those hubs. Consequently, none of the devices (aka keyboard, USB stick, etc.) plugged into the ports beyond those hubs are scanned and attached. Put another way, it looks like the USB stack, as currently written, only scans and attaches devices at tier 0 and tier 1. Anything beyond the hub is merely enabled.
Am I wrong or missing something? How difficult would it be to continue the process of recursion to subsequent tiers?
Thanks, JP